def build_with_pyb(target_dir, artifact_name, artifact_filter, config_settings=None, metadata_directory=None): from pybuilder.cli import main # verbose, debug, skip all optional... if main("-v", "-X", "-o", "--reset-plugins", "clean", "publish"): raise RuntimeError("PyBuilder build failed") from pybuilder.reactor import Reactor from pybuilder.plugins.python.distutils_plugin import _get_generated_artifacts reactor = Reactor.current_instance() project = reactor.project logger = reactor.logger dist_dir, artifacts = _get_generated_artifacts(project, logger) filtered = list(filter(artifact_filter, artifacts)) if len(filtered) > 1: raise RuntimeError("Multiple project %ss found, don't know which to install: %r" % (artifact_name, filtered,)) if not filtered: raise RuntimeError("Project did not generate any %ss install: %r" % (artifact_name, artifacts,)) artifact = filtered[0] shutil.copy2(artifact, target_dir) return os.path.basename(artifact)
subprocess.check_call(["pyb", "--version"]) except FileNotFoundError as e: if py3 or py2 and e.errno == 2: install_pyb() else: raise except subprocess.CalledProcessError as e: if e.returncode == 127: install_pyb() else: sys.exit(e.returncode) try: from pybuilder.cli import main # verbose, debug, skip all optional... if main("-v", "-X", "-o", "--reset-plugins", "clean", "package"): raise RuntimeError("PyBuilder build failed") from pybuilder.reactor import Reactor reactor = Reactor.current_instance() project = reactor.project dist_dir = project.expand_path("$dir_dist") for src_file in glob.glob(os.path.join(dist_dir, "*")): file_name = os.path.basename(src_file) target_file_name = os.path.join(script_dir, file_name) if os.path.exists(target_file_name): if os.path.isdir(target_file_name): shutil.rmtree(target_file_name) else: os.remove(target_file_name)
except FileNotFoundError as e: if py3 or py2 and e.errno == 2: install_pyb() else: raise except subprocess.CalledProcessError as e: if e.returncode == 127: install_pyb() else: sys.exit(e.returncode) try: from pybuilder.cli import main # verbose, debug, skip all optional... if main('-v', '-X', '-o', '--reset-plugins', 'clean', 'package'): raise RuntimeError('PyBuilder build failed') from pybuilder.reactor import Reactor reactor = Reactor.current_instance() project = reactor.project dist_dir = project.expand_path('$dir_dist') for src_file in glob.glob(os.path.join(dist_dir, '*')): file_name = os.path.basename(src_file) target_file_name = os.path.join(script_dir, file_name) if os.path.exists(target_file_name): if os.path.isdir(target_file_name): shutil.rmtree(target_file_name) else:
project.set_property('distutils_readme_description', True) project.set_property('distutils_readme_file', 'README.rst') project.set_property('pytest_coverage_xml', True) project.set_property('pytest_coverage_break_build_threshold', 0) # Don't let coverage break the build (for now) project.set_property('distutils_console_scripts', []) project.set_property( 'distutils_classifiers', [ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'Natural Language :: English', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: Implementation :: PyPy', ], ) if __name__ == '__main__': from pybuilder.cli import main main('-CX', '--no-venvs')