mix.exs

defmodule Structo.MixProject do
  use Mix.Project

  @documentation "https://hexdocs.pm/structo"
  @git_repository "https://git.dupunkto.org/~axcelott/structo"

  def project do
    [
      app: :structo,
      version: "0.1.0",
      elixir: "~> 1.16",
      start_permanent: Mix.env() == :prod,
      deps: deps(),

      # Docs
      source_url: @git_repository,
      homepage_url: @documentation,
      description: description(),
      package: package(),
      docs: docs()
    ]
  end

  def description do
    "JavaScript-style object constructors"
  end

  defp package do
    [
      licenses: ["Unlicense"],
      links: %{"Sources" => @git_repository}
    ]
  end

  def application do
    [extra_applications: [:logger]]
  end

  def deps do
    [
      {:ex_doc, "~> 0.31", only: :dev, runtime: false},
    ]
  end

  defp docs do
    [
      main: "Structo",
      api_reference: false,
      authors: ["Robijntje"],
      formatters: ["html"],
    ]
  end
end