Packages
sobelow
0.15.0
0.15.0
0.14.1
0.14.0
0.13.0
0.12.2
0.12.1
0.12.0
0.11.1
0.11.0
0.10.6
0.10.5
0.10.4
0.10.3
0.10.2
0.10.1
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.0
0.7.8
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.9
0.6.8
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
Security-focused static analysis for Elixir & the Phoenix framework
Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Sobelow.Mixfile do
use Mix.Project
@source_url "https://github.com/sobelow/sobelow"
@version "0.15.0"
def project do
[
app: :sobelow,
version: @version,
elixir: "~> 1.12",
elixirc_paths: elixirc_paths(Mix.env()),
build_embedded: Mix.env() == :prod,
start_permanent: Mix.env() == :prod,
deps: deps(),
test_coverage: [tool: ExCoveralls],
package: package(),
description: "Security-focused static analysis for Elixir & the Phoenix framework",
name: "Sobelow",
homepage_url: "https://sobelow.io",
docs: docs(),
aliases: aliases(),
escript: [main_module: Mix.Tasks.Sobelow]
]
end
# Replaces the `:preferred_cli_env` project key, deprecated in Elixir 1.19.
# Older releases simply ignore this callback; CI sets MIX_ENV explicitly, so
# nothing depends on it there.
def cli do
[
preferred_envs: [
coveralls: :test,
"coveralls.detail": :test,
"coveralls.post": :test,
"coveralls.html": :test,
"coveralls.cobertura": :test
]
]
end
def application do
[extra_applications: [:logger, :eex, :inets]]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp deps do
[
# "Prod" Dependencies
{:jason, "~> 1.0"},
# Dev / Test Dependencies
{:ex_doc, "~> 0.37", only: :dev},
{:credo, "~> 1.7.19", only: [:dev, :test], runtime: false},
{:excoveralls, "~> 0.18", only: :test}
]
end
defp package do
[
licenses: ["Apache-2.0"],
maintainers: ["Griffin Byatt", "Holden Oullette"],
# `usage-rules.md` is not in Hex's default file list, but downstream projects
# pull it into their agents' context, so it has to ship.
files: ~w(lib mix.exs .formatter.exs README.md CHANGELOG.md LICENSE usage-rules.md),
links: %{
"Changelog" => "#{@source_url}/blob/main/CHANGELOG.md",
"GitHub" => @source_url
}
]
end
defp docs do
[
main: "readme",
source_url: @source_url,
source_ref: "v#{@version}",
extras: ["README.md", "usage-rules.md", "CHANGELOG.md"]
]
end
defp aliases do
[
"test.all": [
"hex.audit",
"format --check-formatted",
"compile --warnings-as-errors",
"deps.unlock --check-unused",
"credo --all --strict"
]
]
end
end