Packages

EarmarkAstDsl is a toolset to generate EarmarkParser conformant AST Nodes. Its main purpose is to remove boilerplate code from Earmark and EarmarkParser tests.

Current section

Files

Jump to
Raw

mix.exs

defmodule EarmarkAstDsl.MixProject do
use Mix.Project
@version "0.2.3"
@url "https://github.com/robertdober/earmark_ast_dsl"
@description """
EarmarkAstDsl is a toolset to generate EarmarkParser conformant AST Nodes.
Its main purpose is to remove boilerplate code from Earmark and
EarmarkParser tests.
"""
def project do
[
aliases: [
docs: &build_docs/1,
check: ["dialyzer", "test"],
all: ["xtra", "docs"],
],
app: :earmark_ast_dsl,
deps: deps(),
description: @description,
elixir: "~> 1.7",
elixirc_paths: elixirc_paths(Mix.env()),
package: package(),
start_permanent: Mix.env() == :prod,
version: @version
]
end
def application do
[
applications: []
]
end
@prerequisites """
run `mix escript.install hex ex_doc` and adjust `PATH` accordingly
"""
@module "EarmarkAstDsl"
defp build_docs(_) do
Mix.Task.run("compile")
ex_doc = Path.join(Mix.path_for(:escripts), "ex_doc")
Mix.shell().info("Using escript: #{ex_doc} to build the docs")
unless File.exists?(ex_doc) do
raise "cannot build docs because escript for ex_doc is not installed, make sure to \n#{
@prerequisites
}"
end
args = [@module, @version, Mix.Project.compile_path()]
opts = ~w[--main #{@module} --source-ref v#{@version} --source-url #{@url}]
Mix.shell().info("Running: #{ex_doc} #{inspect(args ++ opts)}")
System.cmd(ex_doc, args ++ opts)
Mix.shell().info("Docs built successfully")
end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:dialyxir, "~> 1.0.0", only: [:dev, :test], runtime: false},
{:extractly, "~>0.1.5", only: [:dev]}
# {:dep_from_hexpm, "~> 0.3.0"},
# {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}
]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp package do
[
files: [
"lib",
"mix.exs",
"README.md"
],
maintainers: [
"Robert Dober <robert.dober@gmail.com>"
],
licenses: [
"Apache 2 (see the file LICENSE for details)"
],
links: %{
"GitHub" => "https://github.com/robertdober/earmark_ast_dsl"
}
]
end
end