Packages
appsignal_phoenix
2.8.2
2.8.2
2.8.1
2.8.0
2.7.0
2.6.0
2.5.1
2.5.0
2.4.1
2.4.0
2.3.9
2.3.8
2.3.7
2.3.6
2.3.5
2.3.4
2.3.3
2.3.2
2.3.1
2.3.0
2.2.1
2.2.0
2.1.3
2.1.2
2.1.1
2.1.0
2.0.14
2.0.13
2.0.12
2.0.11
2.0.10
2.0.9
2.0.8
retired
2.0.7
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
2.0.0-beta.6
2.0.0-beta.5
2.0.0-beta.4
2.0.0-beta.3
2.0.0-beta.2
2.0.0-beta.1
2.0.0-alpha.4
2.0.0-alpha.3
2.0.0-alpha.2
2.0.0-alpha.1
AppSignal's Phoenix instrumentation instruments calls to Phoenix applications to gain performance insights and error reporting
Current section
Files
Jump to
Current section
Files
appsignal_phoenix
mix.exs
mix.exs
defmodule Appsignal.Phoenix.MixProject do
use Mix.Project
def project do
[
app: :appsignal_phoenix,
version: "2.8.2",
description:
"AppSignal's Phoenix instrumentation instruments calls to Phoenix applications to gain performance insights and error reporting",
package: %{
maintainers: ["Jeff Kreeftmeijer"],
licenses: ["MIT"],
links: %{"GitHub" => "https://github.com/appsignal/appsignal-elixir-phoenix"}
},
elixir: "~> 1.9",
start_permanent: Mix.env() == :prod,
deps: deps(),
elixirc_paths: elixirc_paths(Mix.env()),
dialyzer: [
plt_file: {:no_warn, "priv/plts/dialyzer.plt"},
plt_add_apps: [:phoenix_live_view],
flags: ["-Wunmatched_returns", "-Werror_handling", "-Wunderspecs"]
]
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications: [:logger],
mod: {Appsignal.Phoenix.Application, []}
]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
# Run "mix help deps" to learn about dependencies.
defp deps do
system_version = System.version()
phoenix_live_view_version =
case Version.compare(system_version, "1.12.0") do
:lt ->
">= 0.9.0 and < 0.18.0"
_ ->
case Version.compare(system_version, "1.14.0") do
:lt -> "~> 0.9 or ~> 1.0.0"
_ -> "~> 0.9 or ~> 1.0"
end
end
credo_version =
case Version.compare(system_version, "1.13.0") do
:lt -> "1.7.6"
_ -> "~> 1.7"
end
phoenix_version = System.get_env("_APPSIGNAL_CI_PHOENIX_VERSION") || "~> 1.7"
plug_override =
case System.get_env("_APPSIGNAL_CI_PLUG_VERSION") do
nil -> []
"" -> []
version -> [{:plug, version, override: true}]
end
# Finch 0.22 requires Elixir 1.15 or newer, and so does HPAX 1.0.4, which
# Finch pulls in through Mint. The lock file is not checked in, so every
# build resolves the newest version of both, and neither compiles on older
# Elixir versions. Cap them there.
#
# Both are transitive dependencies through the AppSignal package. On newer
# Elixir versions they are left out of the dependency list entirely, so
# these caps are never imposed on the published package.
finch_dependencies =
case Version.compare(system_version, "1.15.0") do
:lt ->
[
{:finch, ">= 0.19.0 and < 0.22.0"},
{:hpax, ">= 1.0.0 and < 1.0.4", override: true}
]
_ ->
[]
end
[
{:appsignal, ">= 2.15.0 and < 3.0.0"},
{:appsignal_plug, ">= 2.1.0 and < 3.0.0"},
{:phoenix, phoenix_version},
{:phoenix_html, "~> 2.11 or ~> 3.0 or ~> 4.0", optional: true},
{:phoenix_live_view, phoenix_live_view_version, optional: true},
{:ex_doc, "~> 0.21", only: :dev, runtime: false},
{:dialyxir, "~> 1.3.0", only: [:dev, :test], runtime: false},
{:credo, credo_version, only: [:dev, :test], runtime: false},
{:telemetry, "~> 0.4 or ~> 1.0"}
] ++ plug_override ++ finch_dependencies
end
end