anchor.diff:      %% directories that should be processed _before_ the current one.
       Predirs = acc_modules(Modules, preprocess, Config, ModuleSetFile),
   
  +    SubdirAssoc = remember_cwd_subdir(Dir, Predirs),
  +
       %% Get the list of plug-in modules from rebar.config. These
       %% modules may participate in preprocess and postprocess.
  -    {ok, PluginModules} = plugin_modules(Config),
  +    {ok, PluginModules} = plugin_modules(Config, SubdirAssoc),
   
       PluginPredirs = acc_modules(PluginModules, preprocess,
                                   Config, ModuleSetFile),
  
positive.code:     FilterMissing = is_missing_plugin(Loaded),
      NotLoaded = [V || V <- Modules, FilterMissing(V)],
      {Loaded, NotLoaded}.
  
  is_missing_plugin(Loaded) ->
      fun(Mod) -> not lists:member(Mod, Loaded) end.
  
negative.code: 
      %% Return the updated dirset as our result
      DirSet4.
  
  remember_cwd_subdir(Cwd, Subdirs) ->
      Store = fun(Dir, Dict) ->
                      case dict:find(Dir, Dict) of
                          error ->
                              ?DEBUG("Associate sub_dir ~s with ~s~n", [Dir, Cwd]),
                              dict:store(Dir, Cwd, Dict);
                          {ok, Existing} ->
                              ?ABORT("sub_dir ~s already associated with ~s~n",
                                     [Dir, Existing]),
                              Dict
                      end
              end,
      lists:foldl(Store, dict:new(), Subdirs).
  
  maybe_load_local_config(Dir, ParentConfig) ->
      %% We need to ensure we don't overwrite custom
  