defmodule ExAws.SNS.Mixfile do use Mix.Project @version "2.2.0" @service "sns" @url "https://github.com/ex-aws/ex_aws_#{@service}" @name __MODULE__ |> Module.split() |> Enum.take(2) |> Enum.join(".") def project do [ app: :ex_aws_sns, name: @name, version: @version, elixir: "~> 1.5", elixirc_paths: elixirc_paths(Mix.env()), start_permanent: Mix.env() == :prod, deps: deps(), package: package(), dialyzer: [ plt_add_apps: [:mix, :hackney, :configparser_ex, :jsx] ], docs: docs() ] end defp package do [ description: "#{@name} service package", files: ["lib", "config", "mix.exs", "README*"], maintainers: ["Ben Wilson"], licenses: ["MIT"], links: %{github: @url} ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] def application do [ extra_applications: [:logger], mod: {ExAws.SNS.Application, []} ] end defp deps do [ {:dialyxir, "~> 1.0", only: [:dev, :test], runtime: false}, {:ex_doc, ">= 0.0.0", only: :dev, runtime: false}, {:hackney, ">= 0.0.0", only: [:dev, :test]}, {:sweet_xml, ">= 0.0.0", only: [:dev, :test]}, {:poison, ">= 0.0.0", only: [:dev, :test]}, {:configparser_ex, ">= 0.0.0", only: [:dev, :test]}, ex_aws() ] end defp ex_aws() do case System.get_env("AWS") do "LOCAL" -> {:ex_aws, path: "../ex_aws"} _ -> {:ex_aws, "~> 2.0"} end end defp docs do [ extras: [ "CHANGELOG.md", "CONTRIBUTING.md", "README.md" ], main: "readme", source_url: @url, source_ref: "v#{@version}", formatters: ["html"] ] end end