Files
firezone/elixir/mix.exs
Andrew Dryga 52d1b07a2a chore(portal): Bump Alpine to 3.20, Erlang/OTP to 27 and Elixir to 1.17 (#5349)
Two blocking issues:
-
57470a1229
to be released (its used by WorkOS package; I think in future we should
contribute to them replacing that with Finch or Req);
- https://github.com/elixir-cldr/cldr_calendars/issues/19
2024-06-24 12:27:19 -06:00

102 lines
2.8 KiB
Elixir

defmodule Firezone.MixProject do
use Mix.Project
def project do
{sha, _} = Code.eval_file(Path.join([__DIR__, "sha.exs"]))
[
name: :firezone,
apps_path: "apps",
version: "0.1.0+#{sha}",
start_permanent: Mix.env() == :prod,
test_coverage: [tool: ExCoveralls],
preferred_cli_env: [
coveralls: :test,
"coveralls.detail": :test,
"coveralls.post": :test,
"coveralls.html": :test
],
docs: [
logo: "apps/web/assets/static/images/logo.svg",
extras: ["docs/README.md", "docs/SECURITY.md", "docs/CONTRIBUTING.md"]
],
deps: deps(),
dialyzer: [
plt_file: {:no_warn, "priv/plts/dialyzer.plt"}
],
aliases: aliases(),
releases: releases()
]
end
# Dependencies listed here are available only for this
# project and cannot be accessed from applications inside
# the apps folder.
#
# Run "mix help deps" for examples and options.
defp deps do
[
# Shared deps
{:jason, "~> 1.2"},
# Shared test deps
{:credo, "~> 1.5", only: [:dev, :test], runtime: false},
{:dialyxir, "~> 1.1", only: [:dev, :test], runtime: false},
{:junit_formatter, "~> 3.3", only: [:test]},
{:mix_audit, "~> 2.1", only: [:dev, :test]},
{:sobelow, "~> 0.12", only: [:dev, :test]},
# Formatter doesn't track dependencies of children applications
{:phoenix, "~> 1.7.0"},
{:phoenix_live_view, "~> 1.0.0-rc.0"},
# TODO: remove it after new version of Floki is released
{:floki,
override: true, github: "philss/floki", ref: "3d5adab58a41b020a775baca82fe15c0c364daab"}
]
end
defp aliases do
[
"ecto.seed": ["ecto.create", "ecto.migrate", "run apps/domain/priv/repo/seeds.exs"],
"ecto.setup": ["ecto.create", "ecto.migrate"],
"ecto.reset": ["ecto.drop", "ecto.setup"],
sobelow: ["cmd mix sobelow"],
test: ["ecto.create --quiet", "ecto.migrate", "test"],
start: ["compile --no-validate-compile-env", "phx.server", "run --no-halt"]
]
end
defp releases do
[
domain: [
include_executables_for: [:unix],
validate_compile_env: true,
applications: [
domain: :permanent,
opentelemetry_exporter: :permanent,
opentelemetry: :temporary
]
],
web: [
include_executables_for: [:unix],
validate_compile_env: true,
applications: [
web: :permanent,
opentelemetry_exporter: :permanent,
opentelemetry: :temporary
]
],
api: [
include_executables_for: [:unix],
validate_compile_env: true,
applications: [
api: :permanent,
opentelemetry_exporter: :permanent,
opentelemetry: :temporary
]
]
]
end
end