37 lines
1008 B
JavaScript
37 lines
1008 B
JavaScript
var util = require('./util');
|
|
var spawn = require('child_process').spawn;
|
|
var path = require('path');
|
|
var travisFoldStart = require('../travis/travis-fold');
|
|
|
|
|
|
module.exports = {
|
|
dir: pubGetDir,
|
|
subDir: pubGetSubDir
|
|
};
|
|
|
|
function pubGetDir(gulp, plugins, config) {
|
|
return function() {
|
|
var travisFoldEnd = travisFoldStart(`pubget-${config.dir}`);
|
|
|
|
return util.processToPromise(spawn(config.command, ['upgrade'], {
|
|
stdio: 'inherit',
|
|
cwd: config.dir
|
|
})).then(travisFoldEnd);
|
|
};
|
|
};
|
|
|
|
function pubGetSubDir(gulp, plugins, config) {
|
|
return function() {
|
|
var travisFoldEnd = travisFoldStart(`pubget-${config.command}-${config.dir}`);
|
|
|
|
// We need to execute pubspec serially as otherwise we can get into trouble
|
|
// with the pub cache...
|
|
return util.forEachSubDirSequential(config.dir, function(subDir) {
|
|
return util.processToPromise(spawn(config.command, ['upgrade'], {
|
|
stdio: 'inherit',
|
|
cwd: subDir
|
|
}));
|
|
}).then(travisFoldEnd);
|
|
};
|
|
};
|