On This Page
Build Command
The build
command triggers the
build task group that updates/upgrades
all packages to the latest possible version or regenerates the existing
cache
and mutable
directories if there is no new version of a package.
In your terminal, set the working directory to any directory within the package you want Fusion to manage and execute the command:
php fusion build
In addition, you can append the following runtime layer extensions to the command and configure the group depending on your use case:
Source Config
Pass an inline source to build from an external metadata source, such as:
php fusion build build.source=valvoid.com/valvoid/fusion/1.0.0
Environment Config
Mock a custom environment by specifying a semantic core version, such as:
php fusion build build.environment.php.version=8.3.0
Note that the inline version 8.3.0
differ from the
schema.
This difference is due to the parsing process: the runtime layer config is
optimized for developer input, while the schema represents the logic output.
Efficiency Config
Disable the efficiency behavior of the
categorize
helper task
to rebuild internal packages:
php fusion build categorize.efficiently=false
Inflate Command
The inflate
command triggers the
inflate task group that parses the
code of each package individually and
cache it as loadable relative to its
own root directory.
In your terminal, set the working directory to any directory within the package you want Fusion to manage and execute the command:
php fusion inflate
Register Command
The register
command triggers the
register task group that bundles
inflated top-level loadable files of each package into common autoloader class
and cache it inside the non-nested (root) package structure.
In your terminal, set the working directory to any directory within the package you want Fusion to manage and execute the command:
php fusion register
Replicate Command
The replicate
command triggers the
replicate task group that clones all
snapped (once built) nested (dependency) packages.
In your terminal, set the working directory to any directory within the package you want Fusion to manage and execute the command:
php fusion replicate
In addition, you can append the runtime layer extensions to the command and configure the group depending on your use case:
Source Config
Pass an inline source to replicate from an external metadata source, such as:
php fusion replicate replicate.source=valvoid.com/valvoid/fusion/1.0.0
If no source is provided, the main task replicates from the cached snapshot files of the internal root package. These snapshot files can be manually manipulated.
Environment Config
Mock a custom environment by specifying a semantic core version, such as:
php fusion replicate replicate.environment.php.version=8.3.0
Note that the inline version 8.3.0
differ from the
schema.
This difference is due to the parsing process: the runtime layer is optimized for
developer input, while the schema represents the logic output.
Efficiency Config
Disable the efficiency behavior of the
categorize
helper task
to rebuild internal packages:
php fusion replicate categorize.efficiently=false
Dir Config
By default, the
primitive path
entry specifies the root directory of a
package, which is extracted from the current working directory.
To configure a specific directory, use the following command:
php fusion build dir.path=directory
To make the current working directory clearable
, allowing it to replace unknown
content (content not associated with a package), pass the flag as follows:
php fusion replicate \
replicate.source=valvoid.com/valvoid/fusion/1.0.0 \
dir.clearable=true
Hub Config
To configure
hub APIs with a temporary token for
use within the build
and replicate
task groups, you can set a token as shown in
the following GitLab example:
php fusion build "hub.apis.gitlab\.com.tokens=glpat-cR8Q-g..."
Note that the config contains an escaped character gitlab\.com
. This is necessary
because the runtime layer config parser splits developer input (array keys) based
on dots.
Log Config
To adjust the level of detail in the output, you can configure the
log
threshold. For example, setting the log level of the stream
serializer to
debug
will provide maximum output within the build
task group:
php fusion build log.serializers.stream.threshold=debug
Possible values for stream
and file
serializers are:
- Maximal
debug
output. verbose
- Default
info
stream level. notice
- Default
warning
file level. - Minimal
error
output.