ek9_resolve_dependencies
Answers with status after resolving one package's declared dependency tree (ek9 -Dp), which cleans all build artefacts and the local dependency cache first.
When to use it
'Re-resolve the dependencies after I changed the package block' is one call with file:'package.ek9' and confirm:true. It cleans every build artefact and the local dependency cache first, then resolves the declared tree from the packages installed locally (there is no remote repository to fetch from yet).
When not to use it
- Compiling without cleaning first - use
ek9_compile(this cleans first). - Cleaning build artefacts WITHOUT re-resolving - use
ek9_clean. - Installing THIS package's own bundle (the producer direction) - use
ek9_install_package. - Editing the dependency DECLARATION -
ek9_add_dependency/ek9_remove_dependency/ek9_exclude_transitive_dependency, then this to apply it.
Details
No mode parameter and no source mutation - the package block is unchanged. ek9 -Dp runs a -Cl clean-all FIRST, deleting every build artefact AND the local dependency cache before re-resolving; confirm is checked before any fork. Version conflicts and unresolved dependencies surface in stderr (pin the version with ek9_add_dependency on a conflict). Fixed 120s timeout -> status:timed-out.
Arguments
| Argument | Type | Required | What it is |
|---|---|---|---|
confirm | boolean | yes | Must be true: acknowledges that every build artefact and the local dependency cache are deleted before re-resolving. |
file | string | yes | The .ek9 file holding the 'defines package' block, workspace-relative (typically 'package.ek9'); an absolute path inside the workspace is accepted. |
verbosity | string: full | summary | none | Response size. The default answers with status and summary; '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.
Resolve shape
Request
{
"confirm" : true,
"file" : "<workspace-root>/package.ek9"
}
Response
{
"file" : "package.ek9",
"meta" : {
"serverMs" : "<timing>"
},
"status" : "ok",
"summary" : "dependencies resolved"
}
Refused without confirm
Request
{
"file" : "<workspace-root>/package.ek9"
}
Response
{
"error" : {
"kind" : "missing-confirmation",
"message" : "ek9 -Dp cleans every build artefact AND the local dependency cache before re-resolving; confirm must be true"
},
"meta" : {
"serverMs" : "<timing>"
},
"nextStep" : "re-call with confirm:true",
"status" : "refused",
"summary" : "refused: ek9 -Dp cleans every build artefact AND the local dependency cache before re-resolving; confirm must be true"
}
See also
- Show me in the IDE: Build: package, install, sign, deploy
- Part of the feature_branch_start workflow: Set feature-branch version + add new dependencies + resolve + verify.
- Part of the investigate_build_failure workflow: Diagnose dependency-resolution or compilation failure: diagnostics → tree → cycles → fix → re-resolve.