133 lines
2.6 KiB
Elixir
133 lines
2.6 KiB
Elixir
defmodule Argon2.MixProject do
|
|
use Mix.Project
|
|
|
|
@source_url "https://code.sipstea.org/jussi/argon2id_elixir"
|
|
|
|
def project do
|
|
[
|
|
app: :argon2id_elixir,
|
|
version: "1.1.1",
|
|
elixir: "~> 1.17",
|
|
start_permanent: Mix.env() == :prod,
|
|
deps: deps(),
|
|
aliases: aliases(),
|
|
rustler_crates: rustler_crates(),
|
|
|
|
# Hex
|
|
package: package(),
|
|
description: "Argon2 password hashing using Rust",
|
|
|
|
# Docs
|
|
name: "Argon2",
|
|
docs: docs(),
|
|
|
|
# Test coverage
|
|
test_coverage: [tool: ExCoveralls],
|
|
preferred_cli_env: [
|
|
coveralls: :test,
|
|
"coveralls.detail": :test,
|
|
"coveralls.post": :test,
|
|
"coveralls.html": :test,
|
|
"coveralls.json": :test
|
|
]
|
|
]
|
|
end
|
|
|
|
def application do
|
|
[
|
|
extra_applications: [:logger]
|
|
]
|
|
end
|
|
|
|
defp deps do
|
|
[
|
|
{:rustler, "~> 0.35.0", runtime: false},
|
|
{:ex_doc, "~> 0.37.0", only: :dev, runtime: false},
|
|
{:excoveralls, "~> 0.18.3", only: :test},
|
|
{:credo, "~> 1.7.10", only: [:dev, :test], runtime: false},
|
|
{:dialyxir, "~> 1.4.4", only: [:dev, :test], runtime: false}
|
|
]
|
|
end
|
|
|
|
defp aliases do
|
|
[
|
|
fmt: [
|
|
"format",
|
|
"cmd cargo fmt --manifest-path native/argon2/Cargo.toml"
|
|
],
|
|
quality: [
|
|
"format",
|
|
"cmd cargo fmt --manifest-path native/argon2/Cargo.toml",
|
|
"credo --strict",
|
|
"dialyzer"
|
|
]
|
|
]
|
|
end
|
|
|
|
defp rustler_crates do
|
|
[
|
|
argon2: [
|
|
path: "native/argon2",
|
|
mode: rustc_mode(),
|
|
features: [],
|
|
cargomode: cargomode()
|
|
]
|
|
]
|
|
end
|
|
|
|
defp rustc_mode do
|
|
case Mix.env() do
|
|
:prod -> :release
|
|
_ -> :debug
|
|
end
|
|
end
|
|
|
|
defp cargomode do
|
|
case Mix.env() do
|
|
:prod -> "build"
|
|
_ -> "check"
|
|
end
|
|
end
|
|
|
|
defp package do
|
|
[
|
|
name: "argon2id_elixir",
|
|
files: [
|
|
"lib",
|
|
"native",
|
|
"mix.exs",
|
|
"README.md",
|
|
"LICENSE-APACHE",
|
|
"LICENSE-MIT",
|
|
".formatter.exs"
|
|
],
|
|
exclude_patterns: [
|
|
"native/argon2/target",
|
|
"test",
|
|
"priv"
|
|
],
|
|
licenses: ["MIT", "Apache-2.0"],
|
|
links: %{
|
|
"Source repository" => @source_url
|
|
},
|
|
maintainers: ["Jussi Räsänen"]
|
|
]
|
|
end
|
|
|
|
defp docs do
|
|
[
|
|
main: "Argon2",
|
|
source_url: @source_url,
|
|
extras: ["README.md", "LICENSE-APACHE", "LICENSE-MIT"],
|
|
groups_for_modules: [
|
|
Core: [
|
|
Argon2,
|
|
Argon2.Native
|
|
],
|
|
Utilities: [
|
|
Argon2.Benchmark
|
|
]
|
|
]
|
|
]
|
|
end
|
|
end
|