Packages
xandra
0.18.0-rc.2
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.18.0-rc.9
0.18.0-rc.8
0.18.0-rc.7
0.18.0-rc.6
0.18.0-rc.5
0.18.0-rc.4
0.18.0-rc.3
0.18.0-rc.2
0.18.0-rc.1
0.17.0
0.16.0
0.15.0
0.15.0-rc.1
0.14.0
0.13.1
0.13.0
0.12.0
0.11.0
0.10.1
0.10.0
0.9.2
0.9.1
0.9.0
0.8.0
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.1
0.5.0
0.4.3
0.4.2
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.0
0.1.0
Fast, simple, and robust Cassandra driver for Elixir.
Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Xandra.Mixfile do
use Mix.Project
@description "Fast, simple, and robust Cassandra driver for Elixir."
@repo_url "https://github.com/lexhide/xandra"
@version "0.18.0-rc.2"
def project() do
[
app: :xandra,
version: @version,
elixir: "~> 1.15",
elixirc_paths: elixirc_paths(Mix.env()),
build_embedded: Mix.env() == :prod,
start_permanent: Mix.env() == :prod,
deps: deps(),
xref: [exclude: [Decimal]],
# Task aliases
aliases: aliases(),
# Dialyzer
dialyzer: [
flags: [:no_contracts, :no_improper_lists],
list_unused_filters: true,
plt_add_apps: [:ssl, :crypto, :mix, :ex_unit, :erts, :kernel, :stdlib],
plt_local_path: "priv/plts",
plt_core_path: "priv/plts"
],
# Testing
preferred_cli_env: [
"test.scylladb": :test,
"test.native_protocols": :test,
"coveralls.html": :test
],
test_coverage: [tool: ExCoveralls],
# Hex
package: package(),
description: @description,
# Docs
name: "Xandra",
docs: [
main: "Xandra",
source_ref: "v#{@version}",
source_url: @repo_url,
extras: [
"pages/Data types comparison table.md",
"pages/Compatibility.md",
"pages/Telemetry events.md"
]
]
]
end
def application() do
[extra_applications: [:logger]]
end
defp elixirc_paths(:test), do: ["test/support"] ++ elixirc_paths(:dev)
defp elixirc_paths(_env), do: ["lib"]
defp package() do
[
maintainers: ["Andrea Leopardi"],
licenses: ["ISC"],
links: %{"GitHub" => @repo_url}
]
end
defp aliases() do
[
test: "test --exclude scylla_specific",
"test.scylladb": [
fn _args ->
System.put_env("CASSANDRA_PORT", "9062")
System.put_env("CASSANDRA_WITH_AUTH_PORT", "9063")
end,
"test --exclude cassandra_specific --exclude encryption --exclude ccm --include scylla_specific"
],
"test.all": fn args ->
Mix.Task.run(:test, args)
Mix.Task.run(:"test.scylladb", args)
end,
docs: [
"run pages/generate_telemetry_events_page.exs",
"docs"
]
]
end
defp deps() do
[
{:decimal, "~> 1.7 or ~> 2.0", optional: true},
{:nimble_options, "~> 1.0"},
{:telemetry, "~> 0.4.3 or ~> 1.0"},
# Dev and test dependencies
{:ex_doc, "~> 0.28", only: :dev},
{:excoveralls, "~> 0.17", only: :test},
{:mox, "~> 1.0", only: :test},
{:stream_data, "~> 0.6.0", only: [:dev, :test]},
{:nimble_lz4, "~> 0.1.3", only: [:dev, :test]}
] ++
if Version.match?(System.version(), ">= 1.12.0") do
[{:dialyxir, "~> 1.3", only: [:dev, :test], runtime: false}]
else
[]
end
end
end