defmodule MakeupCure.MixProject do use Mix.Project @app :makeup_cure @version "0.2.0" @source_url "https://github.com/am-kantox/makeup_cure" def project do [ app: @app, version: @version, elixir: "~> 1.18", start_permanent: Mix.env() == :prod, consolidate_protocols: Mix.env() not in [:dev, :test], deps: deps(), description: description(), package: package(), docs: docs(), aliases: aliases(), test_coverage: [tool: ExCoveralls], dialyzer: [ plt_file: {:no_warn, ".dialyzer/dialyzer.plt"}, plt_add_deps: :app_tree, plt_core_path: ".dialyzer", list_unused_filters: true, ignore_warnings: ".dialyzer/ignore.exs" ], name: "MakeupCure", source_url: @source_url ] end def application do [ extra_applications: [:logger], mod: {Makeup.Lexers.CureLexer.Application, []} ] end def cli do [ preferred_envs: [ coveralls: :test, "coveralls.detail": :test, "coveralls.post": :test, "coveralls.html": :test, "coveralls.json": :test ] ] end defp deps do [ # Core {:makeup, "~> 1.0"}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3"}, # Development and documentation {:ex_doc, "~> 0.34", only: :dev, runtime: false}, {:excoveralls, "~> 0.18", only: :test, runtime: false}, {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}, {:credo, "~> 1.7", only: [:dev, :test], runtime: false} ] end defp aliases do [ quality: ["format", "credo --strict"], "quality.ci": [ "format --check-formatted", "credo --strict" ] ] end defp description do """ Cure language lexer for the Makeup syntax highlighter. Provides syntax highlighting for the Cure programming language in ExDoc and any other tool using Makeup. """ end defp package do [ name: @app, files: ~w( lib .formatter.exs mix.exs README.md LICENSE ), licenses: ["MIT"], maintainers: ["Aleksei Matiushkin"], links: %{ "GitHub" => @source_url, "Documentation" => "https://hexdocs.pm/#{@app}", "Cure Language" => "https://github.com/am-kantox/cure" } ] end defp docs do [ main: "readme", logo: "stuff/img/logo-48x48.png", assets: %{"stuff/img" => "assets"}, extras: ["README.md"], source_url: @source_url, source_ref: "v#{@version}", formatters: ["html"], authors: ["Aleksei Matiushkin"], canonical: "https://hexdocs.pm/#{@app}" ] end end