Packages
ecto
2.2.9
3.14.1
3.14.0
3.13.6
3.13.5
3.13.4
3.13.3
3.13.2
3.13.1
3.13.0
3.12.6
3.12.5
3.12.4
3.12.3
3.12.2
3.12.1
3.12.0
3.11.2
3.11.1
3.11.0
3.10.3
3.10.2
3.10.1
3.10.0
3.9.6
3.9.5
3.9.4
3.9.3
3.9.2
3.9.1
3.9.0
3.8.4
3.8.3
3.8.2
3.8.1
3.8.0
3.7.2
3.7.1
3.7.0
3.6.2
3.6.1
3.6.0
3.5.8
3.5.7
3.5.6
3.5.5
3.5.4
3.5.3
3.5.2
3.5.1
3.5.0
3.5.0-rc.1
3.5.0-rc.0
3.4.6
3.4.5
3.4.4
3.4.3
3.4.2
3.4.1
3.4.0
3.3.4
3.3.3
3.3.2
3.3.1
3.3.0
3.2.5
3.2.4
3.2.3
3.2.2
3.2.1
3.2.0
3.1.7
3.1.6
3.1.5
3.1.4
3.1.3
3.1.2
3.1.1
3.1.0
3.0.9
3.0.8
3.0.7
3.0.6
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
3.0.0
3.0.0-rc.1
3.0.0-rc.0
2.2.12
2.2.11
2.2.10
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.2.0-rc.1
2.2.0-rc.0
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.1.0-rc.5
2.1.0-rc.4
2.1.0-rc.3
2.1.0-rc.2
2.1.0-rc.1
2.1.0-rc.0
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
2.0.0-rc.6
2.0.0-rc.5
2.0.0-rc.4
2.0.0-rc.3
2.0.0-rc.2
2.0.0-rc.1
2.0.0-rc.0
2.0.0-beta.2
2.0.0-beta.1
2.0.0-beta.0
1.1.9
1.1.8
1.1.7
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.16.0
0.15.0
0.14.3
0.14.2
0.14.1
0.14.0
0.13.1
0.13.0
0.12.1
0.12.0
0.12.0-rc
0.11.3
0.11.2
0.11.1
0.11.0
0.10.3
0.10.2
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.0
0.5.1
0.5.0
0.4.0
0.3.0
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.0
A toolkit for data mapping and language integrated query for Elixir
Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Ecto.Mixfile do
use Mix.Project
@version "2.2.9"
@adapters [:pg, :mysql]
def project do
[app: :ecto,
version: @version,
elixir: "~> 1.4",
deps: deps(),
build_per_environment: false,
consolidate_protocols: false,
test_paths: test_paths(Mix.env),
xref: [exclude: [Mariaex, Ecto.Adapters.MySQL.Connection,
Postgrex, Ecto.Adapters.Postgres.Connection,
DBConnection, DBConnection.Ownership]],
# Custom testing
aliases: ["test.all": ["test", "test.adapters"],
"test.adapters": &test_adapters/1],
preferred_cli_env: ["test.all": :test],
# Hex
description: "A database wrapper and language integrated query for Elixir",
package: package(),
# Docs
name: "Ecto",
docs: docs()]
end
def application do
[applications: [:logger, :decimal, :poolboy, :crypto],
env: [json_library: Poison, postgres_map_type: "jsonb"], mod: {Ecto.Application, []}]
end
defp deps do
[
{:poolboy, "~> 1.5"},
{:decimal, "~> 1.2"},
# Drivers
{:db_connection, "~> 1.1", optional: true},
{:postgrex, "~> 0.13.0", optional: true},
{:mariaex, "~> 0.8.0", optional: true},
# Optional
{:sbroker, "~> 1.0", optional: true},
{:poison, "~> 2.2 or ~> 3.0", optional: true},
# Docs
{:ex_doc, "~> 0.17", only: :docs},
{:inch_ex, ">= 0.0.0", only: :docs}
]
end
defp test_paths(adapter) when adapter in @adapters, do: ["integration_test/#{adapter}"]
defp test_paths(_), do: ["test/ecto", "test/mix"]
defp package do
[
maintainers: ["Eric Meadows-Jönsson", "José Valim", "James Fish", "Michał Muskała"],
licenses: ["Apache 2.0"],
links: %{"GitHub" => "https://github.com/elixir-ecto/ecto"},
files: ~w(mix.exs README.md CHANGELOG.md lib) ++
~w(integration_test/cases integration_test/sql integration_test/support)
]
end
defp test_adapters(args) do
for env <- @adapters, do: env_run(env, args)
end
defp env_run(env, args) do
args = if IO.ANSI.enabled?, do: ["--color"|args], else: ["--no-color"|args]
IO.puts "==> Running tests for MIX_ENV=#{env} mix test"
{_, res} = System.cmd "mix", ["test"|args],
into: IO.binstream(:stdio, :line),
env: [{"MIX_ENV", to_string(env)}]
if res > 0 do
System.at_exit(fn _ -> exit({:shutdown, 1}) end)
end
end
defp docs do
[
main: "Ecto",
source_ref: "v#{@version}",
canonical: "http://hexdocs.pm/ecto",
logo: "guides/images/e.png",
source_url: "https://github.com/elixir-ecto/ecto",
extras: [
"guides/Getting Started.md",
"guides/Associations.md"
],
groups_for_modules: [
# Ecto,
# Ecto.Changeset,
# Ecto.Migration,
# Ecto.Migrator,
# Ecto.Multi,
# Ecto.Schema,
# Ecto.Schema.Metadata,
"Repo and Queries": [
Ecto.LogEntry,
Ecto.Repo,
Ecto.Query,
Ecto.Query.API,
Ecto.Queryable,
Ecto.SubQuery
],
"Types": [
Ecto.DataType,
Ecto.Date,
Ecto.DateTime,
Ecto.Time,
Ecto.Type,
Ecto.UUID,
],
"Adapters": [
Ecto.Adapters.MySQL,
Ecto.Adapters.Postgres,
Ecto.Adapters.SQL,
Ecto.Adapters.SQL.Connection,
Ecto.Adapters.SQL.Sandbox,
],
"Adapter specification": [
Ecto.Adapter,
Ecto.Adapter.Migration,
Ecto.Adapter.Storage,
Ecto.Adapter.Structure,
Ecto.Adapter.Transaction,
],
"Association structs": [
Ecto.Association.BelongsTo,
Ecto.Association.Has,
Ecto.Association.HasThrough,
Ecto.Association.ManyToMany,
Ecto.Association.NotLoaded,
],
"Migration structs": [
Ecto.Migration.Command,
Ecto.Migration.Constraint,
Ecto.Migration.Index,
Ecto.Migration.Reference,
Ecto.Migration.Table,
]
]
]
end
end