vagabond-uml
Version:
UML support for Vagabond via XMI and JDL files
44 lines (40 loc) • 1.33 kB
JavaScript
var chalk = require('chalk'),
child_process = require('child_process');
/**
* Generates the entities locally by using JHipster to create the files, and
* generate the different files.
* @param scheduledClasses {array<String>} the scheduled classes.
* @param classes {object} the classes to add.
* @param force {boolean} the force flag.
*/
var generateEntities = module.exports = function(scheduledClasses, classes, force) {
if (scheduledClasses.length === 0 || classes.length === 0) {
console.info('No entity has to be generated.');
return;
}
console.info(chalk.green('Creating:'));
scheduledClasses.forEach(function(scheduledClass) {
console.info(chalk.green('\t' + classes[scheduledClass].name));
});
scheduledClasses.forEach(function(scheduledClass) {
var cmd, args;
if (process.platform === 'win32') {
cmd = process.env.comspec || 'cmd.exe';
args = ['/s', '/c', 'yo jhipster:entity', classes[scheduledClass].name];
} else {
cmd = 'yo';
args = ['jhipster:entity', classes[scheduledClass].name];
}
if (force) {
args.push('--force');
}
args.push('--regenerate');
child_process.spawnSync(
cmd,
args,
{ stdio: [process.stdin, process.stdout, process.stderr] }
);
console.info('\n');
});
};
;