anchor.diff:  default(source_ext) -> ".dtl";
   default(module_ext) -> "_dtl";
   default(custom_tags_dir) -> "";
  -default(compiler_options) -> [report, return];
  +default(compiler_options) -> [return];
   default(recursive) -> true.
   
  -compile_dtl(Source, Target, DtlOpts) ->
  +compile_dtl(Config, Source, Target, DtlOpts) ->
       case code:which(erlydtl) of
           non_existing ->
               ?ERROR("~n===============================================~n"
  
positive.code:                                      option(source_ext, DtlOpts),
                                       option(out_dir, DtlOpts),
                                       option(module_ext, DtlOpts) ++ ".beam",
                                       fun(S, T, _C) ->
                                          compile_dtl(S, T, DtlOpts)
                                       end,
                                       [{check_last_mod, false},
                                        {recursive, option(recursive, DtlOpts)}])
  
negative.code:     case erlydtl:compile(Source,
                           module_name(Target),
                           Opts) of
          ok ->
              ok;
          error ->
              rebar_base_compiler:error_tuple(Config, Source, [], [], Opts);
          {error, {_File, _Msgs} = Error} ->
              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)
      end.
  
  module_name(Target) ->
      F = filename:basename(Target),
  