defmodule MailKite.MixProject do use Mix.Project @version "0.13.0" @source_url "https://github.com/mailkite/mailkite-elixir" def project do [ app: :mailkite, version: @version, elixir: "~> 1.14", start_permanent: Mix.env() == :prod, deps: deps(), description: description(), package: package(), name: "MailKite", source_url: @source_url, docs: docs() ] end def application do # inets/ssl/crypto/public_key are all part of the standard Erlang/OTP # distribution — the SDK has zero third-party runtime dependencies. [extra_applications: [:logger, :inets, :ssl, :crypto, :public_key]] end # Zero third-party runtime deps. On Elixir < 1.18 (which lacks the built-in # JSON module) fall back to Jason; on 1.18+ the stdlib JSON module is used. defp deps do base = [{:ex_doc, "~> 0.31", only: :dev, runtime: false}] if Version.match?(System.version(), ">= 1.18.0") do base else [{:jason, "~> 1.4"} | base] end end defp description do "Email for every product you ship — receive email as a webhook, send over a " <> "verified domain, give an AI agent its own inbox. The official MailKite library for Elixir." end defp package do [ name: "mailkite", licenses: ["MIT"], links: %{ "GitHub" => @source_url, "Website" => "https://mailkite.dev", "Docs" => "https://mailkite.dev/docs" }, files: ~w(lib mix.exs README.md LICENSE) ] end defp docs do [ main: "readme", extras: ["README.md"], source_ref: "v#{@version}", source_url: @source_url ] end end