Packages
ex_doc
0.19.3
0.40.3
0.40.2
0.40.1
0.40.0
0.39.3
0.39.2
0.39.1
0.39.0
0.38.4
0.38.3
0.38.2
0.38.1
0.38.0
0.37.3
0.37.2
0.37.1
0.37.0
0.37.0-rc.2
0.37.0-rc.1
0.37.0-rc.0
0.36.1
0.36.0
0.35.1
0.35.0
0.34.2
0.34.1
0.34.0
0.33.0
0.32.2
0.32.1
0.32.0
0.31.2
0.31.1
0.31.0
0.30.9
0.30.8
0.30.7
0.30.6
0.30.5
0.30.4
0.30.3
0.30.2
0.30.1
0.30.0
0.29.4
0.29.3
0.29.2
0.29.1
0.29.0
0.28.6
0.28.5
0.28.4
0.28.3
0.28.2
0.28.1
0.28.0
0.27.3
0.27.2
0.27.1
0.27.0
0.26.0
0.25.5
0.25.4
0.25.3
0.25.2
0.25.1
0.25.0
0.24.2
0.24.1
0.24.0
0.23.0
0.22.6
0.22.5
0.22.4
0.22.2
0.22.1
0.22.0
0.21.3
0.21.2
0.21.1
0.21.0
0.20.2
0.20.1
0.20.0
0.19.3
0.19.2
0.19.1
0.19.0
0.19.0-rc
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
retired
0.17.1
0.17.0
retired
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.1
0.15.0
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.13.2
0.13.1
0.13.0
0.12.0
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.0
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.3
0.7.2
0.7.1
0.7.0
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
ExDoc is a documentation generation tool for Elixir
Current section
Files
Jump to
Current section
Files
mix.exs
defmodule ExDoc.Mixfile do
use Mix.Project
@version "0.19.3"
def project do
[
app: :ex_doc,
version: @version,
elixir: "~> 1.7",
deps: deps(),
aliases: aliases(),
package: package(),
escript: escript(),
source_url: "https://github.com/elixir-lang/ex_doc/",
test_coverage: [tool: ExCoveralls],
preferred_cli_env: [coveralls: :test],
description: "ExDoc is a documentation generation tool for Elixir",
xref: [exclude: [Cmark]],
docs: docs()
]
end
def application do
[]
end
defp deps do
[
{:earmark, "~> 1.2"},
{:makeup_elixir, "~> 0.10"},
{:cmark, "~> 0.5", only: :test},
{:excoveralls, "~> 0.3", only: :test}
]
end
defp aliases do
[
clean: [&clean_test_fixtures/1, "clean"],
setup: ["deps.get", &setup_assets/1],
build: [&build_assets/1, "compile --force", "docs"]
]
end
defp package do
[
licenses: ["Apache 2.0"],
maintainers: [
"José Valim",
"Eksperimental",
"Milton Mazzarri",
"Friedel Ziegelmayer",
"Dmitry"
],
files: ["formatters", "lib", "mix.exs", "LICENSE", "CHANGELOG.md", "README.md"],
links: %{
"GitHub" => "https://github.com/elixir-lang/ex_doc",
"Writing documentation" => "https://hexdocs.pm/elixir/writing-documentation.html"
}
]
end
defp escript do
[
main_module: ExDoc.CLI
]
end
defp docs do
[
main: "readme",
extras: [
"README.md",
"CHANGELOG.md"
],
source_ref: "v#{@version}",
source_url: "https://github.com/elixir-lang/ex_doc",
groups_for_modules: [
Markdown: [
ExDoc.Markdown,
ExDoc.Markdown.Cmark,
ExDoc.Markdown.Earmark
],
"Formatter API": [
ExDoc.Config,
ExDoc.Formatter.EPUB,
ExDoc.Formatter.HTML,
ExDoc.Formatter.HTML.Autolink,
ExDoc.FunctionNode,
ExDoc.ModuleNode,
ExDoc.TypeNode
]
]
]
end
defp clean_test_fixtures(_args) do
File.rm_rf("test/tmp")
end
defp setup_assets(_args) do
cmd("npm", ~w(install))
end
defp build_assets(_args) do
cmd("npm", ~w(run build))
end
defp cmd(cmd, args, opts \\ []) do
opts = Keyword.merge([into: IO.stream(:stdio, :line), stderr_to_stdout: true], opts)
{_, result} = System.cmd(cmd, args, opts)
if result != 0 do
raise "Non-zero result (#{result}) from: #{cmd} #{Enum.map_join(args, " ", &inspect/1)}"
end
end
end