2013-05-10 23 views
5

Başarısız geçip geçmediklerine bakılmaksızın, birbiri ardına sırayla 3 zahmetli bir şekilde çalışan bir grunt dosyası oluşturmak istiyorum. Grunts görevinden biri başarısız olursa, son hata kodunu döndürmek istiyorum. Gruntfile seri olarak programlardan hata kodları alınıyor

Denedim:

grunt.task.run('task1', 'task2', 'task3'); 

--force seçeneğiyle çalıştırırken.

Buradaki sorun, --force belirtildiğinde, hatalardan bağımsız olarak hata kodu 0'ı döndürmesidir.

Teşekkür

cevap

7

Kullanım grunt.util.spawn: `seçmesi sonra http://gruntjs.com/api/grunt.util#grunt.util.spawn

grunt.registerTask('serial', function() { 
    var done = this.async(); 
    var tasks = {'task1': 0, 'task2': 0, 'task3': 0}; 
    grunt.util.async.forEachSeries(Object.keys(tasks), function(task, next) { 
    grunt.util.spawn({ 
     grunt: true, // use grunt to spawn 
     args: [task], // spawn this task 
     opts: { stdio: 'inherit' }, // print to the same stdout 
    }, function(err, result, code) { 
     tasks[task] = code; 
     next(); 
    }); 
    }, function() { 
    // Do something with tasks now that each 
    // contains their respective error code 
    done(); 
    }); 
}); 
+0

Sen fazladan bir virgül vardır: {stdio: 'devralır'}' ama güzel sayesinde çok !!! – GTDev

+0

Amaç var;) Trailing virgülleri nod => 0.8. En azından bence öyle heh –

İlgili konular