Ignore:
Timestamp:
03/14/14 16:11:32 (11 years ago)
Author:
hendrikvanantwerpen
Message:

Deployment and database management now done through Grunt. Look mom, no shell\!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Dev/trunk/grunt-tasks/svn-ignore.js

    r474 r517  
    66module.exports = function(grunt) {
    77
    8     grunt.registerMultiTask('svn-ignore',
    9                             "Makes sure the specified source files are ignored in Subversion.",
    10                             function(){
    11         var done = this.async();
     8    grunt.registerMultiTask(
     9        'svn-ignore',
     10        "Makes sure the specified source files are ignored in Subversion.",
     11        function(){
     12            var done = this.async();
    1213
    13         var tasks = _.chain(this.filesSrc)
    14                      .groupBy(path.dirname)
    15                      .map(function(files, dir) {
    16                          return _.partial(updateSvnIgnore,
    17                                           dir,
    18                                           _.chain(files)
    19                                            .map(path.basename)
    20                                            .sortBy(_.identity)
    21                                            .value());
    22                      })
    23                      .value();
     14            var tasks = _.chain(this.filesSrc)
     15                         .groupBy(path.dirname)
     16                         .map(function(files, dir) {
     17                             return _.partial(updateSvnIgnore,
     18                                              dir,
     19                                              _.chain(files)
     20                                               .map(path.basename)
     21                                               .sortBy(_.identity)
     22                                               .value());
     23                         })
     24                         .value();
    2425
    25         grunt.util.async.series(tasks,function(error, results){
    26             done(error);
     26            grunt.util.async.series(tasks,function(error, results){
     27                done(error);
     28            });
    2729        });
    28     });
    2930
    30     grunt.registerMultiTask('svn-ignore-clean',
    31                             "Clean generated ignore sections in Subversion.",
    32                             function(){
    33         var done = this.async();
     31    grunt.registerMultiTask(
     32        'svn-ignore-clean',
     33        "Clean generated ignore sections in Subversion.",
     34        function(){
     35            var done = this.async();
    3436
    35         var tasks = _.chain(this.filesSrc)
    36                      .map(function(file) {
    37                          return _.partial(clearSvnIgnore, file);
    38                      })
    39                      .value();
     37            var tasks = _.chain(this.filesSrc)
     38                         .map(function(file) {
     39                             return _.partial(clearSvnIgnore, file);
     40                         })
     41                         .value();
    4042
    41         grunt.util.async.series(tasks,function(error, results){
    42             done(error);
     43            grunt.util.async.series(tasks,function(error, results){
     44                done(error);
     45            });
    4346        });
    44     });
    4547
    4648    function updateSvnIgnore(dir,files,callback) {
     
    123125   
    124126    function readSvnIgnore(dir,callback) {
    125         return svnCommand('svn',
    126                           ['propget', 'svn:ignore', dir],
    127                           callback);
     127        return svn(['propget', 'svn:ignore', dir],
     128                   callback);
    128129    }
    129130
    130131    function writeSvnIgnore(dir,ignore,callback) {
    131         return svnCommand('svn',
    132                           ['propset', 'svn:ignore', ignore, dir],
    133                           callback);
     132        return svn(['propset', 'svn:ignore', ignore, dir],
     133                   callback);
    134134    }
    135135   
    136136    function deleteSvnIgnore(dir,callback) {
    137         return svnCommand('svn',
    138                           ['propdel', 'svn:ignore', dir],
    139                           callback);
     137        return svn(['propdel', 'svn:ignore', dir],
     138                   callback);
    140139    }
    141140   
    142     function svnCommand(cmd,args,callback) {
     141    function svn(args,callback) {
    143142        grunt.util.spawn({
    144             cmd: cmd,
     143            cmd: 'svn',
    145144            args: (args || [])
    146         }, function(error, result, code) {
     145        }, function(error, result) {
    147146            if ( error ) {
    148147                callback(error);
    149                 return;
     148            } else {
     149                callback(null,result.stdout);
    150150            }
    151             callback(null,result.stdout);
    152151        });
    153152    }
Note: See TracChangeset for help on using the changeset viewer.