mix.exs (2732B)
1 defmodule ExDoc.Mixfile do 2 use Mix.Project 3 4 @source_url "https://github.com/elixir-lang/ex_doc" 5 @version "0.29.0" 6 7 def project do 8 [ 9 app: :ex_doc, 10 version: @version, 11 elixir: "~> 1.11", 12 deps: deps(), 13 aliases: aliases(), 14 package: package(), 15 escript: escript(), 16 elixirc_paths: elixirc_paths(Mix.env()), 17 source_url: @source_url, 18 test_coverage: [tool: ExCoveralls], 19 test_elixirc_options: [docs: true, debug_info: true], 20 preferred_cli_env: [coveralls: :test], 21 name: "ExDoc", 22 description: "ExDoc is a documentation generation tool for Elixir", 23 docs: docs() 24 ] 25 end 26 27 def application do 28 [ 29 extra_applications: [:eex, :crypto], 30 mod: {ExDoc.Application, []} 31 ] 32 end 33 34 defp deps do 35 [ 36 {:earmark_parser, "~> 1.4.19"}, 37 {:makeup_elixir, "~> 0.14"}, 38 {:makeup_erlang, "~> 0.1"}, 39 {:makeup_html, ">= 0.0.0", only: :dev}, 40 {:jason, "~> 1.2", only: :test}, 41 {:floki, "~> 0.0", only: :test} 42 ] 43 end 44 45 defp aliases do 46 [ 47 build: ["cmd --cd assets npm run build", "compile --force", "docs"], 48 clean: [&clean_test_fixtures/1, "clean"], 49 fix: ["format", "cmd --cd assets npm run lint:fix"], 50 lint: ["format --check-formatted", "cmd --cd assets npm run lint"], 51 setup: ["deps.get", "cmd --cd assets npm install"] 52 ] 53 end 54 55 defp package do 56 [ 57 licenses: ["Apache-2.0"], 58 maintainers: ["José Valim", "Milton Mazzarri", "Wojtek Mach"], 59 files: ~w(CHANGELOG.md Cheatsheet.cheatmd formatters lib LICENSE mix.exs README.md), 60 links: %{ 61 "GitHub" => @source_url, 62 "Changelog" => "https://hexdocs.pm/ex_doc/changelog.html", 63 "Writing documentation" => "https://hexdocs.pm/elixir/writing-documentation.html" 64 } 65 ] 66 end 67 68 defp escript do 69 [ 70 main_module: ExDoc.CLI 71 ] 72 end 73 74 defp elixirc_paths(:test), do: ["lib", "test/support"] 75 defp elixirc_paths(_), do: ["lib"] 76 77 defp docs do 78 [ 79 main: "readme", 80 extras: [ 81 "README.md", 82 "Cheatsheet.cheatmd", 83 "CHANGELOG.md" 84 ], 85 source_ref: "v#{@version}", 86 source_url: @source_url, 87 groups_for_modules: [ 88 Markdown: [ 89 ExDoc.Markdown, 90 ExDoc.Markdown.Earmark 91 ], 92 "Formatter API": [ 93 ExDoc.Config, 94 ExDoc.Formatter.EPUB, 95 ExDoc.Formatter.HTML, 96 ExDoc.Formatter.HTML.Autolink, 97 ExDoc.FunctionNode, 98 ExDoc.ModuleNode, 99 ExDoc.TypeNode 100 ] 101 ], 102 skip_undefined_reference_warnings_on: ["CHANGELOG.md"] 103 ] 104 end 105 106 defp clean_test_fixtures(_args) do 107 File.rm_rf("test/tmp") 108 end 109 end