Export-XLF function for ADS (#15709)

* wip commit

* added function to generate XLFs for ADS

* code cleanup

* removed unnecessary locfunc

* updated extensions and locfunc

* changed wording to be more clear

* added working single extension compile

* added export all extensions

* added more comments and closing sql carbon edit braces.

* consolidated gulpfile.extensions changes

* changed name to remove ADS part.

* changed gulpfile name use
This commit is contained in:
Alex Ma
2021-06-22 09:57:15 -07:00
committed by GitHub
parent 49562239a0
commit 1dc4a437eb
6 changed files with 103 additions and 52 deletions

View File

@@ -274,6 +274,49 @@ exports.compileExtensionsBuildTask = compileExtensionsBuildTask;
//#endregion
// {{SQL CARBON EDIT}}
//#region XLF Creation
//Get every extension in 'extensions' to create XLF files.
const exportCompilations = glob.sync('**/package.json', {
cwd: extensionsPath,
ignore: ['**/out/**', '**/node_modules/**', 'package.json']
});
//Run the localization packaging task on all extensions in ADS.
const exportTasks = exportCompilations.map(function (packageFile) {
const locFunc = require('./lib/locFunc');
const relativeDirname = path.dirname(packageFile);
const extensionName = relativeDirname.replace(/\//g, '-');
const packageTask = task.define(`localization-package-extension:${extensionName}`, task.series(() => {
return locFunc.packageSingleExtensionStream(extensionName)
.pipe(gulp.dest('.build'));
}));
// Tasks
gulp.task(packageTask);
return { packageTask };
});
const packageLocalizationExtensionsTask = task.define('package-localization-extensions-task', task.series(...exportTasks.map(t => t.packageTask)));
gulp.task(packageLocalizationExtensionsTask);
//Builds all ADS extensions including external/excluded extensions (only for creating XLF files, not for compiling extensions for shipping)
const compileLocalizationExtensionsBuildTask = task.define('compile-localization-extensions-build', task.series(
cleanExtensionsBuildTask,
compileExtensionsTask,
task.define('bundle-marketplace-extensions-build', () => ext.packageMarketplaceExtensionsStream(false).pipe(gulp.dest('.build'))),
packageLocalizationExtensionsTask,
));
gulp.task(compileLocalizationExtensionsBuildTask);
exports.compileLocalizationExtensionsBuildTask = compileLocalizationExtensionsBuildTask;
//#endregion
// {{SQL CARBON EDIT}} end
const compileWebExtensionsTask = task.define('compile-web', () => buildWebExtensions(false));
gulp.task(compileWebExtensionsTask);
exports.compileWebExtensionsTask = compileWebExtensionsTask;