defmodule UpiCore.MixProject do use Mix.Project def project do [ app: :upi_core, version: "0.1.0", elixir: "~> 1.14", elixirc_paths: elixirc_paths(Mix.env()), start_permanent: Mix.env() == :prod, aliases: aliases(), deps: deps() ] end def application do [ mod: {UpiCore.Application, []}, extra_applications: [:logger, :runtime_tools, :os_mon] ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] defp deps do [ # Auth {:bcrypt_elixir, "~> 3.1"}, # Caching {:cachex, "~> 4.0.3"}, # Email {:premailex, "~> 0.3.20"}, {:swoosh, "~> 1.5"}, {:finch, "~> 0.13"}, # HTTP client {:req, "~> 0.5.8"}, # XML parsing {:sweet_xml, "~> 0.7"}, # QR code generation {:qr_code, "~> 3.1"}, # Database {:phoenix_ecto, "~> 4.5"}, {:ecto_sql, "~> 3.10"}, {:myxql, ">= 0.0.0"}, # Telemetry {:telemetry_metrics, "~> 1.0"}, {:telemetry_poller, "~> 1.0"}, # Utilities {:gettext, "~> 0.26"}, {:tortoise, "~> 0.10"}, {:phoenix_pubsub, "~> 2.1"}, {:jason, "~> 1.2"}, {:dns_cluster, "~> 0.1.1"}, {:timex, "~> 3.7"}, {:oban, "~> 2.19"}, {:ranch, "~> 2.1"}, # Dev/test tools {:credo, "~> 1.7.11", only: [:dev, :test], runtime: false}, {:sobelow, "~> 0.13.0", only: [:dev, :test], runtime: false} ] end defp aliases do [ "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"], "ecto.reset": ["ecto.drop", "ecto.setup"], test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"] ] end end