123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- %% -*- mode: erlang -*-
- Patch = fun (Key, Value, Config) ->
- case lists:keysearch(Key, 1, Config) of
- {value, {_, Org}} ->
- lists:keyreplace(Key, 1, Config, {Key, Org ++ Value});
- false ->
- [{Key, Value}|Config]
- end
- end,
- Merge = fun (NewCfg) ->
- PatchCfg =
- case os:getenv("EXTRA_CONFIG") of
- false ->
- NewCfg;
- File ->
- {ok, ExtraCfg} = file:consult(File),
- NewCfg ++ ExtraCfg
- end,
- lists:foldl(
- fun ({K, V}, C) -> Patch(K, V, C) end,
- CONFIG, PatchCfg)
- end,
- application:load(syntax_tools),
- case application:get_key(syntax_tools, vsn) of
- {ok, Vsn} when "1.7" > Vsn ->
- Deps = [{merl, ".*",
- {git, "git://github.com/erlydtl/merl.git", "750b09d44425f435ff579a4d28bf5844bb5b4ef1"},
- [raw]}],
- PreHooks =
- [{"(linux|darwin|solaris)", compile, "make -C \"$REBAR_DEPS_DIR/merl\" all -W test"},
- {"(freebsd|netbsd|openbsd)", compile, "gmake -C \"$REBAR_DEPS_DIR/merl\" all"},
- {"win32", compile, "make -C \"%REBAR_DEPS_DIR%/merl\" all -W test"},
- {"(linux|darwin|solaris)", eunit, "make -C \"$REBAR_DEPS_DIR/merl\" test"},
- {"(freebsd|netbsd|openbsd)", eunit, "gmake -C \"$REBAR_DEPS_DIR/merl\" test"},
- {"win32", eunit, "make -C \"%REBAR_DEPS_DIR%/merl\" test"}],
- Merge([{deps, Deps},
- {pre_hooks, PreHooks},
- {erl_opts, [{d, 'MERL_DEP'}]}]);
- _ ->
- Merge([])
- end.
|