Current section

Files

Jump to
p1_xml rebar.config.script
Raw

rebar.config.script

%%%-------------------------------------------------------------------
%%% @author Evgeniy Khramtsov <ekhramtsov@process-one.net>
%%% @copyright (C) 2013, Evgeniy Khramtsov
%%% @doc
%%% Rebar build script. Compliant with rebar and rebar3.
%%% @end
%%% Created : 8 May 2013 by Evgeniy Khramtsov <ekhramtsov@process-one.net>
%%%-------------------------------------------------------------------
Cfg = case file:consult("vars.config") of
{ok, Terms} ->
Terms;
_Err ->
[]
end ++ [{cflags, ""}, {ldflags, "-lexpat"}],
{cflags, CfgCFlags} = lists:keyfind(cflags, 1, Cfg),
{ldflags, CfgLDFlags} = lists:keyfind(ldflags, 1, Cfg),
NIFPortSpec = [{"priv/lib/xml.so", ["c_src/xml.c"]},
{"priv/lib/xml_stream.so", ["c_src/xml_stream.c"]}],
Config = [{erl_opts, [debug_info, {src_dirs, ["src"]}]},
{port_env, [{"CFLAGS", CfgCFlags ++ " $CFLAGS -g -O2 -Wall"},
{"LDFLAGS", CfgLDFlags ++ " $LDFLAGS"}]},
{port_specs, NIFPortSpec},
{cover_enabled, true},
{cover_export_enabled, true},
{profiles, [{test, [{erl_opts, [{src_dirs, ["src", "test"]}]}]}]},
{plugins, [rebar3_hex]}],
%% When running Travis test, upload test coverage result to coveralls:
Config2 = case os:getenv("TRAVIS") of
"true" ->
JobId = os:getenv("TRAVIS_JOB_ID"),
C1 = lists:keystore(deps, 1, Config, {deps, [{coveralls, ".*", {git, "https://github.com/markusn/coveralls-erl.git", "master"}}]}),
C2 = lists:keystore(plugin_dir, 1, C1, {plugin_dir, "deps/coveralls/src"}),
C3 = lists:keystore(plugins, 1, C2, {plugins, [rebar_coveralls]}), %% We do not need rebar3_hex from Travis
C4 = lists:keystore(coveralls_coverdata, 1, C3, {coveralls_coverdata, ".eunit/cover.coverdata"}),
C5 = lists:keystore(coveralls_service_job_id, 1, C4, {coveralls_service_job_id, JobId}),
lists:keystore(coveralls_service_name, 1, C5, {coveralls_service_name, "travis-ci"});
_ ->
Config
end,
%%io:format("xml configuration:~n ~p~n", [Config2]),
Config2.
%% Local Variables:
%% mode: erlang
%% End:
%% vim: set filetype=erlang tabstop=8: