Current section
Files
Jump to
Current section
Files
private_module
mix.exs
mix.exs
defmodule PrivateModule.MixProject do
use Mix.Project
def project do
[
app: :private_module,
version: "0.1.4",
elixir: "~> 1.14",
start_permanent: Mix.env() == :prod,
elixirc_paths: elixirc_paths(Mix.env()),
dialyzer: dialyzer(),
deps: deps(),
description: description(),
package: package(),
docs: docs(),
source_url: "https://github.com/bit4bit/private_module"
]
end
def application do
[
extra_applications: [:logger]
]
end
defp dialyzer() do
[
plt_add_apps: [:mix],
ignore_warnings: ".dialyzer_ignore"
]
end
defp deps do
[
{:dialyxir, "~> 1.4", only: :dev, runtime: false},
{:ex_doc, "~> 0.39", only: :dev, runtime: false},
{:credo, "~> 1.7", only: [:dev, :test], runtime: false}
]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp description do
"""
PrivateModule allows you to define modules that can only be accessed from their parent module,
enforced at compile time with clear error messages.
"""
end
defp package do
[
name: "private_module",
files: ~w(lib .formatter.exs mix.exs README* LICENSE* CHANGELOG*),
licenses: ["MIT"],
links: %{
"GitHub" => "https://github.com/bit4bit/private_module",
"Changelog" => "https://github.com/bit4bit/private_module/blob/main/CHANGELOG.md"
}
]
end
defp docs do
[
main: "PrivateModule",
extras: ["README.md", "CHANGELOG.md"],
source_ref: "v0.1.1",
source_url: "https://github.com/bit4bit/private_module"
]
end
end