forked from lolo859/vystem
1.9 KiB
1.9 KiB
Modules
Introduction
Modules are the backbone of VyBuild. They allow you to precisely describe the build process of your project. They are JSON files with a very strict but clear syntax.
Syntax
Modules can be executed as root module (called from command line) or submodule (called from another module). A module is made of several fields indexed in a dictionnary. Here is an example:
{
"version":"0.1",
"root_folder":"...",
"run_context":"...",
"name":"...",
"global_uuid":[
...
],
"global_vars":{
...
},
"actions":[
...
]
}
Mandatory fields
Each module has 5 mandatory fields:
version: a string indicating the version of VyBuild JSON syntax. It must be set to the current version of the VyBuild JSON syntax, which is currently0.1root_folder: a string indicating the working folder of this module, all relative paths must be accessible in this folder. You can use variables in this field (see variables docs). The path indicated in this field should always be absolute for maximum reliabilityrun_context: a string indicating in which context this module can be executed. Possible values are:both: the module can be executed as root module and submoduleroot: the module can only be executed as root modulesub: the module can only be executed as submodule
name: a string indicating the name that will be displayed in VyBuild call treeactions: a list of actions (see actions docs) to execute in the module
Optional fields for root module
Modules called from the command line can include the following optional fields :
global_uuid: a list of string giving variables names that will be filled with random UUIDs v4 as each build. They can be used as regular variablesglobal_vars: a dictionnary of string to string entries, associating variables names to their contents. For more informations, see variables docs