2015-10-29 2 views
2

Мне нужна задача, которая зависит от моей задачи «checkout», чтобы дождаться завершения git. Вот что я пытался, но он идет к следующей задаче, не дожидаясь проверки ...Зависимости Gulp не ждут завершения git

var gulp = require('gulp'), git = require('gulp-git'); 

gulp.task('checkout', function() { 
    return git.pull('origin', 'Devel', { cwd: './source' }, function(err) { 
    if(err) { 
     gutil.log(err); 
    } 
    }); 
}); 

gulp.task('lint', ['checkout'], function() { 
    return gulp.src('./source/static.backyardfruit.com/js/backyardfruit/*.js') 
    .pipe(jshint()) 
    .pipe(jshint.reporter('jshint-stylish')) 
    .pipe(jshint.reporter('fail')); 
}); 

ответ

2

Решение использовать функцию обратного вызова в функции глотком задач. Ниже приведен рабочий код:

gulp.task('checkout', function(cb) { 
    git.pull('origin', 'Devel', { cwd: './source' }, function(err) { 
    if (err) return cb(err); 
    cb(); 
    }); 
}); 

gulp.task('lint', ['checkout'], function() { 
    return gulp.src('./source/static.backyardfruit.com/js/backyardfruit/*.js') 
    .pipe(jshint()) 
    .pipe(jshint.reporter('jshint-stylish')) 
    .pipe(jshint.reporter('fail')); 
}); 
Смежные вопросы