defmodule CtrDrbg.MixProject do use Mix.Project @version "0.1.0" @source_url "https://github.com/bjyoungblood/ctr_drbg" def project do [ app: :ctr_drbg, version: @version, elixir: "~> 1.15", start_permanent: Mix.env() == :prod, deps: deps(), aliases: [ benchmark: "run benchmarks/benchmark.exs" ], description: "A pure Elixir implementation of the CTR_DRBG PRNG algorithm.", source_url: @source_url, dialyzer: dialyzer(), package: package(), docs: docs() ] end def application do [ extra_applications: [:logger] ] end defp deps do [ {:benchee, "~> 1.0", only: [:dev, :test]}, {:dialyxir, "~> 1.3", only: [:dev, :test], runtime: false}, {:ex_doc, "~> 0.30", only: :dev, runtime: false} ] end defp package do [ licenses: ["MIT"], links: %{"GitHub" => "https://github.com/smartrent/grizzly"} ] end defp dialyzer() do ci_opts = if System.get_env("CI") do [plt_core_path: "_build/plts", plt_local_path: "_build/plts"] else [] end [ flags: [:unmatched_returns, :error_handling, :missing_return, :extra_return] ] ++ ci_opts end defp docs do [ main: "README", extras: ["README.md"], source_ref: "v#{@version}", source_url: @source_url ] end end