search hotlink icon profile hotlink icon

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.