remove npm-install-plugin:* tasks

This commit is contained in:
Joao Moreno 2015-11-20 15:52:38 +01:00
parent 96d34d983d
commit e5e791215f

View file

@ -33,7 +33,6 @@ function getTSConfig(plugin) {
} }
var pluginRoot = path.join(extensionsPath, plugin.desc.name); var pluginRoot = path.join(extensionsPath, plugin.desc.name);
var options = null; var options = null;
if (match[2]) { if (match[2]) {
@ -82,97 +81,77 @@ function readAllPlugins() {
var tasks = readAllPlugins() var tasks = readAllPlugins()
.map(function (plugin) { .map(function (plugin) {
var options = getTSConfig(plugin);
if (!options) {
return null;
}
var name = plugin.desc.name; var name = plugin.desc.name;
var pluginRoot = path.join(extensionsPath, name); var pluginRoot = path.join(extensionsPath, name);
var clean = 'clean-plugin:' + name; var clean = 'clean-plugin:' + name;
var compile = 'compile-plugin:' + name; var compile = 'compile-plugin:' + name;
var watch = 'watch-plugin:' + name; var watch = 'watch-plugin:' + name;
var npmInstall = 'npm-install-plugin:' + name;
var hasnpmTask = (plugin.desc.dependencies && Object.keys(plugin.desc.dependencies).length > 0); var sources = 'extensions/' + name + '/src/**';
var deps = [
'src/vs/vscode.d.ts',
'src/typings/mocha.d.ts',
'extensions/declares.d.ts',
'extensions/node.d.ts',
'extensions/lib.core.d.ts'
];
if (hasnpmTask) { var pipeline = (function () {
gulp.task(npmInstall, function (cb) { var reporter = quiet ? null : createReporter();
cp.exec('npm install', { cwd: pluginRoot }, cb); var compilation = tsb.create(options, null, null, quiet ? null : function (err) { reporter(err.toString()); });
});
}
var options = getTSConfig(plugin); return function () {
var input = es.through();
var tsFilter = filter(['**/*.ts', '!**/lib/lib*.d.ts'], { restore: true });
if (options) { var output = input
var sources = 'extensions/' + name + '/src/**'; .pipe(tsFilter)
var deps = [ .pipe(compilation())
'src/vs/vscode.d.ts', .pipe(tsFilter.restore)
'src/typings/mocha.d.ts', .pipe(quiet ? es.through() : reporter());
'extensions/declares.d.ts',
'extensions/node.d.ts',
'extensions/lib.core.d.ts'
];
var pipeline = (function () { return es.duplex(input, output);
var reporter = quiet ? null : createReporter(); };
var compilation = tsb.create(options, null, null, quiet ? null : function (err) { reporter(err.toString()); }); })();
return function () { var sourcesRoot = path.join(pluginRoot, 'src');
var input = es.through(); var sourcesOpts = { cwd: path.dirname(__dirname), base: sourcesRoot };
var tsFilter = filter(['**/*.ts', '!**/lib/lib*.d.ts'], { restore: true }); var depsOpts = { cwd: path.dirname(__dirname) };
var output = input gulp.task(clean, function (cb) {
.pipe(tsFilter) rimraf(path.join(pluginRoot, 'out'), cb);
.pipe(compilation()) });
.pipe(tsFilter.restore)
.pipe(quiet ? es.through() : reporter());
return es.duplex(input, output); gulp.task(compile, [clean], function () {
}; var src = es.merge(gulp.src(sources, sourcesOpts), gulp.src(deps, depsOpts));
})();
var sourcesRoot = path.join(pluginRoot, 'src'); return src
var sourcesOpts = { cwd: path.dirname(__dirname), base: sourcesRoot }; .pipe(pipeline())
var depsOpts = { cwd: path.dirname(__dirname) }; .pipe(gulp.dest('extensions/' + name + '/out'));
});
gulp.task(clean, function (cb) { gulp.task(watch, [clean], function () {
rimraf(path.join(pluginRoot, 'out'), cb); var src = es.merge(gulp.src(sources, sourcesOpts), gulp.src(deps, depsOpts));
}); var watchSrc = es.merge(watcher(sources, sourcesOpts), watcher(deps, depsOpts));
gulp.task(compile, hasnpmTask ? [clean, npmInstall] : [clean], function () { return watchSrc
var src = es.merge(gulp.src(sources, sourcesOpts), gulp.src(deps, depsOpts)); .pipe(util.incremental(pipeline, src))
.pipe(gulp.dest('extensions/' + name + '/out'));
return src });
.pipe(pipeline())
.pipe(gulp.dest('extensions/' + name + '/out'));
});
gulp.task(watch, [clean], function () {
var src = es.merge(gulp.src(sources, sourcesOpts), gulp.src(deps, depsOpts));
var watchSrc = es.merge(watcher(sources, sourcesOpts), watcher(deps, depsOpts));
return watchSrc
.pipe(util.incremental(pipeline, src))
.pipe(gulp.dest('extensions/' + name + '/out'));
});
} else {
if (hasnpmTask) {
gulp.task(clean, noop);
gulp.task(compile, [npmInstall], noop);
gulp.task(watch, noop);
} else {
return null;
}
}
return { return {
clean: clean, clean: clean,
compile: compile, compile: compile,
watch: watch watch: watch
}; };
}); })
.filter(function(task) { return !!task; });
// remove null tasks
tasks = tasks.filter(function(task) {
return !!task;
})
gulp.task('clean-plugins', tasks.map(function (t) { return t.clean; })); gulp.task('clean-plugins', tasks.map(function (t) { return t.clean; }));
gulp.task('compile-plugins', tasks.map(function (t) { return t.compile; })); gulp.task('compile-plugins', tasks.map(function (t) { return t.compile; }));