-
Notifications
You must be signed in to change notification settings - Fork 0
/
mix.exs
121 lines (114 loc) · 3.23 KB
/
mix.exs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
defmodule Permit.MixProject do
use Mix.Project
@version "0.2.1"
@source_url "https://github.com/curiosum-dev/permit/"
def project do
[
app: :permit,
version: @version,
elixir: "~> 1.12",
elixirc_paths: elixirc_paths(Mix.env()),
start_permanent: Mix.env() == :prod,
deps: deps(),
consolidate_protocols: Mix.env() not in [:dev, :test],
description: "Plain-Elixir, DSL-less, extensible authorization library for Elixir.",
package: package(),
dialyzer: [plt_add_apps: [:ex_unit]],
docs: docs(),
test_coverage: [tool: ExCoveralls],
preferred_cli_env: [
coveralls: :test,
"coveralls.detail": :test,
"coveralls.post": :test,
"coveralls.html": :test,
"coveralls.json": :test
]
]
end
defp package do
[
licenses: ["MIT"],
links: %{"GitHub" => @source_url},
maintainers: ["Michał Buszkiewicz", "Piotr Lisowski"],
files: ["lib", "mix.exs", "README*"]
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications:
case Mix.env() do
:test -> [:logger]
:dev -> [:logger]
_ -> [:logger]
end
]
end
# Specifies which paths to compile per environment.
defp elixirc_paths(:test), do: ["lib", "test/support", "test/permit/support"]
defp elixirc_paths(_), do: ["lib"]
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:ex_doc, ">= 0.0.0", only: :dev, runtime: false},
{:dialyxir, "~> 1.3", only: [:dev, :test], runtime: false},
{:credo, "~> 1.7", only: [:dev, :test], runtime: false},
{:versioce, "~> 2.0.0", only: [:dev, :test], runtime: false},
{:git_cli, "~> 0.3.0", only: [:dev, :test], runtime: false},
{:excoveralls, "~> 0.18", only: :test, runtime: false}
]
end
defp docs do
[
main: "Permit",
source_ref: "v#{@version}",
source_url: @source_url,
groups_for_modules: [
Setup: [
Permit,
Permit.SubjectMapping
],
Actions: [
Permit.Actions,
Permit.Actions.CrudActions,
Permit.Actions.Forest,
Permit.Actions.Traversal
],
Permissions: [
Permit.Permissions,
Permit.Permissions.ActionFunctions,
Permit.Permissions.DisjunctiveNormalForm,
Permit.Permissions.ParsedCondition,
Permit.Permissions.ParsedConditionList
],
Operators: [
Permit.Operators,
Permit.Operators.GenOperator,
Permit.Operators.Eq,
Permit.Operators.Ge,
Permit.Operators.Gt,
Permit.Operators.Ilike,
Permit.Operators.In,
Permit.Operators.IsNil,
Permit.Operators.Le,
Permit.Operators.Like,
Permit.Operators.Lt,
Permit.Operators.Match,
Permit.Operators.Neq
],
Resolution: [
Permit.Resolver,
Permit.ResolverBase
],
Types: [
Permit.Types,
Permit.Types.ConditionTypes
],
Errors: [
Permit.CycledDefinitionError,
Permit.UndefinedActionError
]
]
]
end
end