panbuild 0.0.11

The universal builder.
Documentation
---
name: panbuild
author: louib <code@louib.net>
about: The universal builder.
args:
    - verbose:
        short: v
        multiple: true
        help: Sets the level of verbosity
    - version:
        short: V
        long: version
        multiple: false
        required: false
        help: Show the version and exit.
subcommands:
    - status:
        about: Show the current build status for the repository.
    - ls:
        about: Lists the available build workspaces.
        args:
            - parse:
                short: p
                help: Parse the project's files to detect build environments.
    - make:
        about: Build a workspace.
    - checkout:
        about: Checkout a workspace.
        args:
            - env_name:
                multiple: false
                required: true
                help: The name of the workspace to checkout.
    - create:
        about: Create a workspace using a build manifest.
        args:
            - env_name:
                multiple: false
                required: true
                help: The name of the workspace to checkout.
            - input_file:
                multiple: false
                required: true
                help: The path of the manifest to build the workspace with.
    - install:
        about: install a package in the current workspace.
        args:
            - package_name:
                multiple: false
                required: true
                help: Name of the package or artifact to install.
            - input_file:
                multiple: false
                required: true
                help: Path of the input build manifest.
            - input_format:
                short: i
                long: input-format
                takes_value: true
                value_name: FORMAT
                # TODO make it not required after implementing manifest type detection.
                required: true
                help: Format of the manifest provided for the conversion.
    - lint:
        about: lint a manifest file.
        args:
            - input_file:
                multiple: false
                required: true
                help: Path of the manifest file.
            - input_format:
                short: i
                long: input-format
                takes_value: true
                value_name: FORMAT
                # TODO make it required false after implementing manifest type detection.
                required: true
                help: Format of the manifest provided for the conversion.
    - get-package-list:
        about: Get a comma-separated list of packages parsed from the manifest file. The default separator can be changed with the -s option.
        args:
            - input_file:
                multiple: false
                required: true
                help: Path of the input build manifest.
            - input_format:
                short: i
                long: input-format
                takes_value: true
                value_name: FORMAT
                # TODO make it required false after implementing manifest type detection.
                required: true
                help: Format of the manifest provided for the conversion.
            - separator:
                short: s
                long: sep
                takes_value: true
                value_name: SEP
                required: false
                help: Separator used when printing the package list.