defmodule Hyperswitch.MixProject do use Mix.Project def project do [ app: :hyperswitch, version: "0.1.0", elixir: "~> 1.14", build_embedded: Mix.env() == :prod, start_permanent: Mix.env() == :prod, package: package(), dialyzer: dialyzer(), deps: deps(), docs: docs(), description: "An Elixir client for Hyperswitch (payment switch)", source_url: "https://github.com/groguelon/hyperswtich", preferred_cli_env: [ "test.watch": :test ] ] end # Run "mix help compile.app" to learn about applications. def application do [ extra_applications: [:logger] ] end defp package do [ # These are the default files included in the package files: ~w[lib .formatter.exs mix.exs README* LICENSE*], licenses: ["MIT"], links: %{ "Github" => "https://github.com/groguelon/ex_array" } ] end defp dialyzer do [ plt_file: {:no_warn, "priv/plts/dialyzer.plt"} ] end defp docs do [ formatters: ["html"], main: "readme", extras: ["README.md", "LICENSE"], groups_for_modules: [ "HTTP Client": [Hyperswitch.Client, Hyperswitch.Clients.Req], "Hyperswitch API": [ Hyperswitch.Accounts, Hyperswitch.Accounts.Connectors, Hyperswitch.Customers, Hyperswitch.Mandates, Hyperswitch.PaymentMethods, Hyperswitch.Payments, Hyperswitch.Refunds ] ] ] end # Run "mix help deps" to learn about dependencies. defp deps do [ {:dialyxir, "~> 1.3", only: [:dev], runtime: false}, {:ex_doc, ">= 0.0.0", only: :dev, runtime: false}, {:mix_test_watch, "~> 1.0", only: [:dev, :test], runtime: false}, {:req, "~> 0.3"} ] end end