ek9_package

Answers with bundlePath and checksumPath after assembling the publishable SOURCE bundle (.ek9 files + manifest + capabilities, not bytecode) of one package.

Category: Execution · Compare: mvn package / cargo build --release / npm pack

When to use it

'Build the source bundle for this package' is one call with file:'package.ek9' (the file holding the 'defines package' block). The producer step before ek9_deploy_package or ek9_install_package.

When not to use it

Details

Packaging gates on quality: a full compile, every @Test and the 80% coverage threshold must pass before the sources are zipped into <project>/.ek9/. Failures are named by stage: compile-failed (exit 8), tests-failed (11), coverage-low (12), bad-arguments (2, e.g. no 'defines package' block), timed-out after 120s. bundlePath and checksumPath are reported only when the files exist on disk after the run. The bundle is SOURCE: the consumer's compiler recompiles at install time and re-enforces the declared capabilities.

Arguments

ArgumentTypeRequiredWhat it is
filestringyesThe .ek9 file holding the 'defines package' block, workspace-relative (typically 'package.ek9'); an absolute path inside the workspace is accepted.
verbositystring: full | summary | noneResponse size. The default answers with status, summary, bundlePath and checksumPath; 'full' adds the CLI's stdout, argv, exitCode, elapsedMs and timedOut.

Recorded calls

Real calls, recorded against small projects and checked on every build - a changed answer fails it.

Package shape

Request

{
  "file" : "<workspace-root>/package.ek9"
}

Response

{
  "bundlePath" : ".ek9/com.example.pkg-1.0.0-0.zip",
  "checksumPath" : ".ek9/com.example.pkg-1.0.0-0.zip.sha256",
  "file" : "package.ek9",
  "meta" : {
    "serverMs" : "<timing>"
  },
  "status" : "ok",
  "summary" : "bundle written: com.example.pkg-1.0.0-0.zip"
}

See also