defmodule ExPaymob.MixProject do use Mix.Project @version "0.1.0" @source_url "https://github.com/petershoukry/ex_paymob" def project do [ app: :ex_paymob, version: @version, elixir: "~> 1.15", start_permanent: Mix.env() == :prod, elixirc_paths: elixirc_paths(Mix.env()), deps: deps(), name: "ExPaymob", description: "Elixir client library for the Paymob payment gateway (Egypt, UAE, KSA, Oman)", source_url: @source_url, homepage_url: @source_url, package: package(), docs: docs(), dialyzer: [ plt_add_apps: [:mix, :ex_unit] ] ] end def application do [ extra_applications: [:logger, :crypto] ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] defp deps do [ {:req, "~> 0.5"}, {:jason, "~> 1.4"}, {:plug, "~> 1.16", optional: true}, {:plug_crypto, "~> 2.1"}, {:igniter, "~> 0.6", optional: true}, {:mox, "~> 1.1", only: :test}, {:ex_doc, "~> 0.34", only: :dev, runtime: false}, {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false} ] end defp package do [ maintainers: ["Peter Shoukry"], licenses: ["MIT"], links: %{ "GitHub" => @source_url, "Changelog" => "#{@source_url}/blob/main/CHANGELOG.md" }, files: ~w(lib .formatter.exs mix.exs README.md LICENSE CHANGELOG.md) ] end defp docs do [ main: "readme", source_ref: "v#{@version}", source_url: @source_url, extras: [ "README.md": [title: "Overview"], "CHANGELOG.md": [title: "Changelog"], LICENSE: [title: "License"] ], groups_for_modules: [ "Payment API": [ ExPaymob.Intention, ExPaymob.Transaction, ExPaymob.Refund, ExPaymob.Void, ExPaymob.Capture ], Subscriptions: [ ExPaymob.Subscription, ExPaymob.SubscriptionPlan ], Webhooks: [ ExPaymob.Webhook, ExPaymob.Plug.WebhookPlug, ExPaymob.Plug.RawBodyReader ], Infrastructure: [ ExPaymob.Config, ExPaymob.Client, ExPaymob.Client.ReqAdapter, ExPaymob.HttpClient, ExPaymob.Request, ExPaymob.Response, ExPaymob.Error ] ] ] end end