sysand build#

Build a KerML Project Archive (KPAR). If executed in a workspace outside of a project, builds all projects in the workspace.

Usage#

sysand build [OPTIONS] [PATH]

Description#

Creates a KPAR file from the current project.

Current project is determined as in sysand print-root and if none is found, defaults to current directory.

If a README.md file exist at the project root, it is included in the .kpar archive.

If a CHANGELOG.md file exist at the project root, it is included in the .kpar archive.

If the project’s license field in .project.json is a valid SPDX License Expression, Sysand will look for matching files under the LICENSES/ directory at the project root and include them in the .kpar archive. Filenames follow REUSE conventions: a license file is expected at LICENSES/<id>.txt for each license identifier in the expression, including each WITH exception identifier (e.g. LicenseRef-MyCustomLICENSES/LicenseRef-MyCustom.txt; GPL-2.0-only WITH Classpath-exception-2.0 expects both LICENSES/GPL-2.0-only.txt and LICENSES/Classpath-exception-2.0.txt). Missing files are reported as a warning; the build still succeeds.

Arguments#

  • [PATH]: Path for the finished KPAR or KPARs. When building a workspace, it is a path to the folder to write the KPARs to (default: <current-workspace>/output). When building a single project, it is a path to the KPAR file to write (default <current-workspace>/output/<project name>-<version>.kpar or <current-project>/output/<project name>-<version>.kpar depending on whether the current project belongs to a workspace or not).

Options#

  • -c, --compression: Method to compress the files in the KPAR. Possible values:

    • stored: Store the files as is

    • deflated: Compress the files using Deflate

    [default: deflated]

  • -a, --allow-path-usage Allow usages of local paths (file://). Warning: using this makes the project not portable between different computers, as file:// URL always contains an absolute path. For multiple related projects, consider using a workspace instead

  • -u, --update-meta: Update project metadata before building. This includes updating project symbol index and adding/updating source file checksums.

Global options#

  • -v, --verbose: Use verbose output

  • -q, --quiet: Do not output log messages

  • --no-config: Disable discovery of configuration files

  • --config-file <CONFIG_FILE>: Give path to ‘sysand.toml’ to use for configuration

  • -h, --help: Print help