diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e90148f..81e1098 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -44,9 +44,9 @@ jobs: id: plt-cache with: key: | - ${{ runner.os }}-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-plt + ${{ runner.os }}-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-plts restore-keys: | - ${{ runner.os }}-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-plt + ${{ runner.os }}-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-plts path: | priv/plts diff --git a/.gitignore b/.gitignore index 8d5eb8c..68f31d8 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,6 @@ pluggable-*.tar # Temporary files, for example, from tests. /tmp/ + +# Dialyzer Files +/priv/plts diff --git a/mix.exs b/mix.exs index c1671ff..8c2e637 100644 --- a/mix.exs +++ b/mix.exs @@ -1,18 +1,24 @@ defmodule Pluggable.MixProject do use Mix.Project + @source_url "https://github.com/mruoss/pluggable" + @version "1.0.0" + def project do [ app: :pluggable, - version: "0.1.0", + description: "A Plug-like pipeline creator", + version: @version, elixir: "~> 1.12", start_permanent: Mix.env() == :prod, deps: deps(), docs: docs(), + package: package(), elixirc_paths: elixirc_paths(Mix.env()), test_coverage: [tool: ExCoveralls], preferred_cli_env: cli_env(), - consolidate_protocols: Mix.env() != :test + consolidate_protocols: Mix.env() != :test, + dialyzer: dialyzer() ] end @@ -43,7 +49,12 @@ defmodule Pluggable.MixProject do [ # The main page in the docs main: "Pluggable.Token", - extras: ["README.md"] + source_ref: @version, + source_url: @source_url, + extras: [ + "README.md", + "CHANGELOG.md" + ] ] end @@ -59,4 +70,29 @@ defmodule Pluggable.MixProject do "coveralls.json": :test ] end + + defp package do + [ + name: :pluggable, + maintainers: ["Michael Ruoss"], + licenses: ["Apache-2.0"], + links: %{ + "GitHub" => @source_url, + "Changelog" => "https://hexdocs.pm/pluggable/changelog.html" + }, + extras: [ + "README.md", + "CHANGELOG.md" + ], + files: ["lib", "mix.exs", "README.md", "LICENSE", "CHANGELOG.md", ".formatter.exs"] + ] + end + + defp dialyzer do + [ + ignore_warnings: ".dialyzer_ignore.exs", + plt_core_path: "priv/plts", + plt_file: {:no_warn, "priv/plts/pluggable.plt"} + ] + end end