% This file is part of Jiffy released under the MIT license. % See the LICENSE file for more information. % Only include PropEr as a dependency when the JIFFY_DEV % environment variable is defined. This allows downstream % applications to avoid requiring PropEr. % % This script is based on the example provided with Rebar. ErlOpts = [{d, 'JIFFY_DEV'}], Proper = [ {proper, ".*", {git, "git://github.com/manopapad/proper.git", "master"}} ], ConfigPath = filename:dirname(SCRIPT), DevMarker = filename:join([ConfigPath, ".jiffy.dev"]), case filelib:is_file(DevMarker) of true -> % Don't override existing dependencies Config0 = case lists:keyfind(deps, 1, CONFIG) of false -> CONFIG ++ [{deps, Proper}]; {deps, DepsList} -> lists:keyreplace(deps, 1, CONFIG, {deps, DepsList ++ Proper}) end, Config1 = case lists:keyfind(erl_opts, 1, Config0) of false -> Config0 ++ [{erl_opts, ErlOpts}]; {erl_opts, Opts} -> NewOpts = {erl_opts, Opts ++ ErlOpts}, lists:keyreplace(erl_opts, 1, Config0, NewOpts) end; false -> CONFIG end.