Skip to content

Supported Tools

Sam Gleske edited this page Oct 5, 2024 · 5 revisions

Supported Tools

The source of truth for supported tools comes from the toolchains file.

Under the subkey toolchains you'll find a list of languages and the order in which the toolchains are loaded.

For example, Python (in toolchains "python": ["env", "python"]) will first load the env toolchain and then load the python toolchain. If a user doesn't specify the python key in their .jervis.yml then it will take the default_ivalue as the default value for python. Take the following .jervis.yml

language: "python"

The default_ivalue is 2.7 so it will generate the python toolchain as if the user had put:

language: "python"
python: "2.7"

To learn more about the inner workings of the toolchains file see the Specification for toolchains file. To learn more about how toolchains relate to the rest of the build see the Build Overview (toolchains get loaded before your build starts).

Additional toolchains

Sometimes, a defined language does not consist of a full set of toolchains. By including a toolchain key in the .jervis.yml then the toolchain will be appended to the list of known toolchains for that given language. For example, let's say you have ruby project that also uses Node.js. You can specify additional toolchains as a dependency for your project.

language: ruby
additional_toolchains:
  - node_js

When using the additional_toolchains key the order in which you organize the list will be the order in which the toolchains are created. Only toolchains which don't currently exist will be added.

Another way is to simply list the version of that toolchain you desire.

language: ruby
node_js: 0.10