2018-07-25 16:08:53 -06:00
|
|
|
defmodule FarmbotCore.MixProject do
|
|
|
|
use Mix.Project
|
|
|
|
@target System.get_env("MIX_TARGET") || "host"
|
|
|
|
@version Path.join([__DIR__, "..", "VERSION"]) |> File.read!() |> String.trim()
|
|
|
|
@branch System.cmd("git", ~w"rev-parse --abbrev-ref HEAD") |> elem(0) |> String.trim()
|
2018-08-01 13:51:08 -06:00
|
|
|
@elixir_version Path.join([__DIR__, "..", "ELIXIR_VERSION"]) |> File.read!() |> String.trim()
|
2018-07-25 16:08:53 -06:00
|
|
|
|
|
|
|
defp commit do
|
|
|
|
System.cmd("git", ~w"rev-parse --verify HEAD") |> elem(0) |> String.trim()
|
|
|
|
end
|
|
|
|
|
|
|
|
def project do
|
|
|
|
[
|
|
|
|
app: :farmbot_core,
|
|
|
|
description: "The Brains of the Farmbot Project",
|
2018-08-01 13:51:08 -06:00
|
|
|
elixir: @elixir_version,
|
2018-07-25 16:08:53 -06:00
|
|
|
make_clean: ["clean"],
|
|
|
|
make_cwd: __DIR__,
|
|
|
|
compilers: [:elixir_make] ++ Mix.compilers(),
|
2018-10-29 10:33:52 -06:00
|
|
|
elixirc_paths: elixirc_paths(Mix.env()),
|
2018-07-25 16:08:53 -06:00
|
|
|
version: @version,
|
|
|
|
target: @target,
|
|
|
|
branch: @branch,
|
|
|
|
commit: commit(),
|
2019-03-25 11:30:53 -06:00
|
|
|
build_embedded: false,
|
2018-07-25 16:08:53 -06:00
|
|
|
start_permanent: Mix.env() == :prod,
|
2018-10-29 10:33:52 -06:00
|
|
|
aliases: aliases(),
|
2018-07-25 16:08:53 -06:00
|
|
|
deps: deps(),
|
|
|
|
dialyzer: [
|
|
|
|
plt_add_deps: :transitive,
|
|
|
|
plt_add_apps: [:mix],
|
|
|
|
flags: []
|
|
|
|
],
|
|
|
|
test_coverage: [tool: ExCoveralls],
|
2018-10-29 10:33:52 -06:00
|
|
|
preferred_cli_env: [
|
|
|
|
coveralls: :test,
|
|
|
|
"coveralls.detail": :test,
|
|
|
|
"coveralls.post": :test,
|
|
|
|
"coveralls.html": :test
|
|
|
|
],
|
2018-07-25 16:08:53 -06:00
|
|
|
source_url: "https://github.com/Farmbot/farmbot_os",
|
2018-10-29 10:33:52 -06:00
|
|
|
homepage_url: "http://farmbot.io"
|
2018-07-25 16:08:53 -06:00
|
|
|
]
|
|
|
|
end
|
|
|
|
|
|
|
|
# Run "mix help compile.app" to learn about applications.
|
|
|
|
def application do
|
|
|
|
[
|
|
|
|
extra_applications: [:logger],
|
2019-03-05 11:09:15 -07:00
|
|
|
mod: {FarmbotCore, []}
|
2018-07-25 16:08:53 -06:00
|
|
|
]
|
|
|
|
end
|
|
|
|
|
|
|
|
# Run "mix help deps" to learn about dependencies.
|
|
|
|
defp deps do
|
|
|
|
[
|
2018-08-09 12:56:16 -06:00
|
|
|
{:farmbot_celery_script, path: "../farmbot_celery_script", env: Mix.env()},
|
2019-03-19 13:35:40 -06:00
|
|
|
{:farmbot_firmware, path: "../farmbot_firmware", env: Mix.env()},
|
2019-03-25 11:30:53 -06:00
|
|
|
{:elixir_make, "~> 0.5", runtime: false},
|
2018-10-31 14:32:30 -06:00
|
|
|
{:sqlite_ecto2, "~> 2.3"},
|
2018-07-25 16:08:53 -06:00
|
|
|
{:timex, "~> 3.4"},
|
2018-10-31 14:32:30 -06:00
|
|
|
{:jason, "~> 1.1"},
|
2019-01-22 12:43:18 -07:00
|
|
|
{:muontrap, "~> 0.4.0"},
|
2019-01-25 10:49:52 -07:00
|
|
|
{:excoveralls, "~> 0.10", only: [:test], targets: [:host]},
|
|
|
|
{:dialyxir, "~> 1.0.0-rc.3", only: [:dev], targets: [:host], runtime: false},
|
|
|
|
{:ex_doc, "~> 0.19", only: [:dev], targets: [:host], runtime: false}
|
2018-07-25 16:08:53 -06:00
|
|
|
]
|
|
|
|
end
|
|
|
|
|
2018-10-29 10:33:52 -06:00
|
|
|
defp elixirc_paths(:test) do
|
|
|
|
["lib", "../test/support"]
|
|
|
|
end
|
|
|
|
|
2018-11-19 12:32:54 -07:00
|
|
|
defp elixirc_paths(:dev) do
|
|
|
|
["lib", "../test/support"]
|
|
|
|
end
|
|
|
|
|
2018-10-29 10:33:52 -06:00
|
|
|
defp elixirc_paths(_), do: ["lib"]
|
|
|
|
|
|
|
|
defp aliases,
|
|
|
|
do: [
|
|
|
|
test: ["ecto.drop", "ecto.migrate", "test"]
|
|
|
|
]
|
2018-07-25 16:08:53 -06:00
|
|
|
end
|