-
Notifications
You must be signed in to change notification settings - Fork 1
/
mix.exs
76 lines (66 loc) · 1.89 KB
/
mix.exs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
defmodule EctoSharding.Mixfile do
use Mix.Project
def project do
[
name: "EctoSharding",
app: :ecto_sharding,
version: "0.0.8",
elixir: "~> 1.5",
start_permanent: Mix.env == :prod,
deps: deps(),
aliases: aliases(),
description: description(),
package: package(),
test_coverage: [tool: Coverex.Task, coveralls: true],
source_url: "https://github.com/craig-day/ecto_sharding",
homepage_url: "https://github.com/craig-day/ecto_sharding",
docs: [main: "readme",
output: "docs",
extras: ["README.md"]]
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications: [:logger]
]
end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:ecto, "~> 2.1"},
{:mariaex, ">= 0.0.0", only: :test},
{:ex_doc, "~> 0.16", only: :dev, runtime: false},
{:coverex, "~> 1.4.10", only: :test},
{:ex_mock, "~> 0.1.1", only: :test}
]
end
defp description do
"""
A sharding library for ecto databases.
"""
end
defp package do
[
files: ["lib", "mix.exs", "README.md", "LICENSE*"],
maintainers: ["Craig Day"],
licenses: ["Apache 2.0"],
links: %{"GitHub" => "https://github.com/craig-day/ecto_sharding"}
]
end
defp aliases do
[
"test.db.create": &create_test_dbs/1,
"test": ["test.db.create", "test"]
]
end
defp create_test_dbs(_) do
mysql_user = System.get_env("MYSQL_USER") || "root"
System.cmd "mysql",
["-u", mysql_user, "-e", "create database if not exists ecto_sharding_test"]
System.cmd "mysql",
["-u", mysql_user, "-e", "create database if not exists ecto_sharding_test_shard_1"]
System.cmd "mysql",
["-u", mysql_user, "-e", "create database if not exists ecto_sharding_test_shard_2"]
end
end