Packages
timber
2.8.2
3.1.2
3.1.1
3.1.0
3.0.0
3.0.0-alpha.3
3.0.0-alpha.2
3.0.0-alpha.1
2.8.4
2.8.3
2.8.2
2.8.1
2.8.0
2.7.0
2.6.1
2.6.0
2.5.6
2.5.5
2.5.4
2.5.3
2.5.2
2.5.1
2.5.0
2.4.5
2.4.4
2.4.3
2.4.2
2.4.1
2.4.0
2.3.4
2.3.3
2.3.1
2.3.0
2.2.1
2.2.0
2.1.8
2.1.7
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.2
2.0.1
2.0.0
2.0.0-rc7
2.0.0-rc6
2.0.0-rc5
2.0.0-rc4
2.0.0-rc3
2.0.0-rc2
2.0.0-rc1
1.1.18
1.1.17
1.1.16
1.1.15
1.1.14
1.1.13
1.1.12
1.1.11
1.1.10
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.16
1.0.15
1.0.14
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
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.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
🌲 Great Elixir Logging Made Easy. Official Timber.io Integration.
Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Timber.Mixfile do
use Mix.Project
@project_description """
Timber automatically enhances your logs, turning them into rich structured events.
Paired with the timber.io service, Timber helps you solve issues fast so you can
focus on your app, not logging.
"""
@source_url "https://github.com/timberio/timber-elixir"
@homepage_url "https://github.com/timberio/timber-elixir"
@version "2.8.2"
# Project manifest for Mix
#
# See `mix help` entries for the following if you need
# more information about the options used in this section:
#
# - `compile`
# - `compile.elixir`
# - `compile.erlang`
def project do
[
app: :timber,
name: "Timber",
version: @version,
elixir: "~> 1.3",
elixirc_paths: elixirc_paths(Mix.env()),
description: @project_description,
source_url: @source_url,
homepage_url: @homepage_url,
package: package(),
deps: deps(),
docs: docs(),
build_embedded: Mix.env() == :prod,
start_permanent: Mix.env() == :prod,
preferred_cli_env: preferred_cli_env(),
test_coverage: test_coverage(),
dialyzer: dialyzer()
]
end
# Appication definition for building the `.app` file
#
# See `mix help compile.app` for more information about the
# options used in this section
#
# Note: Because this is a package, the default environment
# is specified in this section. The `config/*` files in this
# repository are only useful for this package's local development
# and are not distributed with the package.
def application do
[
mod: {Timber, []},
env: env(),
applications: apps(Mix.env())
]
end
# List of applications to be loaded for the specified
# Mix environment.
defp apps(:test), do: apps()
defp apps(:dev), do: apps()
defp apps(_), do: apps()
# Default list of applications to be loaded regardless
# of Mix environment
defp apps(), do: [:logger, :poison, :msgpax, :hackney]
# The environment to be configured by default
defp env() do
[]
end
# Compiler paths switched on the Mix environment
#
# The `lib` directory is always compiled
#
# In the :test environment, `test/support` will also be compiled
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
# Preferred CLI Environment details
#
# Defines the preferred environment for Mix tasks
defp preferred_cli_env() do
[
coveralls: :test,
"coveralls.details": :test,
"coveralls.circle": :test,
"coveralls.html": :test
]
end
# Test Coverage configuration
#
# Sets the test converage tool to be Coveralls
defp test_coverage() do
[
tool: ExCoveralls
]
end
# Dialyzer configuration
defp dialyzer() do
[
plt_add_deps: true,
plt_add_apps: [:mix, :ssl, :inets],
ignore_warnings: "dialyzer.ignore-warnings"
]
end
# Package options for the Hex package listing
#
# See `mix help hex.publish` for more information about
# the options used in this section
defp package() do
[
name: :timber,
files: ["lib", "mix.exs", "README*", "LICENSE*"],
maintainers: ["Ben Johnson", "David Antaramian"],
licenses: ["ISC"],
links: %{
"GitHub" => @source_url
}
]
end
# Documentation options for ExDoc
defp docs() do
[
source_ref: "v#{@version}",
main: "readme",
logo: "doc_assets/logo.png",
extras: [
"README.md": [title: "README"],
"LICENSE.md": [title: "LICENSE"]
]
]
end
# Dependencies for this application
#
# See `mix help deps` for more information about the options used
# in this section
#
# Please:
#
# - Keep this as the last section in `mix.exs` to make
# it easily discoverable
# - Keep deps categorized by direct dependencies, third-party integrations,
# tooling
# - Keep each category sorted in alphabetical order
# - End all declarations in `,` so that they can easily be re-arranged
# and sorted
defp deps() do
deps = [
#
# Direct dependencies
#
# Hackney is pinned to known "safe" versions. While the pinned
# versions below are _not_ guaranteed to be bug-free, they are
# accepted by the community as stable.
{:hackney, "1.6.3 or 1.6.5 or 1.7.1 or 1.8.6 or ~> 1.9"},
{:msgpax, "~> 1.0 or ~> 2.0"},
{:poison, "~> 1.0 or ~> 2.0 or ~> 3.0"},
#
# Tooling
#
{:credo, "~> 0.4", only: [:dev, :test]},
{:dialyxir, "~> 0.3", only: [:dev, :test]},
{:earmark, "~> 1.2", only: [:dev, :docs]},
{:ex_doc, "~> 0.15", only: [:dev, :docs]},
{:excoveralls, "~> 0.5", only: [:test]}
]
direct_deps = [
#
# Third-party integrations
#
# Note to users: we specify versions below for the third-party
# libraries we integrate in order to provide some guarantee about
# code-path compatability. If you must over-ride a dependency's
# version requirement, you may run into an issue where code fails.
# We support Ecto after 2.0.0 but before 2.3.0
{:ecto, ">= 2.0.0 and < 2.3.0", optional: true},
# We support Phoenix after 1.2.0 but before 1.4.0
{:phoenix, ">= 1.2.0 and < 1.4.0", optional: true},
# We support Plug after 1.2.0 but before 1.6.0
{:plug, "~> 1.2", optional: true}
]
if System.get_env("NO_THIRD_PARTY_INTEGRATION_TEST") == "true" do
deps
else
direct_deps ++ deps
end
end
end