Packages

SortedSet is a fast and efficient Rust backed sorted set.

Current section

Files

Jump to
Raw

mix.exs

defmodule SortedSet.MixProject do
use Mix.Project
def project do
[
app: :sorted_set_nif,
name: "SortedSet",
version: "1.0.0",
elixir: "~> 1.5",
start_permanent: Mix.env() == :prod,
compilers: [:rustler] ++ Mix.compilers(),
deps: deps(),
docs: docs(),
elixirc_paths: elixirc_paths(Mix.env()),
package: package(),
rustler_crates: rustler_crates()
]
end
def application do
[
extra_applications: [:logger]
]
end
defp deps do
[
{:rustler, "~> 0.18"},
{:ex_doc, "~> 0.19", only: [:dev], runtime: false},
{:benchee, "~> 0.13", only: [:dev]},
{:benchee_html, "~> 0.5", only: [:dev]},
{:stream_data, "~> 0.4", only: [:test]},
{:dialyxir, "~> 1.0.0-rc.3", only: [:dev], runtime: false}
]
end
defp docs do
[
name: "SortedSet",
extras: ["README.md"],
main: "readme",
source_url: "https://github.com/discordapp/sorted_set"
]
end
defp elixirc_paths(:test) do
elixirc_paths(:default) ++ ["test/support"]
end
defp elixirc_paths(_) do
["lib"]
end
defp package do
[
name: :sorted_set_nif,
description: "SortedSet is a fast and efficient Rust backed sorted set.",
files: ["lib", "native", ".formatter.exs", "README*", "LICENSE*", "mix.exs"],
maintainers: ["Discord Core Infrastructure"],
licenses: ["MIT"],
links: %{
"GitHub" => "https://github.com/discordapp/sorted_set_nif"
}
]
end
defp rustler_crates do
[
sorted_set: [
path: "native/sorted_set_nif",
mode: rustc_mode(Mix.env(), System.get_env("OPTIMIZE_NIF") == "true")
]
]
end
defp rustc_mode(_, true), do: :release
defp rustc_mode(:prod, _), do: :release
defp rustc_mode(_, _), do: :debug
end