defmodule Forge.MixProject do use Mix.Project @version File.cwd!() |> Path.join("version") |> File.read!() |> String.trim() @elixir_version File.cwd!() |> Path.join(".elixir_version") |> File.read!() |> String.trim() @otp_version File.cwd!() |> Path.join(".otp_version") |> File.read!() |> String.trim() def get_version, do: @version def get_elixir_version, do: @elixir_version def get_otp_version, do: @otp_version def project do [ app: :forge, version: @version, elixir: @elixir_version, description: description(), package: package(), elixirc_paths: elixirc_paths(Mix.env()), compilers: Mix.compilers(), start_permanent: Mix.env() == :prod, deps: deps(), # Docs name: "Forge", source_url: "https://github.com/arcblock/forge", homepage_url: "https://github.com/arcblock/forge", docs: [ main: "Forge", extras: ["README.md"] ] ] end # Run "mix help compile.app" to learn about applications. def application do [ extra_applications: [:logger] ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(:dev), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] # Run "mix help deps" to learn about dependencies. defp deps do [ # Normal dependencies {:aes256, "~> 0.5"}, {:ex_abci, "~> 0.5"}, # {:ex_abci, path: "../ex_abci"}, {:httpoison, "~> 1.0"}, {:jason, "~> 1.1.0"}, {:keccakf1600, "~> 2.0", hex: :keccakf1600_orig}, {:libsecp256k1, "~> 0.1.3"}, {:merkle_patricia_tree, "~> 0.2.7"}, {:protobuf, "~> 0.5.3"}, # dev & test {:credo, "~> 1.0.0", only: [:dev, :test]}, {:dialyxir, "~> 0.5", only: [:dev], runtime: false}, {:ex_doc, "~> 0.19.0", only: [:dev, :test], runtime: false}, {:pre_commit_hook, "~> 1.2", only: [:dev, :test], runtime: false} ] end defp description do """ Your awesome library. """ end defp package do [ files: [ "config", "lib", "mix.exs", "README*", "version", ".elixir_version", ".otp_version" ], licenses: ["Apache 2.0"], maintainers: ["tyr.chen@gmail.com"], links: %{ "GitHub" => "https://github.com/arcblock/forge", "Docs" => "https://hexdocs.pm/forge" } ] end end