Skip to content

Instantly share code, notes, and snippets.

@adkron
Created July 15, 2017 00:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adkron/ef09ee684ea7fd9b73d4bb7bae27956e to your computer and use it in GitHub Desktop.
Save adkron/ef09ee684ea7fd9b73d4bb7bae27956e to your computer and use it in GitHub Desktop.
defmodule Smartrentcloud.Mixfile do
use Mix.Project
alias Mix.Shell.{IO}
def project do
[apps_path: "apps",
build_embedded: Mix.env == :prod,
start_permanent: Mix.env == :prod,
aliases: aliases(),
preferred_cli_env: [pipeline: :test],
deps: deps()]
end
defp deps do
[
{:credo, "0.8.1", only: [:dev, :test]},
{:dialyxir, "~> 0.5", only: [:dev], runtime: false},
{:mix_test_watch, "~> 0.3", only: :dev, runtime: false}
]
end
defp aliases do
[
rebuild_db: ["ecto.drop", "ecto.create", "ecto.migrate"],
pipeline: ["rebuild_db", "test"],
start_db: &start_db_container/1,
seed: "run apps/server/priv/repo/seeds.exs",
init: [
"start_db",
"deps.get",
&node_setup/1,
"rebuild_db",
"seed",
],
clean: ["clean", &clean_node/1],
server: ["start_db", "phx.server"],
]
end
def node_setup(_) do
case IO.cmd("cd apps/server/assets && yarn install") do
0 -> IO.info "Node setup complete"
exit_code -> IO.info "Node setup failed with exit code #{exit_code}"
end
end
def clean_node(_) do
IO.cmd("rm -rf apps/server/node_modules")
end
def start_db_container(_) do
IO.cmd("docker-compose up -d")
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment