提交 c29826b2 编写于 作者: D Dirk Baeumer

Add compile-build-extensions tasks

上级 a6a72d90
......@@ -21,6 +21,9 @@ var glob = require('glob');
var fs = require('fs');
var JSONC = require('json-comments');
var sourcemaps = require('gulp-sourcemaps');
var nlsDev = require('vscode-nls-dev');
var quiet = !!process.env['VSCODE_BUILD_QUIET'];
var extensionsPath = path.join(path.dirname(__dirname), 'extensions');
......@@ -74,6 +77,7 @@ var tasks = readAllPlugins()
var pluginRoot = path.join(extensionsPath, name);
var clean = 'clean-extension:' + name;
var compile = 'compile-extension:' + name;
var compileBuild = 'compile-build-extension:' + name;
var watch = 'watch-extension:' + name;
var sources = 'extensions/' + name + '/src/**';
......@@ -89,15 +93,30 @@ var tasks = readAllPlugins()
var reporter = quiet ? null : createReporter();
var compilation = tsb.create(options, null, null, quiet ? null : function (err) { reporter(err.toString()); });
return function () {
return function (build) {
var input = es.through();
var tsFilter = filter(['**/*.ts', '!**/lib/lib*.d.ts'], { restore: true });
var output = input
.pipe(tsFilter)
.pipe(compilation())
.pipe(tsFilter.restore)
.pipe(quiet ? es.through() : reporter.end());
var output;
if (build) {
output = input
.pipe(tsFilter)
.pipe(sourcemaps.init())
.pipe(compilation())
.pipe(nlsDev.rewriteLocalizeCalls())
.pipe(sourcemaps.write('.', {
addComment: false,
includeContent: false
}))
.pipe(tsFilter.restore)
.pipe(quiet ? es.through() : reporter.end());
} else {
output = input
.pipe(tsFilter)
.pipe(compilation())
.pipe(tsFilter.restore)
.pipe(quiet ? es.through() : reporter.end());
}
return es.duplex(input, output);
};
......@@ -115,7 +134,15 @@ var tasks = readAllPlugins()
var src = es.merge(gulp.src(sources, sourcesOpts), gulp.src(deps, depsOpts));
return src
.pipe(pipeline())
.pipe(pipeline(false))
.pipe(gulp.dest('extensions/' + name + '/out'));
});
gulp.task(compileBuild, [clean], function () {
var src = es.merge(gulp.src(sources, sourcesOpts), gulp.src(deps, depsOpts));
return src
.pipe(pipeline(true))
.pipe(gulp.dest('extensions/' + name + '/out'));
});
......@@ -131,6 +158,7 @@ var tasks = readAllPlugins()
return {
clean: clean,
compile: compile,
compileBuild: compileBuild,
watch: watch
};
})
......@@ -138,4 +166,5 @@ var tasks = readAllPlugins()
gulp.task('clean-extensions', tasks.map(function (t) { return t.clean; }));
gulp.task('compile-extensions', tasks.map(function (t) { return t.compile; }));
gulp.task('compile-build-extensions', tasks.map(function (t) { return t.compileBuild; }));
gulp.task('watch-extensions', tasks.map(function (t) { return t.watch; }));
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册