defmodule Tamale.MixProject do use Mix.Project @version "0.1.0" @description "A minimal kernel for preserving user edits across upstream regeneration cycles" def project do [ app: :tamale, version: @version, elixir: "~> 1.18", start_permanent: Mix.env() == :prod, aliases: [precommit: ["compile --warnings-as-errors", "format", "test"]], description: @description, package: [ name: :tamale, files: ~w(README.md CHANGELOG.md docs lib mix.exs), licenses: ["MIT"], links: %{"GitHub" => "https://github.com/SynapticStrings/Tamal"} ], deps: deps(), docs: docs() ] end def application, do: [extra_applications: [:logger, :crypto]] def cli, do: [preferred_envs: [precommit: :test]] defp deps do [ {:ex_doc, "~> 0.34", only: :dev, runtime: false, warn_if_outdated: true}, {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}, {:credo, "~> 1.7", only: [:dev, :test], runtime: false} ] end def docs do [ main: "readme", extras: ["README.md", "CHANGELOG.md"], groups_for_modules: [ "Top-level": [ Tamale ], "Identity Space": [ Tamale.Space ], "Edit Operations": [ Tamale.Op, Tamale.Op.Insert, Tamale.Op.Delete, Tamale.Op.Split, Tamale.Op.Merge, Tamale.Op.Move, Tamale.Op.Retime ], "Anchors": [ Tamale.Anchor, Tamale.Anchor.Ordinal, Tamale.Anchor.Metric, Tamale.Anchor.Relative ], "Transport & Warp": [ Tamale.Transport, Tamale.Warp ], "Semantic Survival": [ Tamale.Patch, Tamale.Digest ], "Channel Integration": [ Tamale.ChannelAdapter ], "Coordinates": [ Tamale.Coord ] ] ] end end