Tasks are executable units of management logic.
Default Image Task
The image task collects internal metadata files. These files are located
inside the current working directory and represent the current state.
{
"task": "Valvoid\\Fusion\\Tasks\\Image\\Image"
}
[
"task" => \Valvoid\Fusion\Tasks\Image\Image::class
]
Configurable Build Task
The build task collects the latest possible versions of external metadata
files. These files are located outside the current working directory and
represent the new state.
{
"task": "Valvoid\\Fusion\\Tasks\\Build\\Build",
"source": "<dependency>",
"environment": {
"php": {
"version": "<semver>"
}
}
}
[
"task" => \Valvoid\Fusion\Tasks\Build\Build::class,
"source" => "<dependency>",
"environment" => [
"php" => [
"version" => "<semver>"
]
]
]
Dependency Source
By default, the build task begins with the collected (imaged) internal root
metadata. If the optional source entry is specified with an inline source
string, the task will instead build from the provided external metadata
source.
PHP Version
By default, the build task validates external metadata against the installed
PHP version. If the optional version entry is set, the task will use that
value instead.
Configurable Replicate Task
The replicate task collects the snapped versions of external metadata
files. These files are located outside the current working directory and
represent the new replicated state.
{
"task": "Valvoid\\Fusion\\Tasks\\Replicate\\Replicate",
"source": "<dependency>",
"environment": {
"php": {
"version": "<semver>"
}
}
}
[
"task" => \Valvoid\Fusion\Tasks\Replicate\Replicate::class,
"source" => "<dependency>",
"environment" => [
"php" => [
"version" => "<semver>"
]
]
]
Dependency Source
By default, the replicate task begins with the collected (imaged) internal
root metadata. If the optional source entry is specified with an inline
source string, the task will instead replicate from the provided external
metadata source.
PHP Version
By default, the replicate task validates external metadata against the
installed PHP version. If the optional version entry is set, the task
will use that value instead.
Configurable Categorize Task
The categorize task evaluates the collected metadata to determine which
external packages must be downloaded and which internal packages can be
reused.
{
"task": "Valvoid\\Fusion\\Tasks\\Categorize\\Categorize",
"efficiently": "<flag>"
}
[
"task" => \Valvoid\Fusion\Tasks\Categorize\Categorize::class,
"efficiently" => "<flag>"
]
Efficiently Flag
By default, the categorize task recycles existing packages. If the optional
efficiently entry is set to false, the task flags all external metadata
as downloadable without recycling any existing packages.
Default Download Task
The download task pulls external packages categorized as downloadable
into the new state directory individually.
{
"task": "Valvoid\\Fusion\\Tasks\\Download\\Download"
}
[
"task" => \Valvoid\Fusion\Tasks\Download\Download::class
]
Default Copy Task
The copy task handles internal packages flagged as reusable and copies
them into the new state directory individually.
{
"task": "Valvoid\\Fusion\\Tasks\\Copy\\Copy"
}
[
"task" => \Valvoid\Fusion\Tasks\Copy\Copy::class
]
Default Extend Task
The extend task generates extensions.php files in the state directory
of each package.
{
"task": "Valvoid\\Fusion\\Tasks\\Extend\\Extend"
}
[
"task" => \Valvoid\Fusion\Tasks\Extend\Extend::class
]
Default Inflate Task
The inflate task parses loadable code and generates asap.php and
lazy.php files in the state directory of each package.
{
"task": "Valvoid\\Fusion\\Tasks\\Inflate\\Inflate"
}
[
"task" => \Valvoid\Fusion\Tasks\Inflate\Inflate::class
]
Default Register Task
The register task parses inflated files and generates a prefixes.php
file in the state directory of each package, as well as the
PrefixAutoloader.php for the root package.
{
"task": "Valvoid\\Fusion\\Tasks\\Register\\Register"
}
[
"task" => \Valvoid\Fusion\Tasks\Register\Register::class
]
Default Snap Task
The snap task generates snapshot.local.json,
snapshot.dev.json, and snapshot.json in the
state directory of the root package.
{
"task": "Valvoid\\Fusion\\Tasks\\Snap\\Snap"
}
[
"task" => \Valvoid\Fusion\Tasks\Snap\Snap::class
]
Default Stack Task
The stack task combines individual packages in the state directory into a
unified new state.
{
"task": "Valvoid\\Fusion\\Tasks\\Stack\\Stack"
}
[
"task" => \Valvoid\Fusion\Tasks\Stack\Stack::class
]
Default Shift Task
The shift task replaces the current state with the new state.
{
"task": "Valvoid\\Fusion\\Tasks\\Shift\\Shift"
}
[
"task" => \Valvoid\Fusion\Tasks\Shift\Shift::class
]