Modules can depend on specific versions of GameBox or other modules.
Module dependencies are declared in the module’s
module.yml file. A list of dependencies can be given where each entry defines a specific module by its ID and optionally constrains the needed version to some version range. Modules can use the module ID
gamebox to depend on a specific version of GameBox.
dependencies: - id: "gamebox" versionConstrain: "~> 1.0" - id: "some-dependency" versionConstrain: "~> 1.0, >= 1.2" - id: "soft-dependency" versionConstrain: "~>1.5" softDependency: true
The unique ID of the dependency. This identifier has to be known for every dependency.
versionConstrain can be a list of several constrains that can use one of the following operators:
>- any version that is an update to the specified one
<- any version the specified one is an update to
>=- the specified version or any update of it
<=- the specified version or any previous one
" "- an equal sign (or no operator) asks for the given specific version
~>- The Twiddle Wakka
The dependency list of all modules is used to create the order of loading. If a dependency is missing, the module will usually not be loaded.
To indicate that a dependency can be used if it is installed, but is not critical for the module, one can set
true. An installed soft dependency will load before the module. If a soft dependency is not installed, the module is still loaded.