- Move Elixir code to server/ subdirectory for monorepo structure - Update flake.nix to provide packages and apps outputs for nix run support - Update nix/package.nix to accept src parameter instead of fetchgit - Add NixOS module export for easy consumption Now supports: nix run, nix build, and nix develop from git repo 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
87 lines
2.0 KiB
Elixir
87 lines
2.0 KiB
Elixir
defmodule Tortoise.MixProject do
|
|
use Mix.Project
|
|
|
|
@version "0.9.9"
|
|
|
|
def project do
|
|
[
|
|
app: :tortoise,
|
|
version: @version,
|
|
elixir: "~> 1.6",
|
|
start_permanent: Mix.env() == :prod,
|
|
description: description(),
|
|
package: package(),
|
|
deps: deps(),
|
|
dialyzer: dialyzer(),
|
|
docs: docs(),
|
|
test_coverage: [tool: ExCoveralls],
|
|
preferred_cli_env: [
|
|
coveralls: :test,
|
|
"coveralls.detail": :test,
|
|
"coveralls.html": :test,
|
|
"coveralls.json": :test,
|
|
"coveralls.post": :test,
|
|
docs: :docs
|
|
]
|
|
]
|
|
end
|
|
|
|
defp description() do
|
|
"""
|
|
A MQTT client for Elixir.
|
|
"""
|
|
end
|
|
|
|
# Run "mix help compile.app" to learn about applications.
|
|
def application do
|
|
[
|
|
extra_applications: [:logger, :ssl],
|
|
mod: {Tortoise.App, []}
|
|
]
|
|
end
|
|
|
|
# Run "mix help deps" to learn about dependencies.
|
|
defp deps do
|
|
[
|
|
{:gen_state_machine, "~> 2.0 or ~> 3.0"},
|
|
{:dialyxir, "~> 1.0.0-rc.3", only: [:dev], runtime: false},
|
|
{:eqc_ex, "~> 1.4", only: :test},
|
|
{:excoveralls, "~> 0.10", only: :test},
|
|
{:ex_doc, "~> 0.19", only: :dev, runtime: false},
|
|
{:ct_helper, github: "ninenines/ct_helper", only: :test}
|
|
]
|
|
end
|
|
|
|
defp package() do
|
|
[
|
|
maintainers: ["Martin Gausby"],
|
|
licenses: ["Apache 2.0"],
|
|
files: ["lib", "mix.exs", "README*", "CHANGELOG*", "LICENSE*"],
|
|
links: %{"GitHub" => "https://github.com/gausby/tortoise"}
|
|
]
|
|
end
|
|
|
|
defp docs() do
|
|
[
|
|
name: "Tortoise",
|
|
source_ref: "v#{@version}",
|
|
main: "introduction",
|
|
canonical: "http://hexdocs.pm/tortoise",
|
|
source_url: "https://github.com/gausby/tortoise",
|
|
extras: [
|
|
"docs/introduction.md",
|
|
"docs/connecting_to_a_mqtt_broker.md",
|
|
"docs/connection_supervision.md",
|
|
"docs/publishing_messages.md"
|
|
]
|
|
]
|
|
end
|
|
|
|
defp dialyzer() do
|
|
[
|
|
ignore_warnings: "dialyzer.ignore",
|
|
flags: [:error_handling, :race_conditions, :underspecs]
|
|
]
|
|
end
|
|
end
|