Переопределить шаблоны файлов с помощью Jhipster blueprint - PullRequest
0 голосов
/ 04 октября 2018

Я бы хотел использовать разные последовательности для каждого объекта jpa в моем проекте jhipster.Я рассматриваю план Jhipster, чтобы сделать это для моего проекта.

Теперь я понял, что могу сделать это, изменив шаблон файла Entity.java.ejs file и изменив строку с:

@SequenceGenerator(name = "sequenceGenerator")

до

@SequenceGenerator(name = "sequenceGenerator", sequenceName = "<%= entityInstance %>_seq")

Какой самый простой способ включить мой пользовательский шаблон в проект jhipster?

Я могу сделать это, объединив фазу йоменской письменности по умолчанию с моей фазой пользовательской письменности.Но мне интересно, есть ли лучший / более простой способ сделать это.

Спасибо

1 Ответ

0 голосов
/ 05 октября 2018

Я сделал что-то подобное несколько недель назад.Я назвал это «план слияния».Я хотел добавить свои файлы с новым содержимым и переопределить некоторые базовые файлы, чтобы изменить их поведение (как вы хотите).

Вы можете проверить мой проект здесь: https://github.com/avdev4j/generator-jhipster-mergeBP

Пример с угловыми файлами

У меня есть две константы, объявленные для хранения путей:

const ORIGINAL_ANGULAR_TEMPLATE_PATH = '../../../node_modules/generator-jhipster/generators/client/templates/angular';
const CURRENT_ANGULAR_TEMPLATE_PATH = 'angular';

Затем я вызываю "writeFilesToDisk" для обоих путей.Действительно, первый вызов должен всегда брать базовый путь jhipster, а второй - наш путь (чтобы наши файлы не перезаписывались).

function writeFiles() {
this.writeFilesToDisk(angularFiles, this, false, ORIGINAL_ANGULAR_TEMPLATE_PATH); // always originals first
this.writeFilesToDisk(files, this, false, CURRENT_ANGULAR_TEMPLATE_PATH);

}

КстатиЯ проверил проект kotlin deepu (создатель чертежа), и он сделал что-то близкое (я думаю) https://github.com/jhipster/jhipster-kotlin

Я планирую написать план в ближайшие дни. Ваши отзывы по этой теме будут очень благодарны.

Что касается sur, то мы должны осторожно переопределить базовые файлы, потому что это сделает обновления более сложными.

Это способ, который я выбрал, не знаю, есть ли более простой способ, но это должно бытьполезно.

мы поддерживаем связь;)

...