diff options
| author | Ryan Zezeski <rzezeski@gmail.com> | 2012-09-02 22:30:58 -0400 | 
|---|---|---|
| committer | Tuncer Ayaz <tuncer.ayaz@gmail.com> | 2012-09-03 12:10:14 +0200 | 
| commit | e7be6874d7dded06659a055d497247aba1c90b4c (patch) | |
| tree | b030f1d8af117737391bfce748e334475186cac6 | |
| parent | 48c7f53930e60eacec82b671d91aaac773ba9bab (diff) | |
Pass compile flags to protobuffs
By default protobuffs doesn't create beams with debug info.  This
causes issues when running dialyzer which requires debug info.  Read
the `erl_opts` config and pass it down to protobuffs compiler.
| -rw-r--r-- | src/rebar_protobuffs_compiler.erl | 14 | 
1 files changed, 8 insertions, 6 deletions
| diff --git a/src/rebar_protobuffs_compiler.erl b/src/rebar_protobuffs_compiler.erl index 249588c..7ef58d6 100644 --- a/src/rebar_protobuffs_compiler.erl +++ b/src/rebar_protobuffs_compiler.erl @@ -35,7 +35,7 @@  %% Public API  %% =================================================================== -compile(_Config, _AppFile) -> +compile(Config, _AppFile) ->      case rebar_utils:find_files("src", ".*\\.proto$") of          [] ->              ok; @@ -49,7 +49,7 @@ compile(_Config, _AppFile) ->                                    Proto <- FoundFiles],                      %% Compile each proto file -                    compile_each(Targets); +                    compile_each(Config, Targets);                  false ->                      ?ERROR("Protobuffs library not present in code path!\n",                             []), @@ -95,13 +95,15 @@ needs_compile(Proto, Beam) ->      ActualBeam = filename:join(["ebin", filename:basename(Beam)]),      filelib:last_modified(ActualBeam) < filelib:last_modified(Proto). -compile_each([]) -> +compile_each(_, []) ->      ok; -compile_each([{Proto, Beam, Hrl} | Rest]) -> +compile_each(Config, [{Proto, Beam, Hrl} | Rest]) ->      case needs_compile(Proto, Beam) of          true ->              ?CONSOLE("Compiling ~s\n", [Proto]), -            case protobuffs_compile:scan_file(Proto) of +            ErlOpts = rebar_utils:erl_opts(Config), +            case protobuffs_compile:scan_file(Proto, +                                              [{compile_flags,ErlOpts}]) of                  ok ->                      %% Compilation worked, but we need to move the                      %% beam and .hrl file into the ebin/ and include/ @@ -120,7 +122,7 @@ compile_each([{Proto, Beam, Hrl} | Rest]) ->          false ->              ok      end, -    compile_each(Rest). +    compile_each(Config, Rest).  delete_each([]) ->      ok; | 
