sysand build#
Build a KerML Project Archive (KPAR). If executed in a workspace outside of a project, builds all projects in the workspace. See Workspaces for workspace file format and build rules.
Usage#
sysand build [OPTIONS] [PATH]
Description#
Creates a KPAR file from the current project.
Current project is determined as in sysand print-root. If no
project is found, the command falls back to the enclosing workspace and builds
all projects in it; if neither a project nor a workspace is found, it errors.
Building a project with file:// usages fails unless --allow-path-usage is
passed.
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-MyCustom →
LICENSES/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>.kparor<current-project>/output/<project name>-<version>.kpardepending on whether the current project belongs to a workspace or not).
Options#
-c,--compression <COMPRESSION>: Method to compress the files in the KPAR. Possible values:stored: Store the files as isdeflated: 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, asfile://URL always contains an absolute path. For multiple related projects, consider using a workspace instead-u,--update-meta: Note: this is now the default and kept only for compatibility. Update project metadata before building. This includes updating project symbol index and adding/updating source file checksums--keep-index: Don’t update exported symbols index in the built KPAR metadata. Conflicts with--update-meta
Global options#
-v,--verbose: Use verbose output-q,--quiet: Do not output log messages--no-config: Disable discovery of configuration files [env:SYSAND_NO_CONFIG]--config-file <CONFIG_FILE>: Give path tosysand.tomlto use for configuration [env:SYSAND_CONFIG_FILE]-h,--help: Print help