defmodule Vttyl.MixProject do use Mix.Project @version "0.1.0" @repo_url "https://github.com/cadebward/vtt" def project do [ app: :vtt, version: @version, elixir: "~> 1.8", package: package(), source_url: @repo_url, homepage_url: @repo_url, name: "Vtt", description: "A dead simple vtt parser.", aliases: [docs: &build_docs/1], docs: [ main: "readme", source_ref: "v#{@version}", source_url: @repo_url, extras: ["README.md"] ] ] end def application do [ extra_applications: [:logger] ] end defp package do [ maintainers: ["Cade Ward"], licenses: ["MIT"], links: %{ "GitHub" => @repo_url } ] end defp build_docs(_) do Mix.Task.run("compile") ex_doc = Path.join(Mix.path_for(:escripts), "ex_doc") unless File.exists?(ex_doc) do raise "cannot build docs because escript for ex_doc is not installed" end args = ["HLS", @version, Mix.Project.compile_path()] opts = ~w[--main HLS --source-ref v#{@version} --source-url #{@repo_url}] System.cmd(ex_doc, args ++ opts) Mix.shell().info("Docs built successfully") end end