Packages
tarearbol
1.0.0
1.12.0
1.11.2
1.11.1
1.11.0
1.10.4
1.10.3
1.10.2
1.10.0
1.9.102
1.9.101
1.9.100
1.9.99
1.9.11
1.9.10
1.9.9
1.9.8
1.9.7
1.9.6
1.9.5
1.9.4
1.9.3
1.9.2
1.9.1
1.9.0
1.8.2
1.8.1
1.8.0
1.7.0
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.0
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.0
1.2.1
1.2.0
1.1.2
1.1.1
1.1.0
1.0.4
1.0.3
1.0.2
1.0.0
0.99.11
0.99.10
0.99.9
0.99.8
0.99.7
0.99.6
0.99.4
0.99.3
0.99.2
0.99.1
0.99.0
0.14.1
0.14.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.0
0.10.0
0.9.6
0.9.5
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.0
0.6.0
0.5.1
0.5.0
0.4.3
0.4.2
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.2
0.2.1
0.2.0
0.1.0
The supervised tree of tasks, simplifying the process of handling: - recurrent tasks - retried tasks - long tasks - etc
Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Tarearbol.Mixfile do
@moduledoc false
use Mix.Project
@app :tarearbol
@version "1.0.0"
def project do
[
app: @app,
version: @version,
elixir: "~> 1.10",
start_permanent: Mix.env() == :prod,
elixirc_paths: elixirc_paths(Mix.env()),
compilers: compilers(Mix.env()),
preferred_cli_env: ["test.cluster": :ci],
package: package(),
description: description(),
deps: deps(),
aliases: aliases(),
xref: [exclude: []],
docs: docs(),
releases: [
{@app,
[
include_executables_for: [:unix],
applications: [logger: :permanent]
]}
],
dialyzer: [
plt_file: {:no_warn, ".dialyzer/plts/dialyzer.plt"},
plt_add_deps: :transitive,
plt_add_apps: [:mix],
ignore_warnings: ".dialyzer/ignore.exs"
]
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications: extra_applications(Mix.env()),
mod: {Tarearbol.Application, []}
]
end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:formulae, "~> 0.5"},
{:boundary, "~> 0.4", runtime: false},
{:telemetria, "~> 0.5", optional: true},
{:cloister, "~> 0.1", optional: true},
# dev / test
{:credo, "~> 1.0", only: [:dev, :ci]},
{:dialyxir, "~> 1.0.0", only: [:dev, :test, :ci], runtime: false},
{:benchfella, "~> 0.3", only: [:dev]},
{:ex_doc, "~> 0.11", only: :dev},
{:test_cluster_task, "~> 0.1", only: [:test, :ci]},
{:mock, "~> 0.2", only: [:test, :ci]},
{:stream_data, "~> 0.4", only: [:test, :ci]}
]
end
defp aliases do
[
quality: ["format", "credo --strict", "dialyzer"],
"quality.ci": [
"format --check-formatted",
"credo --strict",
"dialyzer --halt-exit-status"
]
]
end
defp description do
"""
The supervised tree of tasks, simplifying the process of handling:
- recurrent tasks
- retried tasks
- long tasks
- etc
"""
end
defp package do
[
name: @app,
files: ~w|config lib mix.exs README.md|,
maintainers: ["Aleksei Matiushkin"],
licenses: ["MIT"],
links: %{
"GitHub" => "https://github.com/am-kantox/#{@app}",
"Docs" => "https://hexdocs.pm/#{@app}"
}
]
end
defp docs do
[
main: "intro",
source_ref: "v#{@version}",
canonical: "http://hexdocs.pm/#{@app}",
logo: "stuff/images/logo.png",
source_url: "https://github.com/am-kantox/#{@app}",
assets: "stuff/images",
extras: [
"stuff/pages/intro.md",
"stuff/pages/task_management.md",
"stuff/pages/dynamic_workers_management.md",
"stuff/pages/cron_management.md"
],
groups_for_modules: [
"Task Sugar": [
Tarearbol
],
"Dymanic Supervisor Sugar": [
Tarearbol.DynamicManager
],
Scheduler: [
Tarearbol.Calendar,
Tarearbol.Crontab,
Tarearbol.Scheduler,
Tarearbol.Scheduler.Job
],
Exceptions: [
Tarearbol.TaskFailedError
]
]
]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(:ci), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp extra_applications(:test), do: [:logger, :stream_data, :telemetria]
defp extra_applications(:ci), do: [:logger, :cloister, :stream_data]
defp extra_applications(:dev), do: [:logger]
defp extra_applications(:prod), do: [:logger]
defp compilers(:test), do: [:boundary, :telemetria | Mix.compilers()]
defp compilers(_), do: [:boundary | Mix.compilers()]
end