defmodule Cnpja.MixProject do use Mix.Project @version "0.1.2" @source_url "https://github.com/devaction-labs/cnpja_ex" def project do [ app: :cnpja_ex, version: @version, elixir: "~> 1.17", start_permanent: Mix.env() == :prod, elixirc_paths: elixirc_paths(Mix.env()), deps: deps(), aliases: aliases(), description: "Elixir SDK for the CNPJá API — CNPJ, CEP, RFB, Simples Nacional, CCC and SUFRAMA lookups.", package: package(), name: "Cnpja", source_url: @source_url, homepage_url: "https://cnpja.com", docs: docs(), dialyzer: [plt_add_apps: [:mix]], test_coverage: [tool: ExCoveralls] ] end def cli do [ preferred_envs: [ coveralls: :test, "coveralls.detail": :test, "coveralls.post": :test, "coveralls.github": :test ] ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] def application do [extra_applications: [:logger]] end defp deps do [ {:req, "~> 0.5"}, {:jason, "~> 1.4"}, {:bypass, "~> 2.1", only: :test}, {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}, {:ex_doc, "~> 0.34", only: :dev, runtime: false}, {:excoveralls, "~> 0.18", only: :test} ] end defp aliases do [ lint: ["format --check-formatted", "credo --strict"] ] end defp package do [ licenses: ["MIT"], links: %{ "GitHub" => @source_url, "API Reference" => "https://cnpja.com/api/reference" }, maintainers: ["Alex Nogueira"] ] end defp docs do [ main: "readme", source_ref: "v#{@version}", extras: ["README.md", "CHANGELOG.md"], groups_for_modules: [ Responses: [ Cnpja.Credit, Cnpja.Zip, Cnpja.Company, Cnpja.CompanyRef, Cnpja.Office, Cnpja.OfficeSearch, Cnpja.Person, Cnpja.PersonSearch, Cnpja.Rfb, Cnpja.Simples, Cnpja.Ccc, Cnpja.Suframa ], Shared: [ Cnpja.Label, Cnpja.SizeLabel, Cnpja.Address, Cnpja.Activity, Cnpja.Phone, Cnpja.Email, Cnpja.Member, Cnpja.Agent, Cnpja.PersonRef, Cnpja.PersonMembership, Cnpja.PersonMembershipCompany, Cnpja.Country, Cnpja.StateRegistration, Cnpja.SimplesOpt, Cnpja.SimplesHistory, Cnpja.OfficeLinks, Cnpja.SuframaIncentive ], Internals: [Cnpja.Client, Cnpja.Config, Cnpja.Error] ] ] end end