| % 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. |