mix.exs (1554B)
1 defmodule MakeupErlang.Mixfile do 2 use Mix.Project 3 4 @version "0.1.1" 5 @url "https://github.com/elixir-makeup/makeup_erlang" 6 7 def project do 8 [ 9 app: :makeup_erlang, 10 version: @version, 11 elixir: "~> 1.4", 12 start_permanent: Mix.env() == :prod, 13 deps: deps(), 14 package: package(), 15 name: "Makeup Erlang", 16 description: description(), 17 aliases: [docs: &build_docs/1] 18 ] 19 end 20 21 defp description do 22 """ 23 Erlang lexer for the Makeup syntax highlighter. 24 """ 25 end 26 27 defp package do 28 [ 29 name: :makeup_erlang, 30 licenses: ["BSD"], 31 maintainers: ["Tiago Barroso <tmbb@campus.ul.pt>"], 32 links: %{"GitHub" => @url} 33 ] 34 end 35 36 # Run "mix help compile.app" to learn about applications. 37 def application do 38 [ 39 mod: {Makeup.Lexers.ErlangLexer.Application, []}, 40 extra_applications: [:logger] 41 ] 42 end 43 44 # Run "mix help deps" to learn about dependencies. 45 defp deps do 46 [ 47 {:makeup, "~> 1.0"}, 48 {:assert_value, "~> 0.9", only: [:dev, :test]} 49 ] 50 end 51 52 defp build_docs(_) do 53 Mix.Task.run("compile") 54 ex_doc = Path.join(Mix.path_for(:escripts), "ex_doc") 55 56 unless File.exists?(ex_doc) do 57 raise "cannot build docs because escript for ex_doc is not installed" 58 end 59 60 args = ["MakeupErlang", @version, Mix.Project.compile_path()] 61 opts = ~w[--main Makeup.Lexers.ErlangLexer --source-ref v#{@version} --source-url #{@url}] 62 System.cmd(ex_doc, args ++ opts) 63 Mix.shell().info("Docs built successfully") 64 end 65 end