mix.exs (2587B)
1 defmodule Plug.MixProject do 2 use Mix.Project 3 4 @version "1.14.0" 5 @description "Compose web applications with functions" 6 @xref_exclude [Plug.Cowboy, :telemetry, :ssl] 7 8 def project do 9 [ 10 app: :plug, 11 version: @version, 12 elixir: "~> 1.10", 13 deps: deps(), 14 package: package(), 15 description: @description, 16 name: "Plug", 17 xref: [exclude: @xref_exclude], 18 consolidate_protocols: Mix.env() != :test, 19 docs: [ 20 extras: [ 21 "README.md", 22 "guides/https.md" 23 ], 24 main: "readme", 25 groups_for_modules: groups_for_modules(), 26 groups_for_extras: groups_for_extras(), 27 source_ref: "v#{@version}", 28 source_url: "https://github.com/elixir-plug/plug" 29 ] 30 ] 31 end 32 33 # Configuration for the OTP application 34 def application do 35 [ 36 extra_applications: [:logger, :eex], 37 mod: {Plug.Application, []}, 38 env: [validate_header_keys_during_test: true] 39 ] 40 end 41 42 def deps do 43 [ 44 {:mime, "~> 1.0 or ~> 2.0"}, 45 {:plug_crypto, "~> 1.1.1 or ~> 1.2"}, 46 {:telemetry, "~> 0.4.3 or ~> 1.0"}, 47 {:ex_doc, "~> 0.21", only: :docs} 48 ] 49 end 50 51 defp package do 52 %{ 53 licenses: ["Apache-2.0"], 54 maintainers: ["Gary Rennie", "José Valim"], 55 links: %{"GitHub" => "https://github.com/elixir-plug/plug"}, 56 files: ["lib", "mix.exs", "README.md", "CHANGELOG.md", "LICENSE", "src", ".formatter.exs"] 57 } 58 end 59 60 defp groups_for_modules do 61 # Ungrouped Modules 62 # 63 # Plug 64 # Plug.Builder 65 # Plug.Conn 66 # Plug.HTML 67 # Plug.Router 68 # Plug.Test 69 # Plug.Upload 70 71 [ 72 Plugs: [ 73 Plug.BasicAuth, 74 Plug.CSRFProtection, 75 Plug.Head, 76 Plug.Logger, 77 Plug.MethodOverride, 78 Plug.Parsers, 79 Plug.RequestId, 80 Plug.RewriteOn, 81 Plug.SSL, 82 Plug.Session, 83 Plug.Static, 84 Plug.Telemetry 85 ], 86 "Error handling": [ 87 Plug.Debugger, 88 Plug.ErrorHandler, 89 Plug.Exception 90 ], 91 "Plug.Conn": [ 92 Plug.Conn.Adapter, 93 Plug.Conn.Cookies, 94 Plug.Conn.Query, 95 Plug.Conn.Status, 96 Plug.Conn.Unfetched, 97 Plug.Conn.Utils 98 ], 99 "Plug.Parsers": [ 100 Plug.Parsers.JSON, 101 Plug.Parsers.MULTIPART, 102 Plug.Parsers.URLENCODED 103 ], 104 "Plug.Session": [ 105 Plug.Session.COOKIE, 106 Plug.Session.ETS, 107 Plug.Session.Store 108 ] 109 ] 110 end 111 112 defp groups_for_extras do 113 [ 114 Guides: ~r/guides\/[^\/]+\.md/ 115 ] 116 end 117 end