defmodule Nipper.MixProject do use Mix.Project def project do [ app: :nipper, version: "0.1.0", elixir: "~> 1.15", start_permanent: Mix.env() == :prod, deps: deps(), description: "Lightweight, embeddable MQTT broker for BEAM-based edge applications", package: package(), docs: docs(), dialyzer: [ plt_file: {:no_warn, "priv/plts/dialyzer.plt"} ], test_coverage: [tool: ExCoveralls], preferred_cli_env: [ coveralls: :test, "coveralls.detail": :test, "coveralls.post": :test, "coveralls.html": :test ] ] end # Run "mix help compile.app" to learn about applications. def application do [ extra_applications: [:logger], mod: {Nipper.Application, []} ] end # Run "mix help deps" to learn about dependencies. defp deps do [ # Core dependencies {:thousand_island, "~> 1.0"}, {:phoenix_pubsub, "~> 2.1"}, {:gen_stage, "~> 1.2"}, {:telemetry, "~> 1.0"}, {:jason, "~> 1.4"}, # Development and testing {:ex_doc, "~> 0.31", only: :dev, runtime: false}, {:dialyxir, "~> 1.4", only: [:dev], runtime: false}, {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, {:excoveralls, "~> 0.18", only: :test}, # Testing dependencies {:stream_data, "~> 1.0", only: :test}, {:mox, "~> 1.1", only: :test}, {:telemetry_test, "~> 0.1", only: :test}, # Security {:mix_audit, "~> 2.1", only: [:dev, :test], runtime: false}, # Benchmarking {:benchee, "~> 1.0", only: :dev}, {:benchee_html, "~> 1.0", only: :dev} ] end defp package do [ files: ~w(lib .formatter.exs mix.exs README* CHANGELOG* LICENSE*), licenses: ["MIT"], links: %{"GitHub" => "https://github.com/wearecococo/nipper"}, maintainers: ["CoCoCo"] ] end defp docs do [ main: "Nipper", source_url: "https://github.com/wearecococo/nipper", homepage_url: "https://github.com/wearecococo/nipper", extras: [ "LICENSE", "README.md", "CHANGELOG.md" ] ] end end