defmodule ApiBrasil.MixProject do use Mix.Project @version "0.0.1" @source_url "https://github.com/APIBrasil/apigratis-sdk-elixir" def project do [ app: :apibrasil, version: @version, elixir: "~> 1.14", elixirc_paths: elixirc_paths(Mix.env()), start_permanent: Mix.env() == :prod, deps: deps(), description: description(), package: package(), docs: docs(), name: "APIBrasil", source_url: @source_url, homepage_url: "https://apibrasil.com.br", dialyzer: [plt_add_apps: [:inets, :ssl, :public_key]], test_coverage: [summary: [threshold: 0]] ] end def application do [ extra_applications: [:logger, :inets, :ssl, :public_key] ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] defp deps do [ # Nenhuma dependência de runtime obrigatória: o transporte padrão usa o # `:httpc` (Erlang/OTP) e o JSON usa o `JSON` nativo (Elixir 1.18+/OTP 27+). # Se `Jason` ou `Finch` estiverem no projeto, a SDK os usa automaticamente. {:jason, "~> 1.4", optional: true}, {:finch, "~> 0.16", optional: true}, {:ex_doc, "~> 0.34", only: :dev, runtime: false}, {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false} ] end defp description do "SDK oficial Elixir da plataforma APIBrasil: WhatsApp, SMS, consultas de " <> "CPF/CNPJ, veiculos, CEP, correios, pagamentos PIX/boleto e mais." end defp package do [ name: "apibrasil", maintainers: ["APIBrasil"], licenses: ["MIT"], files: ~w(lib mix.exs README.md CHANGELOG.md SECURITY.md LICENSE .formatter.exs), links: %{ "Site" => "https://apibrasil.com.br", "GitHub" => @source_url, "Documentação da API" => "https://doc.apibrasil.io", "Changelog" => "#{@source_url}/blob/main/CHANGELOG.md" } ] end defp docs do [ main: "readme", source_ref: "v#{@version}", extras: ["README.md", "CHANGELOG.md", "SECURITY.md", "LICENSE"], groups_for_modules: [ Núcleo: ~r/^ApiBrasil\.Core/, Mensageria: ~r/^ApiBrasil\.Messaging/, Dados: ~r/^ApiBrasil\.Data/, Plataforma: ~r/^ApiBrasil\.Platform/, Catálogo: ~r/^ApiBrasil\.Generated/, Legado: ~r/^ApiBrasil\.Legacy/ ] ] end end