Skip to content

Instantly share code, notes, and snippets.

@miebach
Last active December 18, 2015 09:53
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save miebach/9752025 to your computer and use it in GitHub Desktop.
Save miebach/9752025 to your computer and use it in GitHub Desktop.
Which build tasks are available in pybuilder?

Which build tasks are available in pybuilder?


find Lib/site-packages/pybuilder/ -name "*py" -exec grep -B1 -A3 "@task" {} \

@task
@description("Execute analysis plugins.")
@depends("run_unit_tests")
def analyze():

@task
def package(project, logger):
    globs = project.get_mandatory_property("copy_resources_glob")
    if not globs:

@task
@description("Cleans the generated output.")
def clean(project, logger):
    target_directory = project.expand_path("$dir_target")
--

@task
@description("Prepares the project for building.")
def prepare(project, logger):
    target_directory = project.expand_path("$dir_target")
--

@task
@depends(prepare)
@description("Compiles source files that need compilation.")
def compile_sources():
--

@task
@depends(compile_sources)
@description("Runs all unit tests.")
def run_unit_tests():
--

@task
@depends(run_unit_tests)
@description("Packages the application.")
def package():
--

@task
@depends(package)
@description("Runs integration tests on the packaged application.")
def run_integration_tests():
--

@task
@depends(run_integration_tests)
@description("Verifies the project and possibly integration tests.")
def verify():
--

@task
@depends(verify)
@description("Publishes the project.")
def publish():

@task
def run_unit_tests(project, logger):
    run_command('run_unit_tests', project, logger)


@task
def run_integration_tests(project, logger):
    run_command('run_integration_tests', project, logger)


@task
def analyze(project, logger):
    run_command('analyze', project, logger)


@task
def package(project, logger):
    run_command('package', project, logger)


@task
def publish(project, logger):
    run_command('publish', project, logger)


@task
@description("Package a python application.")
def package(project, logger):
    init_dist_target(project, logger)

@task
def django_run_server(project, logger):
    django_module_name = project.get_mandatory_property("django_module")


@task
@depends("prepare")
def analyze(project, logger):
    """ Applies the flake8 script to the sources of the given project. """

@task
@description("Installs all (both runtime and build) dependencies specified in the build descriptor")
def install_dependencies(logger, project):
    logger.info("Installing all dependencies")
--

@task
@description("Installs all build dependencies specified in the build descriptor")
def install_build_dependencies(logger, project):
    logger.info("Installing build dependencies")
--

@task
@description("Installs all runtime dependencies specified in the build descriptor")
def install_runtime_dependencies(logger, project):
    logger.info("Installing runtime dependencies")
--

@task
@description("Displays all dependencies the project requires")
def list_dependencies(project):
    print("\n".join(map(lambda d: "{0}".format(as_pip_argument(d)), project.build_dependencies + project.dependencies)))

@task
@description("Runs integration tests based on Python's unittest module")
def run_integration_tests(project, logger):
    if not project.get_property("integrationtest_parallel"):

@task
def analyze(project, logger):
    logger.info("Executing pep8 on project sources")
    _, report_file = execute_tool_on_source_files(project, "pep8", ["pep8"])

@task
@description("Generates PyCharm development files")
def pycharm_generate(project, logger):
    logger.info("Generating PyCharm project files.")

@task("analyze")
def execute_pychecker(project, logger):
    command_line = build_command_line(project)
    logger.info("Executing pychecker on project sources: %s" % (' '.join(command_line)))

@task
@description("Generates eclipse-pydev development files")
def pydev_generate(project, logger):
    logger.info("Generating Eclipse/ Pydev project files.")

@task
@description("Runs unit tests written using the pyfix test framework")
def run_unit_tests(project, logger):
    import pybuilder.plugins.python.pyfix_plugin_impl

@task("analyze")
def execute_pylint(project, logger):
    logger.info("Executing pylint on project sources")


@task("analyze")
def execute_pymetrics(project, logger):
    logger.info("Executing pymetrics on project sources")
    source_dir = project.expand_path("$dir_source_main_python")

@task
@description('Start monitoring tests.')
def pytddmon(project, logger):
    import os

@task
@description("Runs unit tests based on Python's unittest module")
def run_unit_tests(project, logger):
    test_dir = _register_test_and_source_path_and_return_test_dir(project, sys.path)

@task
@depends("prepare")
@description("Generates manpages using ronn.")
def generate_manpages(project, logger):

@task
@description("Bundles a source distribution for shipping.")
def build_source_distribution(project, logger):
    source_distribution_directory = project.expand_path("$dir_source_dist")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment