remove npm-install-plugin:* tasks
This commit is contained in:
parent
96d34d983d
commit
e5e791215f
|
@ -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; }));
|
||||||
|
|
Loading…
Reference in a new issue