defmodule Unstoppable.MixProject do use Mix.Project @version "0.1.0" @source_url "https://github.com/thiagoesteves/unstoppable" def project do [ app: :unstoppable, name: "Unstoppable", version: @version, elixir: "~> 1.19", description: "Elixir library for testing hot code reloading", source_url: @source_url, homepage_url: @source_url, start_permanent: Mix.env() == :prod, aliases: aliases(), deps: deps(), docs: docs(), package: package(), description: description() ] end # Run "mix help compile.app" to learn about applications. def application do [ extra_applications: [:logger, :runtime_tools], mod: {Unstoppable.Application, []} ] end defp description do """ Build appup files for your Elixir app release """ end defp package do [ files: [ "lib", "mix.exs", "README.md", "LICENSE.md", "CHANGELOG.md", ".formatter.exs" ], maintainers: ["Thiago Esteves"], licenses: ["MIT"], links: %{ Documentation: "https://hexdocs.pm/unstoppable", Changelog: "#{@source_url}/blob/main/CHANGELOG.md", GitHub: @source_url } ] end defp docs do [ main: "Unstoppable", source_ref: "v#{@version}", extras: ["README.md", "LICENSE.md", "CHANGELOG.md"] ] end # Run "mix help deps" to learn about dependencies. defp deps do [ {:ex_doc, "~> 0.34", only: [:dev, :test], runtime: false} ] end # Aliases are shortcuts or tasks specific to the current project. # For example, to install project dependencies and perform other setup tasks, run: # # $ mix setup # # See the documentation for `Mix` for more info on aliases. defp aliases do [ release: [ "cmd git tag v#{@version} -f", "cmd git push", "cmd git push --tags", "hex.publish --yes" ], "test.ci": [ "format --check-formatted", "deps.unlock --check-unused" ] ] end end