mirror of
https://github.com/correl/rebar.git
synced 2024-12-18 03:00:17 +00:00
Merge pull request #221 from kaos/erlydtl
Adapt erlydtl compiler plugin to latest version of erlydtl
This commit is contained in:
commit
289a71e208
1 changed files with 20 additions and 9 deletions
|
@ -178,7 +178,7 @@ compile_dtl(Config, Source, Target, DtlOpts) ->
|
|||
?ERROR("~n===============================================~n"
|
||||
" You need to install erlydtl to compile DTL templates~n"
|
||||
" Download the latest tarball release from github~n"
|
||||
" http://code.google.com/p/erlydtl/~n"
|
||||
" https://github.com/erlydtl/erlydtl/releases~n"
|
||||
" and install it into your erlang library dir~n"
|
||||
"===============================================~n~n", []),
|
||||
?FAIL;
|
||||
|
@ -194,15 +194,22 @@ compile_dtl(Config, Source, Target, DtlOpts) ->
|
|||
do_compile(Config, Source, Target, DtlOpts) ->
|
||||
%% TODO: Check last mod on target and referenced DTLs here..
|
||||
|
||||
%% erlydtl >= 0.8.1 does not use the extra indirection using the
|
||||
%% compiler_options. Kept for backward compatibility with older
|
||||
%% versions of erlydtl.
|
||||
CompilerOptions = option(compiler_options, DtlOpts),
|
||||
|
||||
Sorted = proplists:unfold(
|
||||
lists:sort(
|
||||
[{out_dir, option(out_dir, DtlOpts)},
|
||||
{doc_root, option(doc_root, DtlOpts)},
|
||||
{custom_tags_dir, option(custom_tags_dir, DtlOpts)},
|
||||
{compiler_options, CompilerOptions}
|
||||
|CompilerOptions])),
|
||||
|
||||
%% ensure that doc_root and out_dir are defined,
|
||||
%% using defaults if necessary
|
||||
Opts = lists:ukeymerge(1,
|
||||
DtlOpts,
|
||||
lists:sort(
|
||||
[{out_dir, option(out_dir, DtlOpts)},
|
||||
{doc_root, option(doc_root, DtlOpts)},
|
||||
{custom_tags_dir, option(custom_tags_dir, DtlOpts)},
|
||||
{compiler_options, option(compiler_options, DtlOpts)}])),
|
||||
Opts = lists:ukeymerge(1, DtlOpts, Sorted),
|
||||
?INFO("Compiling \"~s\" -> \"~s\" with options:~n ~s~n",
|
||||
[Source, Target, io_lib:format("~p", [Opts])]),
|
||||
case erlydtl:compile(Source,
|
||||
|
@ -210,6 +217,8 @@ do_compile(Config, Source, Target, DtlOpts) ->
|
|||
Opts) of
|
||||
ok ->
|
||||
ok;
|
||||
{ok, _Mod} ->
|
||||
ok;
|
||||
{ok, _Mod, Ws} ->
|
||||
rebar_base_compiler:ok_tuple(Config, Source, Ws);
|
||||
{ok, _Mod, _Bin, Ws} ->
|
||||
|
@ -220,7 +229,9 @@ do_compile(Config, Source, Target, DtlOpts) ->
|
|||
rebar_base_compiler:error_tuple(Config, Source, [Error], [], Opts);
|
||||
{error, Msg} ->
|
||||
Es = [{Source, [{erlydtl_parser, Msg}]}],
|
||||
rebar_base_compiler:error_tuple(Config, Source, Es, [], Opts)
|
||||
rebar_base_compiler:error_tuple(Config, Source, Es, [], Opts);
|
||||
{error, Es, Ws} ->
|
||||
rebar_base_compiler:error_tuple(Config, Source, Es, Ws, Opts)
|
||||
end.
|
||||
|
||||
module_name(Target) ->
|
||||
|
|
Loading…
Reference in a new issue