Estoy desarrollando un modelo con JHipster que anula el subgenerador del servidor de entidad. El comportamiento deseado es reemplazar todos los archivos en /src/main/java/defaultpackageName/domain/ del proyecto generado por el blueprint con mis archivos generados. Este es mi código (files.js):
const entityServerFiles = { noHibernate: [ //domain files { path: 'src/main/java/XXX/domain/', templates: [ { file: 'Entity.java', renameTo: generator => `${generator.persistClass}.java` } ] } ] }; function writeFiles() { return { write() { this.writeFilesToDisk(entityServerFiles, this, false); } } } module.exports = { writeFiles };Por ahora, solo crea una carpeta XXX en /src/main/java/ con mis archivos generados.
¿Qué necesitaría escribir en XXX en la ruta: 'src/main/java/XXX/domain/' para generar los archivos en el lugar correcto?
Investigué un poco en github en el proyecto generator-jhipster y el aviso que le pide al usuario el nombre predeterminado del paquete java está en /generator-jhipster/generators/java/index.cjs/. Este es el código completo https://github.com/jhipster/generator-jhipster/blob/main/generators/java/index.cjs Pero solo tomé la parte importante:
const { PACKAGE_NAME, PACKAGE_NAME_DEFAULT_VALUE, PRETTIER_JAVA_INDENT, PRETTIER_JAVA_INDENT_DEFAULT_VALUE, BUILD_TOOL, BUILD_TOOL_DEFAULT_VALUE, BUILD_TOOL_PROMPT_CHOICES, } = require('./constants.cjs'); get prompting() { return { async showPrompts() { if (this.shouldSkipPrompts()) return; await this.prompt( [ { name: PACKAGE_NAME, type: 'input', validate: input => this.validatePackageName(input), message: 'What is your default Java package name?', default: () => this.sharedData.getConfigDefaultValue(PACKAGE_NAME, PACKAGE_NAME_DEFAULT_VALUE), }, ], this.config ); }, }; }Por lo que entiendo, solo necesito acceder a la constante PACKAGE_NAME desde mi plano y debería funcionar. ¿Algunas ideas?