Current section

Files

Jump to
snowpack mix.exs
Raw

mix.exs

defmodule Snowpack.MixProject do
use Mix.Project
@name "Snowpack"
@source_url "https://github.com/HGInsights/snowpack"
@version_file Path.join(__DIR__, ".version")
@external_resource @version_file
@version (case Regex.run(~r/^([\d\.\w-]+)/, File.read!(@version_file), capture: :all_but_first) do
[version] -> version
nil -> "0.0.0"
end)
def project do
[
app: :snowpack,
version: @version,
elixir: "~> 1.12",
start_permanent: Mix.env() == :prod,
elixirc_paths: elixirc_paths(Mix.env()),
name: @name,
description: "Snowflake driver for Elixir",
source_url: @source_url,
test_coverage: [tool: ExCoveralls],
package: package(),
docs: docs(),
deps: deps(),
preferred_cli_env: preferred_cli_env(),
bless_suite: bless_suite(),
dialyzer: dialyzer(),
aliases: aliases()
]
end
# Configuration for the OTP application
def application do
[
extra_applications: [:logger, :odbc],
mod: {Snowpack.Application, []}
]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp package() do
[
files: ~w(lib .formatter.exs mix.exs README* LICENSE* CHANGELOG* .version),
licenses: ["Apache-2.0"],
links: %{"GitHub" => @source_url}
]
end
defp docs do
[
source_ref: "v#{@version}",
source_url: @source_url,
main: @name,
extras: ["CHANGELOG.md"],
groups_for_extras: [
CHANGELOG: "CHANGELOG.md"
]
]
end
defp deps do
[
{:db_connection, "~> 2.2"},
{:decimal, "~> 1.6 or ~> 2.0"},
{:backoff, "~> 1.1"},
{:date_time_parser, "~> 1.1.1"},
{:mentat, "~> 0.7.1"},
{:telemetry, "~> 0.4 or ~> 1.0"},
{:jason, "~> 1.2"},
{:bless, "~> 1.2", only: [:dev, :test]},
{:excoveralls, "~> 0.14.5", only: [:dev, :test]},
{:credo, "~> 1.5", only: [:dev, :test], runtime: false},
{:dialyxir, "~> 1.0", only: [:dev, :test, :docs], runtime: false},
{:ex_doc, ">= 0.0.0", only: [:docs], runtime: false},
{:mix_test_watch, "~> 1.1.0", only: [:test, :dev]},
{:mimic, "~> 1.7", only: [:dev, :test]},
{:vapor, "~> 0.10.0", only: [:dev, :test, :docs], runtime: false}
]
end
defp preferred_cli_env,
do: [bless: :test, coveralls: :test, "coveralls.html": :test, credo: :test, docs: :docs, dialyzer: :test, qc: :test]
defp bless_suite do
[
compile: ["--warnings-as-errors", "--force"],
format: [],
credo: ["--strict"],
"deps.unlock": ["--check-unused"],
coveralls: ["--exclude", "skip_ci"]
]
end
defp dialyzer do
[
plt_add_apps: [:ex_unit, :mix],
ignore_warnings: "dialyzer.ignore-warnings",
list_unused_filters: true
]
end
defp aliases do
[
qc: ["format", "credo --strict", "test"]
]
end
end