defmodule OpentelemetryCommanded.MixProject do
use Mix.Project
def project do
[
app: :opentelemetry_commanded,
version: "0.2.0",
elixir: "~> 1.15",
elixirc_paths: elixirc_paths(Mix.env()),
elixirc_options: [warnings_as_errors: true],
start_permanent: Mix.env() == :prod,
package: package(),
deps: deps(),
test_coverage: [tool: ExCoveralls],
dialyzer: [plt_add_deps: :apps_direct, plt_add_apps: [:ex_unit], ignore_warnings: ".dialyzer_ignore.exs"],
description: "Trace Commanded CQRS operations with OpenTelemetry",
source_url: "https://github.com/ukchukx/opentelemetry_commanded",
homepage_url: "https://github.com/ukchukx/opentelemetry_commanded",
docs: docs()
]
end
def cli do
[
preferred_envs: [
coveralls: :test,
"coveralls.detail": :test,
"coveralls.post": :test,
"coveralls.html": :test,
"coveralls.json": :test
]
]
end
defp elixirc_paths(env) when env in [:test],
do: [
"lib",
"test/support",
"test/dummy_app"
]
defp elixirc_paths(_env), do: ["lib"]
# Run "mix help compile.app" to learn about applications.
def application do
[extra_applications: [:logger]]
end
defp package do
[
description: "Trace Commanded CQRS operations with OpenTelemetry",
licenses: ["Apache-2.0"],
maintainers: ["Uk Chukundah"],
links: %{
"GitHub" => "https://github.com/ukchukx/opentelemetry_commanded",
"Docs" => "https://hexdocs.pm/opentelemetry_commanded"
},
files: ~w(lib mix.exs .formatter.exs .dialyzer_ignore.exs README.md)
]
end
defp deps do
[
{:commanded, "~> 1.4"},
{:opentelemetry_telemetry, "~> 1.1"},
{:opentelemetry_api, "~> 1.5"},
{:telemetry, "~> 1.4"},
{:opentelemetry, "~> 1.7"},
# Testing
{:jason, "~> 1.4", only: :test},
{:ecto, "~> 3.13", only: :test},
{:excoveralls, "~> 0.18", only: :test, optional: true},
{:credo, "~> 1.6", only: :test, runtime: false, optional: true},
{:dialyxir, "~> 1.4", only: :test, runtime: false, optional: true},
# Tools
{:ex_doc, ">= 0.0.0", only: [:dev, :test], runtime: false}
]
end
defp docs do
[
main: "readme",
skip_undefined_reference_warnings_on: ["CHANGELOG.md"],
extras: [
"README.md",
"CHANGELOG.md"
]
]
end
end