You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.5 KiB
91 lines
2.5 KiB
defmodule GcIndexRelay.MixProject do |
|
use Mix.Project |
|
|
|
def project do |
|
[ |
|
app: :gc_index_relay, |
|
version: "0.2.0", |
|
elixir: "~> 1.15", |
|
elixirc_paths: elixirc_paths(Mix.env()), |
|
start_permanent: Mix.env() == :prod, |
|
aliases: aliases(), |
|
deps: deps(), |
|
compilers: [:phoenix_live_view] ++ Mix.compilers(), |
|
listeners: [Phoenix.CodeReloader] |
|
] |
|
end |
|
|
|
# Configuration for the OTP application. |
|
# |
|
# Type `mix help compile.app` for more information. |
|
def application do |
|
[ |
|
mod: {GcIndexRelay.Application, []}, |
|
extra_applications: [:logger, :runtime_tools] |
|
] |
|
end |
|
|
|
def cli do |
|
[ |
|
preferred_envs: [ |
|
precommit: :test, |
|
"test.unit": :test, |
|
"test.integration": :test, |
|
"test.complete": :test |
|
] |
|
] |
|
end |
|
|
|
# Specifies which paths to compile per environment. |
|
defp elixirc_paths(:test), do: ["lib", "test/support"] |
|
defp elixirc_paths(_), do: ["lib"] |
|
|
|
# Specifies your project dependencies. |
|
# |
|
# Type `mix help deps` for examples and options. |
|
defp deps do |
|
[ |
|
{:phoenix, "~> 1.8.3"}, |
|
{:phoenix_ecto, "~> 4.5"}, |
|
{:ecto_sql, "~> 3.13"}, |
|
{:postgrex, ">= 0.0.0"}, |
|
{:phoenix_html, "~> 4.1"}, |
|
{:phoenix_live_reload, "~> 1.2", only: :dev}, |
|
{:phoenix_live_view, "~> 1.1.0"}, |
|
{:lazy_html, ">= 0.1.0", only: :test}, |
|
{:phoenix_live_dashboard, "~> 0.8.3"}, |
|
{:telemetry_metrics, "~> 1.0"}, |
|
{:telemetry_poller, "~> 1.0"}, |
|
{:gettext, "~> 1.0"}, |
|
{:jason, "~> 1.2"}, |
|
{:bandit, "~> 1.5"}, |
|
{:lib_secp256k1, "~> 0.7.1"}, |
|
{:phoenix_swagger, "~> 0.8"}, |
|
{:credo, "~> 1.7", only: [:dev, :test], runtime: false} |
|
] |
|
end |
|
|
|
# Aliases are shortcuts or tasks specific to the current project. |
|
# For example, to install project dependencies and perform other setup tasks, run: |
|
# |
|
# $ mix setup |
|
# |
|
# See the documentation for `Mix` for more info on aliases. |
|
defp aliases do |
|
[ |
|
setup: ["deps.get", "ecto.setup"], |
|
"ecto.setup": ["ecto.create", "ecto.migrate"], |
|
"ecto.reset": ["ecto.drop", "ecto.setup"], |
|
"test.unit": ["test --only unit"], |
|
precommit: [ |
|
"compile --warnings-as-errors", |
|
"deps.unlock --unused", |
|
"format", |
|
"credo", |
|
"test.unit" |
|
], |
|
# Full local CI: precommit (compile, format, credo, unit) then integration tests (needs PostgreSQL). |
|
"test.complete": ["precommit", "test.integration"] |
|
] |
|
end |
|
end
|
|
|