forked from phoenixframework/phoenix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
mix.exs
144 lines (127 loc) · 4.72 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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
defmodule Phoenix.Mixfile do
use Mix.Project
@version "1.3.0-rc.2"
# TODO v1.4: Update to elixir 1.4 + new application inference
def project do
[
app: :phoenix,
version: @version,
elixir: "~> 1.3",
deps: deps(),
package: package(),
preferred_cli_env: [docs: :docs],
# Because we define protocols on the fly to test
# Phoenix.Param, we need to disable consolidation
# for the test environment for Elixir v1.2 onward.
consolidate_protocols: Mix.env != :test,
xref: [exclude: [Ecto.Type]],
name: "Phoenix",
docs: [
source_ref: "v#{@version}",
main: "overview",
logo: "logo.png",
extra_section: "GUIDES",
assets: "deps/phoenix_guides/images",
extras: extras()
],
aliases: aliases(),
source_url: "https://github.com/phoenixframework/phoenix",
homepage_url: "http://www.phoenixframework.org",
description: """
Productive. Reliable. Fast. A productive web framework that
does not compromise speed and maintainability.
"""
]
end
def application do
[
mod: {Phoenix, []},
applications: [:plug, :poison, :logger, :eex, :phoenix_pubsub, :crypto],
env: [
stacktrace_depth: nil,
template_engines: [],
format_encoders: [],
filter_parameters: ["password"],
serve_endpoints: false,
gzippable_exts: ~w(.js .css .txt .text .html .json .svg)
]
]
end
defp deps do
[
{:cowboy, "~> 1.0", optional: true},
{:plug, "~> 1.3.2 or ~> 1.4"},
{:phoenix_pubsub, "~> 1.0"},
{:poison, "~> 2.2 or ~> 3.0"},
{:gettext, "~> 0.8", only: :test},
# Docs dependencies
{:ex_doc, "~> 0.16", only: :docs},
{:inch_ex, "~> 0.2", only: :docs},
{:phoenix_guides, git: "https://github.com/phoenixframework/phoenix_guides.git", compile: false, app: false, only: :docs},
# Test dependencies
{:phoenix_html, "~> 2.6", only: :test},
{:websocket_client, git: "https://github.com/jeremyong/websocket_client.git", only: :test}
]
end
defp package do
[
maintainers: [
"Chris McCord", "José Valim", "Lance Halvorsen", "Gary Rennie",
"Jason Stiebs", "Eric Meadows-Jönsson", "Sonny Scroggin"
],
licenses: ["MIT"],
links: %{github: "https://github.com/phoenixframework/phoenix"},
files: ~w(assets lib priv) ++
~w(brunch-config.js CHANGELOG.md LICENSE.md mix.exs package.json README.md)
]
end
defp extras do
[
"introduction/overview.md": [group: "Introduction"],
"introduction/installation.md": [group: "Introduction"],
"introduction/learning.md": [group: "Introduction"],
"introduction/community.md": [group: "Introduction"],
"up_and_running.md": [group: "Guides"],
"adding_pages.md": [group: "Guides"],
"routing.md": [group: "Guides"],
"plug.md": [group: "Guides"],
"endpoint.md": [group: "Guides"],
"controllers.md": [group: "Guides"],
"views.md": [group: "Guides"],
"templates.md": [group: "Guides"],
"channels.md": [group: "Guides"],
"ecto_models.md": [group: "Guides"],
"testing/testing.md": [group: "Testing"],
"testing/testing_models.md": [group: "Testing"],
"testing/testing_controllers.md": [group: "Testing"],
"testing/testing_views.md": [group: "Testing"],
"testing/testing_channels.md": [group: "Testing"],
"deployment/deployment.md": [group: "Deployment"],
"deployment/heroku.md": [group: "Deployment"],
"bonus_guides/upgrading_phoenix.md": [group: "Bonus Guides"],
"bonus_guides/custom_primary_key.md": [group: "Bonus Guides"],
"bonus_guides/using_mysql.md": [group: "Bonus Guides"],
"bonus_guides/static_assets.md": [group: "Bonus Guides"],
"bonus_guides/file_uploads.md": [group: "Bonus Guides"],
"bonus_guides/sending_email_with_mailgun.md": [group: "Bonus Guides"],
"bonus_guides/sending_email_with_smtp.md": [group: "Bonus Guides"],
"bonus_guides/sessions.md": [group: "Bonus Guides"],
"bonus_guides/custom_errors.md": [group: "Bonus Guides"],
"bonus_guides/using_ssl.md": [group: "Bonus Guides"],
"bonus_guides/phoenix_behind_proxy.md": [group: "Bonus Guides"],
"bonus_guides/config.md": [group: "Bonus Guides"],
"bonus_guides/learning_elixir.md": [group: "Bonus Guides"],
"bonus_guides/seeding_data.md": [group: "Bonus Guides"]
]
|> Enum.map(fn {file, opts} -> {:"deps/phoenix_guides/docs/#{file}", opts} end)
end
defp aliases do
[
"docs": ["docs", &generate_js_docs/1]
]
end
def generate_js_docs(_) do
Mix.Task.run "app.start"
System.cmd("npm", ["run", "docs"])
end
end