Exemplo n.º 1
0
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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
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:
Exemplo n.º 4
0
    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')