diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..bd9cefc --- /dev/null +++ b/.travis.yml @@ -0,0 +1,20 @@ +language: elixir + +elixir: + - 1.7 + - 1.8 + +otp_release: + - 21.1 + +script: + - mix compile --warnings-as-errors + - mix format --check-formatted + - mix test + - mix dialyzer --halt-exit-status + +cache: + directories: + - priv/plts + +sudo: false diff --git a/mix.exs b/mix.exs index c37dc34..d56e40d 100644 --- a/mix.exs +++ b/mix.exs @@ -17,7 +17,10 @@ defmodule BcryptElixir.Mixfile do description: @description, package: package(), source_url: "https://github.com/riverrun/bcrypt_elixir", - deps: deps() + deps: deps(), + dialyzer: [ + plt_file: {:no_warn, "priv/plts/dialyzer.plt"} + ] ] end @@ -31,7 +34,8 @@ defmodule BcryptElixir.Mixfile do [ {:comeonin, "~> 5.1"}, {:elixir_make, "~> 0.4", runtime: false}, - {:ex_doc, "~> 0.19", only: :dev, runtime: false} + {:ex_doc, "~> 0.19", only: :dev, runtime: false}, + {:dialyxir, "~> 1.0.0-rc.3", only: :dev, runtime: false} ] end diff --git a/mix.lock b/mix.lock index bdeb58d..bbc20a7 100644 --- a/mix.lock +++ b/mix.lock @@ -1,7 +1,9 @@ %{ "comeonin": {:hex, :comeonin, "5.1.0", "dc7dc04cc2fd12ffee16ddf3f91e876ee1a686447be403baf6f89da38e215365", [:mix], [], "hexpm"}, + "dialyxir": {:hex, :dialyxir, "1.0.0-rc.4", "71b42f5ee1b7628f3e3a6565f4617dfb02d127a0499ab3e72750455e986df001", [:mix], [{:erlex, "~> 0.1", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm"}, "earmark": {:hex, :earmark, "1.2.5", "4d21980d5d2862a2e13ec3c49ad9ad783ffc7ca5769cf6ff891a4553fbaae761", [:mix], [], "hexpm"}, "elixir_make": {:hex, :elixir_make, "0.4.2", "332c649d08c18bc1ecc73b1befc68c647136de4f340b548844efc796405743bf", [:mix], [], "hexpm"}, + "erlex": {:hex, :erlex, "0.2.1", "cee02918660807cbba9a7229cae9b42d1c6143b768c781fa6cee1eaf03ad860b", [:mix], [], "hexpm"}, "ex_doc": {:hex, :ex_doc, "0.19.1", "519bb9c19526ca51d326c060cb1778d4a9056b190086a8c6c115828eaccea6cf", [:mix], [{:earmark, "~> 1.1", [hex: :earmark, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.7", [hex: :makeup_elixir, repo: "hexpm", optional: false]}], "hexpm"}, "makeup": {:hex, :makeup, "0.5.1", "966c5c2296da272d42f1de178c1d135e432662eca795d6dc12e5e8787514edf7", [:mix], [{:nimble_parsec, "~> 0.2.2", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm"}, "makeup_elixir": {:hex, :makeup_elixir, "0.8.0", "1204a2f5b4f181775a0e456154830524cf2207cf4f9112215c05e0b76e4eca8b", [:mix], [{:makeup, "~> 0.5.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 0.2.2", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm"},