anchor.diff:      lists:foreach(fun app/1, SubDirs),
   
       SrcDir = mad_utils:src(DepPath),
  -    Files = erl_files(SrcDir) ++ app_src_files(SrcDir),
  +    Files = sort(erl_files(SrcDir)) ++ app_src_files(SrcDir),
       case Files of
           [] ->
               ok;
  
positive.code:     Conf = mad_utils:rebar_conf(Dir),
      Conf1 = mad_utils:script(Dir, Conf),
      SrcDir = mad_utils:src(Dir),
      Files = erl_files(SrcDir) ++ app_src_files(SrcDir),
      case Files of
          [] ->
              ok;
  
negative.code: deps([]) ->
      ok;
  deps([H|T]) ->
      {Name, _} = mad_deps:name_and_repo(H),
      case get(Name) of
          compiled ->
              ok;
          _ ->
              dep(Name)
      end,
      deps(T).
  
  %% compile a dependency
  dep(DepName) ->
      %% check dependencies of the dependency
      Cwd = mad_utils:cwd(),
      DepPath = filename:join([Cwd, "deps", DepName]),
      Conf = mad_utils:rebar_conf(DepPath),
      Conf1 = mad_utils:script(DepPath, Conf),
      deps(mad_utils:get_value(deps, Conf1, [])),
  