Packages

A Rustler-based wrapper around DOT-to-SVG functionality from the layout-rs crate.

Current section

Files

Jump to
ex_dot mix.exs
Raw

mix.exs

defmodule ExDotRust.MixProject do
use Mix.Project
@source_url "https://github.com/chgeuer/ex_dot"
@version "0.1.0"
@dev? String.ends_with?(@version, "-dev")
@force_build? System.get_env("EX_DOT_BUILD") in ["1", "true"]
def project do
[
app: :ex_dot,
version: @version,
elixir: "~> 1.15",
start_permanent: Mix.env() == :prod,
description: description(),
deps: deps(),
docs: docs(),
package: package(),
aliases: [
"rust.lint": [
"cmd cargo clippy --manifest-path=native/ex_dot/Cargo.toml -- -Dwarnings"
],
"rust.fmt": [
"cmd cargo fmt --manifest-path=native/ex_dot/Cargo.toml --all"
]
# "localstack.setup": ["cmd ./test/support/setup-localstack.sh"],
# ci: ["format", "rust.fmt", "rust.lint", "test"]
],
source_url: @source_url
]
end
defp description() do
"A Rustler-based wrapper around DOT-to-SVG functionality from the layout-rs crate."
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications: []
]
end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:ex_doc, ">= 0.0.0", only: :dev, runtime: false},
{:rustler, "~> 0.31.0", optional: not (@dev? or @force_build?)},
{:rustler_precompiled, "~> 0.7.1"}
]
end
defp docs do
[
main: "Dot",
source_url: @source_url,
source_ref: "v#{@version}",
extras: ["demo.livemd"]
]
end
defp package do
[
name: "ex_dot",
files: ~w(lib native checksum-*.exs mix.exs README.md LICENSE),
licenses: ["Apache-2.0"],
links: %{
"GitHub" => @source_url
},
maintainers: ["Dr. Christian Geuer-Pollmann"]
]
end
end