initial
This commit is contained in:
commit
abb3eab559
16 changed files with 1035 additions and 0 deletions
128
mix.exs
Normal file
128
mix.exs
Normal file
|
@ -0,0 +1,128 @@
|
|||
defmodule Argon2.MixProject do
|
||||
use Mix.Project
|
||||
|
||||
@source_url "https://code.sipstea.org/jussi/argon2id_elixir"
|
||||
|
||||
def project do
|
||||
[
|
||||
app: :argon2id_elixir,
|
||||
version: "1.0.0",
|
||||
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.34.2", 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"
|
||||
],
|
||||
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"],
|
||||
groups_for_modules: [
|
||||
Core: [
|
||||
Argon2,
|
||||
Argon2.Native
|
||||
],
|
||||
Utilities: [
|
||||
Argon2.Benchmark
|
||||
]
|
||||
]
|
||||
]
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue