Dependencies Checking
Monteur has an optional built-in dependencies checking function useful for reproducible build. This page explains the function in details.
Main Purpose
The purpose is to ensure all dependent programs (internal and
external) are checked to ensure they are available before
executing the list of Commands
Execution Units (CEU).
Doing so has a number of benefits:
Any recipe users can quickly check through the dependencies list without messing with your CEU commands list. This is VERY USEFUL for organizations who executes tight security control (like restricted and vetted supply chain of software), working in an offline environment, or maintaining your published CI Job recipe.
The CEU's chain of commands can just focus on the execution jobs without worrying dependencies checking at all. This keeps documenting and maintaining your CI Job recipe a lot easier, scalable, straight to the point, and simpler algorithm.
Montuer can perform early warning mechanism before executing any of the CEU commands. This saves expensive CPU and network resources when you are operating on mileage environment like cloud server or connecting to a limited mobile network data.
library-XYZ
). Remember: Monteur is a software
manufacturing tool, not a product distribution one. Therefore,
you still need to communicate with your customers thoroughly.
Data Structure
Monteur's dependencies checking function uses a set of fields
arranged in a single "shopping" array list. The availability
generally depends on the CI job and is usually optional.
Currently, most CI Jobs offer such function for pre-checking
before commands execution.
The following data structure is the full dependencies checking
function that you may or may not need them for your recipe
construction:
|
|
-
Name
COMPULSORY.
Maily used for identification, logging, and referencing purposes.
Available since Montuer Version
v0.0.1
.
-
Condition
COMPULSORY.
The list of supported Platform ID where the commands shall be executed when Monteur is opreating on the matching operating system.
Should
all-all
is used, it will overwrite all platform ID for both specified and unspecified ones due to its alwaystrue
nature.Available since Montuer Version
v0.0.1
.
-
Type
COMPULSORY.
The dependency checker ID. See below for all available checker types.
Available since Montuer Version
v0.0.1
.
-
Command
COMPULSORY.
The terminal command to invoke the dependency.
Available since Montuer Version
v0.0.1
.
Available Checker Types
Monteur shall continuously develop and add new checker types from time to time. As of now, these are the currently available checkers for your deployment: