127 lines
2.8 KiB
Elixir
127 lines
2.8 KiB
Elixir
defmodule Plug.MixProject do
|
|
use Mix.Project
|
|
|
|
@version "1.15.3"
|
|
@description "Compose web applications with functions"
|
|
@xref_exclude [Plug.Cowboy, :ssl]
|
|
|
|
def project do
|
|
[
|
|
app: :plug,
|
|
version: @version,
|
|
elixir: "~> 1.10",
|
|
deps: deps(),
|
|
package: package(),
|
|
description: @description,
|
|
name: "Plug",
|
|
xref: [exclude: @xref_exclude],
|
|
consolidate_protocols: Mix.env() != :test,
|
|
docs: [
|
|
extras: [
|
|
"README.md",
|
|
"guides/https.md"
|
|
],
|
|
main: "readme",
|
|
groups_for_modules: groups_for_modules(),
|
|
groups_for_extras: groups_for_extras(),
|
|
source_ref: "v#{@version}",
|
|
source_url: "https://github.com/elixir-plug/plug"
|
|
]
|
|
]
|
|
end
|
|
|
|
# Configuration for the OTP application
|
|
def application do
|
|
[
|
|
extra_applications: extra_applications(Mix.env()),
|
|
mod: {Plug.Application, []},
|
|
env: [validate_header_keys_during_test: true]
|
|
]
|
|
end
|
|
|
|
defp extra_applications(:test), do: [:logger, :eex, :ssl]
|
|
defp extra_applications(_), do: [:logger, :eex]
|
|
|
|
def deps do
|
|
[
|
|
{:mime, "~> 1.0 or ~> 2.0"},
|
|
{:plug_crypto, plug_crypto_version()},
|
|
{:telemetry, "~> 0.4.3 or ~> 1.0"},
|
|
{:ex_doc, "~> 0.21", only: :docs}
|
|
]
|
|
end
|
|
|
|
if System.get_env("PLUG_CRYPTO_2_0", "true") == "true" do
|
|
defp plug_crypto_version, do: "~> 1.1.1 or ~> 1.2 or ~> 2.0"
|
|
else
|
|
defp plug_crypto_version, do: "~> 1.1.1 or ~> 1.2"
|
|
end
|
|
|
|
defp package do
|
|
%{
|
|
licenses: ["Apache-2.0"],
|
|
maintainers: ["Gary Rennie", "José Valim"],
|
|
links: %{"GitHub" => "https://github.com/elixir-plug/plug"},
|
|
files: ["lib", "mix.exs", "README.md", "CHANGELOG.md", "LICENSE", "src", ".formatter.exs"]
|
|
}
|
|
end
|
|
|
|
defp groups_for_modules do
|
|
# Ungrouped Modules
|
|
#
|
|
# Plug
|
|
# Plug.Builder
|
|
# Plug.Conn
|
|
# Plug.HTML
|
|
# Plug.Router
|
|
# Plug.Test
|
|
# Plug.Upload
|
|
|
|
[
|
|
Plugs: [
|
|
Plug.BasicAuth,
|
|
Plug.CSRFProtection,
|
|
Plug.Head,
|
|
Plug.Logger,
|
|
Plug.MethodOverride,
|
|
Plug.Parsers,
|
|
Plug.RequestId,
|
|
Plug.RewriteOn,
|
|
Plug.SSL,
|
|
Plug.Session,
|
|
Plug.Static,
|
|
Plug.Telemetry
|
|
],
|
|
"Error handling": [
|
|
Plug.Debugger,
|
|
Plug.ErrorHandler,
|
|
Plug.Exception
|
|
],
|
|
"Plug.Conn": [
|
|
Plug.Conn.Adapter,
|
|
Plug.Conn.Cookies,
|
|
Plug.Conn.Query,
|
|
Plug.Conn.Status,
|
|
Plug.Conn.Unfetched,
|
|
Plug.Conn.Utils
|
|
],
|
|
"Plug.Parsers": [
|
|
Plug.Parsers.JSON,
|
|
Plug.Parsers.MULTIPART,
|
|
Plug.Parsers.URLENCODED
|
|
],
|
|
"Plug.Session": [
|
|
Plug.Session.COOKIE,
|
|
Plug.Session.ETS,
|
|
Plug.Session.Store
|
|
]
|
|
]
|
|
end
|
|
|
|
defp groups_for_extras do
|
|
[
|
|
Guides: ~r/guides\/[^\/]+\.md/
|
|
]
|
|
end
|
|
end
|