in package.js [181:272]
var createStrings = function (task, pkgPath, srcPath) {
var defer = Q.defer();
var strPath = path.join(pkgPath, _strRelPath);
shell.mkdir('-p', strPath);
var srcStrPath = path.join(srcPath, _strRelPath);
shell.mkdir('-p', srcStrPath);
//
// Loc tasks.json and product strings content
//
var strings = {};
strings[LOC_FRIENDLYNAME] = task.friendlyName;
task['friendlyName'] = 'ms-resource:' + LOC_FRIENDLYNAME;
strings[LOC_HELPMARKDOWN] = task.helpMarkDown;
task['helpMarkDown'] = 'ms-resource:' + LOC_HELPMARKDOWN;
strings[LOC_DESCRIPTION] = task.description;
task['description'] = 'ms-resource:' + LOC_DESCRIPTION;
strings[LOC_INSTFORMAT] = task.instanceNameFormat;
task['instanceNameFormat'] = 'ms-resource:' + LOC_INSTFORMAT;
if (task.groups) {
task.groups.forEach(function (group) {
if (group.name) {
var key = LOC_GROUPDISPLAYNAME + group.name;
strings[key] = group.displayName;
group.displayName = 'ms-resource:' + key;
}
});
}
if (task.inputs) {
task.inputs.forEach(function (input) {
if (input.name) {
var labelKey = LOC_INPUTLABEL + input.name;
strings[labelKey] = input.label;
input.label = 'ms-resource:' + labelKey;
if (input.helpMarkDown) {
var helpKey = LOC_INPUTHELP + input.name;
strings[helpKey] = input.helpMarkDown;
input.helpMarkDown = 'ms-resource:' + helpKey;
}
}
});
}
if (task.messages) {
for (var key in task.messages) {
var messageKey = LOC_MESSAGES + key;
strings[messageKey] = task.messages[key];
task.messages[key] = 'ms-resource:' + messageKey;
}
}
//
// Write the tasks.json and strings file in package and back to source
//
var enPath = path.join(strPath, 'resources.resjson');
var enSrcPath = path.join(srcStrPath, 'resources.resjson');
var enContents = JSON.stringify(strings, null, 2);
fs.writeFile(enPath, enContents, function (err) {
if (err) {
defer.reject(createError('could not create: ' + enPath + ' - ' + err.message));
return;
}
var taskPath = path.join(pkgPath, 'task.loc.json');
var contents = JSON.stringify(task, null, 2);
fs.writeFile(taskPath, contents, function (err) {
if (err) {
defer.reject(createError('could not create: ' + taskPath + ' - ' + err.message));
return;
}
// copy the loc assets back to the src so they can be checked in
shell.cp('-f', enPath, enSrcPath);
shell.cp('-f', taskPath, path.join(srcPath, 'task.loc.json'));
defer.resolve();
});
})
return defer.promise;
};