-
Notifications
You must be signed in to change notification settings - Fork 4
/
mix.exs
69 lines (60 loc) · 1.59 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
defmodule AsyncWith.MixProject do
use Mix.Project
@version "0.3.0"
def project do
[
app: :async_with,
version: @version,
elixir: "~> 1.7",
deps: deps(),
package: package(),
preferred_cli_env: [docs: :docs, "hex.publish": :docs],
description: description(),
docs: docs(),
dialyzer: dialyzer()
]
end
def application do
[
extra_applications: [:logger],
mod: {AsyncWith.Application, []}
]
end
defp deps do
[
{:dialyxir, "~> 1.1", only: [:dev], runtime: false},
{:ex_doc, "~> 0.24.2", only: :docs}
]
end
def description do
"""
The asynchronous version of Elixir's "with", resolving the dependency graph and executing
the clauses in the most performant way possible!
"""
end
defp package do
[
maintainers: ["Fernando Tapia Rico"],
licenses: ["MIT"],
links: %{"GitHub" => "https://github.com/fertapric/async_with"}
]
end
defp docs do
[
source_ref: "v#{@version}",
main: "AsyncWith",
canonical: "http://hexdocs.pm/async_with",
source_url: "https://github.com/fertapric/async_with"
]
end
defp dialyzer do
plt_core_path = System.get_env("DIALYZER_PLT_CORE_PATH") || Mix.Utils.mix_home()
plt_local_path = System.get_env("DIALYZER_PLT_LOCAL_PATH") || Mix.Project.build_path()
[
plt_core_path: plt_core_path,
plt_file: {:no_warn, Path.join(plt_local_path, "async_with.plt")},
plt_add_deps: :transitive,
flags: [:unmatched_returns, :error_handling, :race_conditions, :underspecs]
]
end
end