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);
 | 
						|
  };
 | 
						|
};
 |