Skip to main content

The xPack properties definitions

The properties map allows to define string properties that can be used as substitution variable in other definitions.

properties can be defined on top of other properties, and the LiquidJS engine will be invoked repeatedly until all substitutions are performed.

When substitutions occur within a build configuration, the properties defined in the build configuration take precedence over properties with the same name defined at the project level.

Examples:

Project properties
{
"xpack": {
"properties": {
"buildFolderRelativePath": "{{'build' | path_join: configuration.name | to_filename | downcase}}",
}
}
}
Build configuration properties
{
"name": "@xpack-dev-tools/cmake",
"version": "3.28.6-1.1",
"xpack": {
"properties": {
"appLcName": "cmake",
},
"buildConfigurations": {
"common-docker": {
"hidden": true,
"properties": {
"containerName": "{{properties.appLcName}}-{{package.version}}-{{configuration.name}}",
"force32": ""
}
}
}
}
}