pub struct ManifestConfig {
pub artifacts: Vec<Artifact>,
pub vars: ValDefs,
pub command: String,
pub workdir: Option<String>,
pub args: Vec<LaunchFragment>,
pub envs: ValDefs,
pub cleanup: Vec<CleanupRule>,
}Expand description
The author-supplied half of the manifest.
The launch line is written as data. A bare string that begins with @ —
@forge.jvmArgs — names a launch group a plugin exposes, and is replaced
by it here; \@file is the literal @file, which java reads as an
argument file. command and workdir take the same spelling, and there a
reference has to come to exactly one string. These were functions over a
plugin map once, which made a config code where it could be data and left
a misspelt group to be found at launch.
Every field but command defaults: the author writes what they mean and
omits the rest. command is the one thing a launch cannot do without, so
its absence is an error rather than an empty string.
Fields§
§artifacts: Vec<Artifact>Hand-written literal artifacts, appended after all plugin output.
vars: ValDefsOverride vars layered on top of the merged plugin vars — the sanctioned silent override, so no collision warning is raised for it.
command: StringA literal, or a reference to a group that is one string.
workdir: Option<String>A literal or a reference, as command. None means the manifest
default, ".".
args: Vec<LaunchFragment>§envs: ValDefs§cleanup: Vec<CleanupRule>Emitted only when non-empty, matching the wire format.