Skip to content

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 a name key with a string value and a value 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 in src or apps folder.