30 lines
1023 B
Plaintext
30 lines
1023 B
Plaintext
|
|
# step-nickel-export.ncl — reusable ActionStep template for `nickel export`.
|
||
|
|
#
|
||
|
|
# Usage in a mode:
|
||
|
|
# let t = import "../../reflection/templates/step-nickel-export.ncl" in
|
||
|
|
# steps = [
|
||
|
|
# t { id = "export-core", file = ".ontology/core.ncl" },
|
||
|
|
# t { id = "export-state", file = ".ontology/state.ncl", import_path = "ontology/defaults" },
|
||
|
|
# ]
|
||
|
|
#
|
||
|
|
# Required params: id (String), file (String)
|
||
|
|
# Optional params: import_path, action, actor, depends_on, on_error
|
||
|
|
|
||
|
|
fun params =>
|
||
|
|
let defaults = {
|
||
|
|
import_path | default = "ontology/defaults",
|
||
|
|
action | default = "Export Nickel file and validate the result against its contracts.",
|
||
|
|
actor | default = 'Both,
|
||
|
|
depends_on | default = [],
|
||
|
|
on_error | default = { strategy = 'Stop },
|
||
|
|
} in
|
||
|
|
let p = defaults & params in
|
||
|
|
{
|
||
|
|
id = p.id,
|
||
|
|
action = p.action,
|
||
|
|
cmd = "nickel export --import-path %{p.import_path} %{p.file}",
|
||
|
|
actor = p.actor,
|
||
|
|
depends_on = p.depends_on,
|
||
|
|
on_error = p.on_error,
|
||
|
|
}
|