Adding cleaner module to permit users to specify their own set of files to delete

This commit is contained in:
Dave Smith 2010-02-21 05:39:12 -07:00
parent 28d3b75641
commit 872076be3f
2 changed files with 43 additions and 1 deletions

View file

@ -6,6 +6,7 @@
rebar_base_compiler, rebar_base_compiler,
rebar_config, rebar_config,
rebar_core, rebar_core,
rebar_cleaner,
rebar_ct, rebar_ct,
rebar_deps, rebar_deps,
rebar_dialyzer, rebar_dialyzer,
@ -42,7 +43,8 @@
{any_dir_modules, [ {any_dir_modules, [
rebar_subdirs, rebar_subdirs,
rebar_deps, rebar_deps,
rebar_templater rebar_templater,
rebar_cleaner
]}, ]},
%% Dir specific processing modules %% Dir specific processing modules

40
src/rebar_cleaner.erl Normal file
View file

@ -0,0 +1,40 @@
%% -*- tab-width: 4;erlang-indent-level: 4;indent-tabs-mode: nil -*-
%% ex: ts=4 sw=4 et
%% -------------------------------------------------------------------
%%
%% rebar: Erlang Build Tools
%%
%% Copyright (c) 2009 Dave Smith (dizzyd@dizzyd.com)
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy
%% of this software and associated documentation files (the "Software"), to deal
%% in the Software without restriction, including without limitation the rights
%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
%% copies of the Software, and to permit persons to whom the Software is
%% furnished to do so, subject to the following conditions:
%%
%% The above copyright notice and this permission notice shall be included in
%% all copies or substantial portions of the Software.
%%
%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
%% THE SOFTWARE.
%% -------------------------------------------------------------------
-module(rebar_cleaner).
-export([clean/2]).
-include("rebar.hrl").
%% ===================================================================
%% Public API
%% ===================================================================
clean(Config, _AppFile) ->
%% Get a list of files to delete from config and remove them
FilesToClean = rebar_config:get(Config, clean_files, []),
[rebar_file_utils:rm_rf(F) || F <- FilesToClean],
ok.