Configuration file for the CI/CD
The SAFE Desktop App should generate a good default configuration for SAFE CI/CD, but you can also configure it manually. Desktop setup
The configuration file should be named config.json
and should be placed in the .safe
folder.
The configuration file should be a JSON object with the following keys:
output
: Currently only"stdio"
is supported, more options may be added in next releases.project
: A JSON object, then keys will be described in the next section.
Project configuration
Example configuration for a project:
{
"name": "my_project",
"type": "erlang",
"appbases": ["apps"],
"includes": ["include"],
"excludes": ["apps/my_app/priv"],
"extra_paths": ["extra"],
"macros": [
{
"name": "MY_MACRO",
"value": "1"
}
],
"app_dir": "apps",
}
name
: The name of the project as string.type
: The type of the project, currently only"erlang"
is supported.appbases
: A list of strings, each string is a path to a folder where Erlang applications are located.includes
: A list of strings, each string is a path to a folder where headers are located.excludes
: A list of strings, where each string represents the path to a file or folder that can be safely excluded from the analysis.extra_paths
: A list of strings, each string is a path to a folder where additional Erlang files are located, which should be analyzed.macros
: A list of JSON objects. Each object has aname
key with a string value and avalue
key with a string value. Here the compile time macros should be defined.app_dir
: A string, the path to the folder where the Erlang applications are located. This can be usefull when the applications are not located insrc
orapps
folder.