Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add support for elixir #109

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 23 additions & 2 deletions SPEC.md
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,13 @@ Alias for [`deploy[].on.ruby`](#deployonruby).
#### `dist`
**Expected format:** String.

#### `elixir`
**This setting is only relevant if [`language`](#language) is set to `elixir`**

List of `elixir` version to use.

**Expected format:** List of strings; or a single string.

#### `env`
**Expected format:** Key value mapping, or list of strings or encrypted strings.

Expand Down Expand Up @@ -407,7 +414,7 @@ List of `jdk` versions to use.
#### `language`
**This setting is required!**

Value has to be `c`, `cpp`, `clojure`, `d`, `dart`, `erlang`, `go`, `groovy`, `haskell`, `haxe`, `java`, `node_js`, `objective-c`, `ruby` (default), `rust`, `python`, `perl`, `php`, `scala`, `android`, `crystal`, `csharp`, `smalltalk` or `generic`; or one of the known aliases: `dartlang` for `dart`, `jvm` for `java`, `javascript` for `node_js`, `node` for `node_js`, `nodejs` for `node_js`, `golang` for `go`, `objective_c` for `objective-c`, `obj_c` for `objective-c`, `objc` for `objective-c`, `c++` for `cpp`, `node.js` for `node_js`, `obj-c` for `objective-c`, `bash` for `generic`, `sh` for `generic` or `shell` for `generic`. Setting is not case sensitive.
Value has to be `c`, `cpp`, `clojure`, `d`, `dart`, `elixir`, `erlang`, `go`, `groovy`, `haskell`, `haxe`, `java`, `node_js`, `objective-c`, `ruby` (default), `rust`, `python`, `perl`, `php`, `scala`, `android`, `crystal`, `csharp`, `smalltalk` or `generic`; or one of the known aliases: `dartlang` for `dart`, `jvm` for `java`, `javascript` for `node_js`, `node` for `node_js`, `nodejs` for `node_js`, `golang` for `go`, `objective_c` for `objective-c`, `obj_c` for `objective-c`, `objc` for `objective-c`, `c++` for `cpp`, `node.js` for `node_js`, `obj-c` for `objective-c`, `bash` for `generic`, `sh` for `generic` or `shell` for `generic`. Setting is not case sensitive.

**Expected format:** String.

Expand Down Expand Up @@ -455,6 +462,13 @@ Value has to be `gcc` (default) or `clang`; or one of the known aliases: `g++` f

**Expected format:** String.

#### `matrix.exclude[].elixir`
**This setting is only relevant if [`language`](#language) is set to `elixir`**

`elixir` version to use.

**Expected format:** String.

#### `matrix.allow_failures[].env`
**Expected format:** String or encrypted string.

Expand Down Expand Up @@ -770,6 +784,13 @@ Value has to be `gcc` (default) or `clang`; or one of the known aliases: `g++` f

**Expected format:** String.

#### `matrix.include[].elixir`
**This setting is only relevant if [`language`](#language) is set to `elixir`**

`elixir` version to use.

**Expected format:** String.

#### `matrix.include[].env`
**Expected format:** String or encrypted string.

Expand Down Expand Up @@ -1231,7 +1252,7 @@ Value has to be `linux` (default) or `osx`; or one of the known aliases: `ubuntu
Alias for [`otp_release`](#otp_release).

#### `otp_release`
**This setting is only relevant if [`language`](#language) is set to `erlang`.**
**This setting is only relevant if [`language`](#language) is set to `erlang` or `elixir`.**

List of `otp_release` versions to use.

Expand Down
2 changes: 1 addition & 1 deletion lib/travis/yaml/matrix.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
module Travis::Yaml
class Matrix < DelegateClass(Array)
EXPAND_KEYS = [
:compiler, :crystal, :d, :dart, :gemfile, :ghc, :go, :haxe, :jdk, :lein,
:compiler, :crystal, :d, :dart, :elixir, :gemfile, :ghc, :go, :haxe, :jdk, :lein,
:node_js, :otp_release, :perl, :php, :python, :ruby, :scala, :xcode_scheme,
:xcode_sdk, :os , :smalltalk
]
Expand Down
4 changes: 2 additions & 2 deletions lib/travis/yaml/nodes/language.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ class Language < FixedValue
ignore_case
default :ruby

value :c, :cpp, :clojure, :d, :dart, :erlang, :go, :groovy, :haskell, :haxe, :java,
:node_js, :"objective-c", :ruby, :rust, :python, :perl, :php, :scala,
value :c, :cpp, :clojure, :d, :dart, :elixir, :erlang, :go, :groovy, :haskell, :haxe,
:java, :node_js, :"objective-c", :ruby, :rust, :python, :perl, :php, :scala,
:android, :crystal, :csharp, :smalltalk
value dartlang: :dart, jvm: :java, javascript: :node_js, node: :node_js,
nodejs: :node_js, golang: :go, objective_c: :"objective-c",
Expand Down
3 changes: 2 additions & 1 deletion lib/travis/yaml/nodes/language_specific.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ module LanguageSpecific
compiler: %w[c cpp],
lein: %w[clojure],
dart: %w[dart],
otp_release: %w[erlang],
elixir: %w[elixir],
otp_release: %w[elixir erlang],
gobuild_args: %w[go],
go: %w[go],
jdk: %w[clojure groovy java ruby scala android],
Expand Down
2 changes: 1 addition & 1 deletion lib/travis/yaml/nodes/matrix.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ class Matrix < Mapping
class Matcher < Mapping
include LanguageSpecific

map :ruby, :jdk, :lein, :otp_release, :go, :ghc, :haxe, :node_js, :xcode_sdk,
map :ruby, :jdk, :lein, :elixir, :otp_release, :go, :ghc, :haxe, :node_js, :xcode_sdk,
:xcode_scheme, :perl, :php, :python, :gemfile, :dart, :d, :crystal, :smalltalk, to: Version
map :rvm, to: :ruby
map :otp, to: :otp_release
Expand Down
2 changes: 1 addition & 1 deletion lib/travis/yaml/nodes/root.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class Root < Mapping
map :sudo, to: Scalar[:bool], required: false
map :bundler_args, to: BundlerArgs
map :deploy, :ruby, :os, :compiler, :git, :jdk, :virtualenv, :matrix, :env, :notifications, :branches, :cache, :addons, :android
map :lein, :otp_release, :go, :ghc, :haxe, :xcode_sdk, :xcode_scheme, :perl, :php, :python, :services, :gemfile,
map :lein, :elixir, :otp_release, :go, :ghc, :haxe, :xcode_sdk, :xcode_scheme, :perl, :php, :python, :services, :gemfile,
:dart, :scala, :d, :crystal, :smalltalk, to: VersionList
map :podfile, to: Version
map :node_js, to: VersionList[/^((iojs)|(iojs\-v\d+\.\d+(\.\d+)?)|(\d+(\.\d+(\.\d+)?)?)|stable|node)$/]
Expand Down