citadel.nodes.language module¶
-
class
citadel.nodes.language.Language(yml, path)[source]¶ Synopsis: Sets a required language/runtime for the environment. Requirements: None Platform: Any Parameters: language (optional) – The language for the build environment. Usage
1
language: java1.8
This is a makeshift module. Theoretically we’d have the capability to build containers or virtual machine images which contain the actual environment.
Since some build environments are often used to build absolutely everything, we make an attempt at correctly configuring it by setting some environment variables before actually starting the builds themselves
Supported languages are:
- java
- npm (javascript)
- xcode (objective C/swift)
The language should be specified with a number. Examples below:
1 2 3 4
language: npm2.6 language: java1.8 language: java7 xcode: 8.1
Depending on the language choice, the heuristic will be different. For Java, the “alternatives” command will be used (incompatible with OSX and Windows). For npm, the binary will be looked for in the PATH (which command). For Xcode, the “xcode-select” command will be used with the following arguments:
1
sudo xcode-select -s /Applications/Xcode%s.app' % (wanted_version)
Warning
For Xcode, make sure the multiple versions are installed in /Applications/Xcode{version}.app. Alternatively, you can just omit the tag to use the default (whatever you have installed).