defmodule Protobuf.Mixfile do use Mix.Project @source_url "https://github.com/elixir-protobuf/protobuf" @version "0.8.0" def project do [ app: :protobuf, version: @version, elixir: "~> 1.6", build_embedded: Mix.env() == :prod, start_permanent: Mix.env() == :prod, dialyzer: [plt_add_apps: [:mix, :jason]], elixirc_paths: elixirc_paths(Mix.env()), deps: deps(), escript: escript(), description: description(), package: package(), docs: docs() ] end def application do [ extra_applications: [:logger, :eex] ] end defp elixirc_paths(:test), do: ["lib", "test/support", "test/protobuf/protoc/proto_gen"] defp elixirc_paths(_), do: ["lib"] defp deps do [ {:jason, "~> 1.2", optional: true}, {:dialyxir, "~> 1.0", only: [:dev, :test], runtime: false}, {:credo, "~> 1.5", only: [:dev, :test], runtime: false}, {:ex_doc, ">= 0.0.0", only: :dev, runtime: false}, {:stream_data, "~> 0.5.0", only: [:dev, :test]} ] end defp escript do [main_module: Protobuf.Protoc.CLI, name: "protoc-gen-elixir"] end defp description do "A pure Elixir implementation of Google Protobuf." end defp package do [ maintainers: ["Bing Han"], licenses: ["MIT"], files: ~w(mix.exs README.md lib/google lib/protobuf lib/*.ex src LICENSE priv/templates .formatter.exs), links: %{"GitHub" => @source_url} ] end defp docs do [ extras: ["README.md"], main: "readme", source_url: @source_url, source_ref: "v#{@version}" ] end end