defmodule OT.MixProject do use Mix.Project @version "0.2.1" @github_url "https://github.com/codesandbox/ot_ex" def project do [ app: :ot_ex, version: @version, description: description(), package: package(), elixir: "~> 1.4", build_embedded: Mix.env() == :prod, start_permanent: Mix.env() == :prod, deps: deps(), aliases: aliases(), dialyzer: [flags: ~w(-Werror_handling -Wrace_conditions -Wunderspecs -Wunmatched_returns)], # Docs name: "OT", homepage_url: @github_url, source_url: @github_url, docs: docs(), rustler_crates: [rust_ot: []] ] end defp aliases do [lint: ["credo", "dialyzer --halt-exit-status"]] end defp deps do [ {:benchee, "~> 1.0", only: [:dev, :test]}, {:credo, "~> 1.6", only: [:dev, :test]}, {:dialyxir, "~> 1.1", only: :dev, runtime: false}, {:ex_doc, "~> 0.29", only: :dev, runtime: false}, {:jason, "~> 1.0"}, {:junit_formatter, "~> 3.0", only: :test}, {:mix_test_watch, "~> 1.0", only: [:dev, :test]}, {:rustler, "~> 0.26.0", optional: true}, {:rustler_precompiled, "~> 0.5"} ] end defp description do """ Libraries for operational transformations, via a Rust NIF. """ end defp docs do [ extras: [ "README.md": [filename: "README.md", title: "OT"], LICENSE: [filename: "LICENSE", title: "License"] ], main: "README.md", source_ref: "v#{@version}" ] end defp package do [ files: [ "lib", "native/rust_ot/.cargo", "native/rust_ot/src", "native/rust_ot/Cargo.lock", "native/rust_ot/Cargo.toml", "native/rust_ot/Cross.toml", "native/rust_ot/README.md", "checksum-*.exs", "CHANGELOG.md", "LICENSE", "mix.exs", "README.md" ], maintainers: ["AJ Foster "], name: :ot_ex_rust, licenses: ["ISC"], links: %{"GitHub" => @github_url} ] end end