View gist:8135f58949e7a3144bf7
{deps, [
{eleveldb, {git, "https://github.com/basho/eleveldb.git", {branch, "master"}}}
]}.
{overrides,
[{override, eleveldb, [
{pre_hooks, [{compile, "c_src/build_deps.sh get-deps"},
{compile, "c_src/build_deps.sh"}]},
{post_hooks, [{clean, "c_src/build_deps.sh clean"}]},
View gist:bda9eca71d86835a3103
{overrides,
[{override, eleveldb, [
{pre_hooks, [{compile, "c_src/build_deps.sh get-deps"},
{compile, "c_src/build_deps.sh"}]},
{post_hooks, [{clean, "c_src/build_deps.sh clean"}]}
]
}]}.
View gist:a2bd3535ffb27a987580
-module(terrible).
-export([main/0]).
-export([run/1, process_state/1]).
main() ->
proc_lib:spawn_link(?MODULE, run, [hello]),
proc_lib:spawn_link(?MODULE, run, [goodbye]),
View gist:e93fb9fdef2725f94665
# Based on c_src.mk from erlang.mk by Loïc Hoguin <essen@ninenines.eu>
PROJECT ?= $(notdir $(CURDIR))
PROJECT := $(strip $(PROJECT))
ERTS_INCLUDE_DIR ?= $(shell erl -noshell -s init stop -eval "io:format(\"~s/erts-~s/include/\", [code:root_dir(), erlang:system_info(version)]).")
ERL_INTERFACE_INCLUDE_DIR ?= $(shell erl -noshell -s init stop -eval "io:format(\"~s\", [code:lib_dir(erl_interface, include)]).")
ERL_INTERFACE_LIB_DIR ?= $(shell erl -noshell -s init stop -eval "io:format(\"~s\", [code:lib_dir(erl_interface, lib)]).")
C_SRC_DIR = $(CURDIR)/c_src
View gist:41f777e3ea33458fe19c
defmodule Hello do
def hello() do
IO.puts "good"
end
def hello(opts \\ []) do
IO.puts "hello"
end
end
View gist:2f4b44f6e314f037e9e2
[date, "T", time, "",
{module, [
" mod=",
module], ""},
" ", message, EOL]
View gist:1e16d70268182db1415a

Rebar3 Profiles

Motivation

Often you want to build the same project in different ways depending on context, whether it be development or preparing for production deployment. Or you want some dependencies only for use in certain contexts such as running tests and don't want them conflicting with regular dependencies or bother to be fetched and built when not needed.

Those are some of the reasons we've introduced profiles.

Directory Structure

View gist:14a3c46351dadb65119d
λ ../rebar/rebar3 pkgs
zeta:
Versions: 0.1.1
tinymt:
Versions: 0.0.9
swab:
Versions: 1.0.0
View gist:20081e667eae0554228a
λ ../rebar/rebar3 help release
Usage: rebar release [-n <relname>] [-v <relvsn>] [-g <goal>]
                     [-u <upfrom>] [-o <output_dir>] [-h] [-l <lib_dir>]
                     [-p <path>] [--default-libs <default_libs>]
                     [-V [<log_level>]] [-d <dev_mode>]
                     [-i <include_erts>] [-a <override>] [-c [<config>]]
                     [--overlay_vars <overlay_vars>]
                     [--sys_config <sys_config>]
                     [--system_libs <system_libs>] [--version]