generator-jhipster 8.2.1 → 8.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/environment-builder.mjs +3 -3
- package/dist/cli/jhipster-command.mjs +1 -2
- package/dist/cli/jhipster.cjs +0 -0
- package/dist/generators/angular/command.js +5 -0
- package/dist/generators/angular/generator.js +70 -9
- package/dist/generators/angular/index.js +1 -0
- package/dist/generators/angular/needle-api/needle-client-angular.js +3 -3
- package/dist/generators/angular/resources/package.json +15 -12
- package/dist/generators/angular/support/index.js +0 -1
- package/dist/generators/angular/support/translate-angular.js +142 -8
- package/dist/generators/angular/templates/package.json.ejs +0 -10
- package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +19 -27
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +19 -26
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +11 -16
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +32 -47
- package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.html.ejs +7 -8
- package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +21 -32
- package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +7 -7
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.html.ejs +7 -12
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.model.ts.ejs +9 -5
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +5 -9
- package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs +5 -5
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.html.ejs +5 -5
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +12 -12
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +36 -36
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +33 -33
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +8 -8
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +8 -8
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.html.ejs +13 -13
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.html.ejs +6 -6
- package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.ts.ejs +2 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +26 -26
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +16 -18
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +1 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +21 -35
- package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +0 -2
- package/dist/generators/angular/templates/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +7 -7
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +25 -25
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +14 -14
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +0 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +1 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-form.service.ts.ejs +10 -6
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +18 -25
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +0 -2
- package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.html.ejs +14 -15
- package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.spec.ts.ejs +1 -5
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/footer/footer.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +11 -18
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +21 -21
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +0 -2
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.html.ejs +12 -13
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +1 -2
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/webpack/webpack.custom.js.ejs +1 -1
- package/dist/generators/app/generator.js +4 -22
- package/dist/generators/app/support/config.js +1 -3
- package/dist/generators/base/generator.js +21 -2
- package/dist/generators/base/shared-data.js +1 -2
- package/dist/generators/base/support/basename.js +1 -2
- package/dist/generators/base/support/needles.js +3 -5
- package/dist/generators/base/support/string.js +2 -2
- package/dist/generators/base-application/generator.js +4 -4
- package/dist/generators/base-application/support/entity.js +1 -2
- package/dist/generators/base-application/support/enum.js +2 -2
- package/dist/generators/base-application/support/prepare-entity.js +1 -1
- package/dist/generators/base-application/support/prepare-field.js +6 -7
- package/dist/generators/base-application/support/relationship.js +1 -2
- package/dist/generators/base-application/support/task-type-inference.js +6 -0
- package/dist/generators/base-core/generator.js +86 -14
- package/dist/generators/base-entity-changes/generator.js +24 -0
- package/dist/generators/base-workspaces/internal/deployments.js +2 -2
- package/dist/generators/base-workspaces/internal/docker-dependencies.js +2 -2
- package/dist/generators/bootstrap/generator.js +4 -5
- package/dist/generators/bootstrap/internal/transform-utils.js +4 -0
- package/dist/generators/bootstrap/support/eslint-transform.js +2 -1
- package/dist/generators/bootstrap/support/java-unused-imports-transform.js +2 -1
- package/dist/generators/bootstrap/support/prettier-worker.js +2 -4
- package/dist/generators/bootstrap-application/generator.js +3 -4
- package/dist/generators/bootstrap-application-base/generator.js +46 -6
- package/dist/generators/bootstrap-application-base/utils.js +3 -3
- package/dist/generators/bootstrap-application-client/generator.js +2 -3
- package/dist/generators/bootstrap-application-server/generator.js +22 -19
- package/dist/generators/bootstrap-workspaces/generator.js +1 -2
- package/dist/generators/ci-cd/command.js +1 -2
- package/dist/generators/ci-cd/generator.js +2 -7
- package/dist/generators/client/command.js +1 -2
- package/dist/generators/client/generator.js +11 -33
- package/dist/generators/client/needle-api/needle-client-vue.js +2 -2
- package/dist/generators/client/resources/package.json +6 -6
- package/dist/generators/client/templates/src/main/webapp/index.html.ejs +2 -2
- package/dist/generators/common/command.js +13 -0
- package/dist/generators/common/generator.js +17 -8
- package/dist/generators/common/resources/package.json +1 -1
- package/dist/generators/cucumber/generator.js +17 -10
- package/dist/generators/cucumber/templates/buildSrc/src/main/groovy/jhipster.cucumber-conventions.gradle.ejs +1 -5
- package/dist/generators/cypress/generator.js +2 -3
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/administration/administration.cy.ts.ejs +10 -0
- package/dist/generators/docker/generator.js +4 -6
- package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +0 -32
- package/dist/generators/docker/utils.js +2 -3
- package/dist/generators/docker-compose/generator.js +5 -10
- package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +0 -32
- package/dist/generators/entities/generator.js +4 -4
- package/dist/generators/entity/generator.js +10 -9
- package/dist/generators/entity/prompts.js +12 -12
- package/dist/generators/export-jdl/generator.js +0 -5
- package/dist/generators/feign-client/generator.js +3 -4
- package/dist/generators/gatling/generator.js +2 -3
- package/dist/generators/gatling/templates/buildSrc/src/main/groovy/jhipster.gatling-conventions.gradle.ejs +1 -1
- package/dist/generators/generate-blueprint/files.js +1 -0
- package/dist/generators/generate-blueprint/generator.js +3 -4
- package/dist/generators/generate-blueprint/resources/package.json +1 -1
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +3 -2
- package/dist/generators/generate-blueprint/templates/generators/generator/command.mjs.ejs +19 -1
- package/dist/generators/generate-blueprint/templates/vitest.test-setup.ts.ejs +6 -0
- package/dist/generators/generator-constants.js +5 -2
- package/dist/generators/git/generator.js +3 -5
- package/dist/generators/gradle/command.js +32 -0
- package/dist/generators/gradle/constants.js +0 -1
- package/dist/generators/gradle/files.js +2 -8
- package/dist/generators/gradle/generator.js +85 -13
- package/dist/generators/gradle/generators/code-quality/generator.js +86 -0
- package/dist/generators/{java/cleanup.js → gradle/generators/code-quality/index.js} +1 -5
- package/dist/generators/gradle/generators/jib/generator.js +64 -0
- package/dist/generators/{app/prompts.js → gradle/generators/jib/index.js} +1 -15
- package/dist/generators/gradle/generators/node-gradle/generator.js +64 -0
- package/dist/generators/gradle/generators/node-gradle/index.js +19 -0
- package/dist/generators/gradle/generators/node-gradle/templates/buildSrc/src/main/groovy/jhipster.node-gradle-conventions.gradle.ejs +101 -0
- package/dist/generators/gradle/index.js +1 -0
- package/dist/generators/gradle/internal/needles.js +9 -3
- package/dist/generators/gradle/templates/buildSrc/build.gradle.ejs +3 -2
- package/dist/generators/gradle/templates/buildSrc/gradle/libs.versions.toml.ejs +8 -1
- package/dist/generators/gradle/templates/gradle/wrapper/{gradle-wrapper.properties.ejs → gradle-wrapper.properties} +1 -1
- package/dist/generators/heroku/generator.js +2 -7
- package/dist/generators/init/generator.js +3 -4
- package/dist/generators/init/resources/.node-version +1 -0
- package/dist/generators/java/command.js +2 -38
- package/dist/generators/java/generator.js +5 -260
- package/dist/generators/java/generators/bootstrap/command.js +35 -0
- package/dist/generators/java/generators/bootstrap/generator.js +178 -0
- package/dist/generators/java/generators/bootstrap/index.js +20 -0
- package/dist/generators/java/generators/build-tool/command.js +42 -0
- package/dist/generators/java/generators/build-tool/generator.js +143 -0
- package/dist/generators/java/generators/build-tool/index.js +20 -0
- package/dist/generators/java/generators/code-quality/command.js +5 -0
- package/dist/generators/java/generators/code-quality/generator.js +91 -0
- package/dist/generators/java/generators/code-quality/index.js +20 -0
- package/dist/generators/java/generators/domain/command.js +30 -0
- package/dist/generators/java/{entity-files.js → generators/domain/entity-files.js} +1 -1
- package/dist/generators/java/generators/domain/generator.js +169 -0
- package/dist/generators/java/generators/domain/index.js +20 -0
- package/dist/generators/java/generators/jib/command.js +5 -0
- package/dist/generators/java/generators/jib/generator.js +97 -0
- package/dist/generators/java/generators/jib/index.js +20 -0
- package/dist/generators/{server → java/generators/jib}/templates/src/main/docker/jib/entrypoint.sh.ejs +2 -0
- package/dist/generators/java/generators/node/command.js +5 -0
- package/dist/generators/java/generators/node/generator.js +97 -0
- package/dist/generators/java/generators/node/index.js +20 -0
- package/dist/generators/java/support/index.js +1 -0
- package/dist/generators/jdl/generator.js +6 -13
- package/dist/generators/kubernetes/generator.js +1 -6
- package/dist/generators/kubernetes/kubernetes-base.js +3 -3
- package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +0 -32
- package/dist/generators/kubernetes-helm/generator.js +1 -6
- package/dist/generators/kubernetes-knative/generator.js +1 -6
- package/dist/generators/languages/entity-files.js +3 -2
- package/dist/generators/languages/files.js +2 -2
- package/dist/generators/languages/generator.js +6 -15
- package/dist/generators/languages/support/translate.js +34 -9
- package/dist/generators/languages/templates/src/main/webapp/i18n/al/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ar-ly/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/az-Latn-az/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/bg/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/bn/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/by/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ca/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/cs/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/da/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/de/global.json.ejs +2 -2
- package/dist/generators/languages/templates/src/main/webapp/i18n/de/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/el/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/en/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/es/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/et/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/fa/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/fi/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/fr/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/gl/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/hi/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/hr/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/hu/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/hy/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/id/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/it/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ja/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ko/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/kr-Latn-kr/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/mr/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/my/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/nl/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/pa/{home.json → home.json.ejs} +2 -2
- package/dist/generators/languages/templates/src/main/webapp/i18n/pl/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/pt-br/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/pt-pt/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ro/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ru/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/si/{home.json → home.json.ejs} +6 -6
- package/dist/generators/languages/templates/src/main/webapp/i18n/sk/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/sr/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/sv/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ta/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/te/{home.json → home.json.ejs} +1 -1
- package/dist/generators/languages/templates/src/main/webapp/i18n/th/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/tr/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ua/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/vi/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/zh-cn/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/zh-tw/home.json.ejs +19 -0
- package/dist/generators/languages/translation-data.js +4 -5
- package/dist/generators/liquibase/generator.js +126 -36
- package/dist/generators/liquibase/support/maven-plugin.js +6 -0
- package/dist/generators/liquibase/support/prepare-field.js +16 -1
- package/dist/generators/liquibase/support/relationship.js +1 -0
- package/dist/generators/liquibase/templates/gradle/liquibase.gradle.ejs +3 -6
- package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs +1 -1
- package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity.xml.ejs +3 -3
- package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +26 -1
- package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/fake-data/table_entity.csv.ejs +3 -3
- package/dist/generators/maven/generator.js +14 -6
- package/dist/generators/maven/generators/code-quality/command.js +5 -0
- package/dist/generators/maven/generators/code-quality/generator.js +268 -0
- package/dist/generators/maven/generators/code-quality/index.js +20 -0
- package/dist/generators/maven/generators/frontend-plugin/command.js +5 -0
- package/dist/generators/maven/generators/frontend-plugin/generator.js +295 -0
- package/dist/generators/maven/generators/frontend-plugin/index.js +20 -0
- package/dist/generators/maven/generators/jib/command.js +5 -0
- package/dist/generators/maven/generators/jib/generator.js +136 -0
- package/dist/generators/maven/generators/jib/index.js +20 -0
- package/dist/generators/maven/internal/xml-store.js +1 -2
- package/dist/generators/maven/support/dependabot-maven.js +12 -2
- package/dist/generators/maven/support/pom-store.js +1 -2
- package/dist/generators/project-name/generator.js +9 -11
- package/dist/generators/react/generator.js +25 -6
- package/dist/generators/react/needle-api/needle-client-react.js +2 -2
- package/dist/generators/react/resources/package.json +27 -24
- package/dist/generators/react/templates/package.json.ejs +1 -7
- package/dist/generators/react/templates/src/main/webapp/app/modules/administration/tracker/tracker.tsx.ejs +2 -2
- package/dist/generators/react/templates/src/main/webapp/app/modules/home/home.tsx.ejs +7 -7
- package/dist/generators/react/templates/webpack/webpack.microfrontend.js.jhi.react.ejs +0 -8
- package/dist/generators/server/command.js +2 -34
- package/dist/generators/server/generator.js +35 -204
- package/dist/generators/server/jdl/application-definition.js +1 -2
- package/dist/generators/server/resources/Dockerfile +13 -13
- package/dist/generators/server/resources/build.gradle +1 -0
- package/dist/generators/server/resources/gradle/libs.versions.toml +27 -9
- package/dist/generators/server/resources/pom.xml +9 -27
- package/dist/generators/server/support/prepare-field.js +8 -4
- package/dist/generators/server/support/prepare-relationship.js +7 -2
- package/dist/generators/server/templates/build.gradle.ejs +29 -143
- package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +3 -3
- package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +2 -2
- package/dist/generators/server/templates/gradle.properties.ejs +0 -7
- package/dist/generators/server/templates/pom.xml.ejs +23 -448
- package/dist/generators/server/templates/settings.gradle.ejs +0 -4
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +71 -9
- package/dist/generators/server/templates/src/main/java/_package_/web/filter/SpaWebFilter_imperative.java.ejs +4 -1
- package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +16 -5
- package/dist/generators/server/templates/src/main/resources/config/bootstrap.yml.ejs +1 -1
- package/dist/generators/server/templates/src/main/resources/static/index_microservices.html.ejs +8 -8
- package/dist/generators/server/templates/src/test/java/_package_/IntegrationTest.java.ejs +0 -2
- package/dist/generators/server/templates/src/test/java/_package_/config/TestContainersSpringContextCustomizerFactory.java.ejs +71 -46
- package/dist/generators/server/templates/src/test/java/_package_/security/jwt/AuthenticationIntegrationTest.java.ejs +0 -3
- package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +1 -1
- package/dist/generators/spring-boot/cleanup.js +3 -0
- package/dist/generators/spring-boot/command.js +40 -2
- package/dist/generators/spring-boot/entity-files.js +2 -2
- package/dist/generators/spring-boot/files.js +3 -43
- package/dist/generators/spring-boot/generator.js +115 -37
- package/dist/generators/{server → spring-boot}/prompts.js +6 -48
- package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +125 -125
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +2 -2
- package/dist/generators/spring-cache/generator.js +11 -6
- package/dist/generators/spring-cache/internal/dependencies.js +5 -0
- package/dist/generators/spring-cache/resources/build.gradle +1 -0
- package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +15 -0
- package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +4 -0
- package/dist/generators/spring-cache/templates/src/test/java/_package_/config/RedisTestContainersSpringContextCustomizerFactory.java.ejs +29 -13
- package/dist/generators/spring-cloud/generators/gateway/command.js +5 -0
- package/dist/generators/spring-cloud/generators/gateway/generator.js +146 -0
- package/dist/generators/spring-cloud/generators/gateway/index.js +20 -0
- package/dist/generators/spring-cloud-stream/generator.js +2 -3
- package/dist/generators/spring-cloud-stream/generators/kafka/generator.js +2 -2
- package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/config/KafkaTestContainersSpringContextCustomizerFactory.java.ejs +28 -12
- package/dist/generators/spring-cloud-stream/generators/pulsar/generator.js +2 -2
- package/dist/generators/spring-cloud-stream/generators/pulsar/templates/src/test/java/_package_/config/PulsarTestContainersSpringContextCustomizerFactory.java.ejs +33 -17
- package/dist/generators/spring-data-cassandra/generator.js +5 -6
- package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/CassandraTestContainersSpringContextCustomizerFactory.java.ejs +33 -17
- package/dist/generators/spring-data-couchbase/generator.js +3 -4
- package/dist/generators/spring-data-elasticsearch/generator.js +3 -5
- package/dist/generators/spring-data-mongodb/generator.js +5 -5
- package/dist/generators/spring-data-neo4j/generator.js +11 -5
- package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/Neo4jTestContainersSpringContextCustomizerFactory.java.ejs +32 -16
- package/dist/generators/spring-data-relational/generator.js +6 -7
- package/dist/generators/spring-data-relational/support/h2-reserved-keywords.js +22 -0
- package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +47 -32
- package/dist/generators/spring-websocket/generator.js +2 -3
- package/dist/generators/upgrade/generator.js +4 -7
- package/dist/generators/vue/generator.js +4 -4
- package/dist/generators/vue/resources/package.json +24 -21
- package/dist/generators/vue/templates/package.json.ejs +3 -3
- package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/change-password/change-password.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/init/reset-password-init.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/settings/settings.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +3 -3
- package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.vue.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management-edit.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.vue.ejs +7 -7
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +4 -3
- package/dist/generators/vue/templates/vite.config.mts.ejs +6 -0
- package/dist/generators/vue/templates/vitest.config.mts.ejs +1 -1
- package/dist/generators/vue/templates/webpack/webpack.microfrontend.js.jhi.vue.ejs +0 -9
- package/dist/generators/workspaces/generator.js +5 -4
- package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +2 -2
- package/dist/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +3 -3
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +2 -2
- package/dist/jdl/jdl-importer.js +1 -2
- package/dist/jdl/jhipster/default-application-options.js +1 -1
- package/dist/jdl/jhipster/field-types.js +2 -2
- package/dist/jdl/jhipster/relationship-types.js +1 -2
- package/dist/jdl/models/jdl-deployment.js +1 -2
- package/dist/jdl/parsing/api.js +2 -2
- package/dist/jdl/parsing/lexer/token-creator.js +1 -2
- package/dist/jdl/parsing/self-checks/parsing-system-checker.js +13 -13
- package/dist/jdl/parsing/validator.js +5 -5
- package/dist/testing/get-generator.js +1 -1
- package/dist/testing/helpers.js +34 -9
- package/dist/types/generators/angular/support/index.d.ts +0 -1
- package/dist/types/generators/angular/support/translate-angular.d.ts +7 -4
- package/dist/types/generators/app/support/config.d.ts +1 -1
- package/dist/types/generators/base/api.d.ts +8 -1
- package/dist/types/generators/base/generator.d.ts +1 -1
- package/dist/types/generators/base-application/generator.d.ts +4 -4
- package/dist/types/generators/base-application/support/task-type-inference.d.ts +3 -0
- package/dist/types/generators/base-application/support/update-application-entities-transform.d.ts +1 -1
- package/dist/types/generators/base-application/types.d.ts +15 -0
- package/dist/types/generators/base-core/generator.d.ts +33 -1
- package/dist/types/generators/base-entity-changes/types.d.ts +2 -0
- package/dist/types/generators/bootstrap/internal/transform-utils.d.ts +1 -0
- package/dist/types/generators/bootstrap/support/java-unused-imports-transform.d.ts +1 -1
- package/dist/types/generators/bootstrap-application-base/support/export-jdl-transform.d.ts +2 -2
- package/dist/types/generators/docker/utils.d.ts +7 -0
- package/dist/types/generators/generator-constants.d.ts +2 -20
- package/dist/types/generators/gradle/types.d.ts +21 -7
- package/dist/types/generators/java/support/index.d.ts +1 -0
- package/dist/types/generators/java/types.d.ts +37 -22
- package/dist/types/generators/languages/support/translate.d.ts +29 -0
- package/dist/types/generators/maven/support/dependabot-maven.d.ts +17 -1
- package/dist/types/generators/project-name/support/name-resolver.d.ts +1 -1
- package/dist/types/generators/server/types.d.ts +2 -0
- package/dist/types/generators/spring-data-relational/support/h2-reserved-keywords.d.ts +20 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +0 -18
- package/dist/types/testing/helpers.d.ts +6 -0
- package/dist/types/testing/support/matrix-utils.d.ts +1 -1
- package/package.json +19 -32
- package/dist/generators/java/files.js +0 -20
- package/dist/generators/languages/templates/src/main/webapp/i18n/al/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ar-ly/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/az-Latn-az/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/bg/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/bn/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/by/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ca/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/cs/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/da/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/de/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/el/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/en/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/es/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/et/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/fa/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/fi/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/fr/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/gl/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/hi/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/hr/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/hu/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/hy/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/id/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/it/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ja/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ko/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/kr-Latn-kr/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/mr/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/my/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/nl/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/pl/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/pt-br/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/pt-pt/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ro/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ru/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/sk/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/sr/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/sv/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ta/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/th/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/tr/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ua/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/global.json +0 -148
- package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/vi/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/zh-cn/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/zh-tw/home.json +0 -19
- package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_imperative.java.ejs +0 -43
- package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_reactive.java.ejs +0 -184
- package/dist/generators/statistics.js +0 -223
- /package/dist/generators/{server → gradle/generators/code-quality}/templates/buildSrc/src/main/groovy/jhipster.code-quality-conventions.gradle.ejs +0 -0
- /package/dist/generators/{server → gradle/generators/jib}/templates/buildSrc/src/main/groovy/jhipster.docker-conventions.gradle.ejs +0 -0
- /package/dist/generators/java/{templates → generators/bootstrap/templates}/src/main/java/_package_/GeneratedByJHipster.java.ejs +0 -0
- /package/dist/generators/{server → java/generators/code-quality}/templates/checkstyle.xml.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/_global_partials_entity_/field_validators.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jackson_identity_info.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_validation.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/enumeration/_enumName_.java.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_TestSamples.java.ejs +0 -0
- /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/domain/AssertUtils.java.ejs +0 -0
- /package/dist/generators/{server → java/generators/node}/templates/npmw +0 -0
- /package/dist/generators/{server → java/generators/node}/templates/npmw.cmd +0 -0
- /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/security/jwt/JWTRelayGatewayFilterFactory.java.ejs +0 -0
- /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/filter/ModifyServersOpenApiFilter.java.ejs +0 -0
- /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/rest/GatewayResource.java.ejs +0 -0
- /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/rest/vm/RouteVM.java.ejs +0 -0
- /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/test/java/_package_/web/filter/ModifyServersOpenApiFilterTest.java.ejs +0 -0
|
@@ -17,9 +17,8 @@
|
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
19
|
import fs from 'fs';
|
|
20
|
-
import
|
|
20
|
+
import { escape, min } from 'lodash-es';
|
|
21
21
|
import BaseEntityChangesGenerator from '../base-entity-changes/index.js';
|
|
22
|
-
import { GENERATOR_LIQUIBASE, GENERATOR_BOOTSTRAP_APPLICATION_SERVER } from '../generator-list.js';
|
|
23
22
|
import { liquibaseFiles } from './files.js';
|
|
24
23
|
import { prepareField as prepareFieldForLiquibase, postPrepareEntity, prepareRelationshipForLiquibase, liquibaseComment, } from './support/index.js';
|
|
25
24
|
import { getFKConstraintName, getUXConstraintName, prepareEntity as prepareEntityForServer } from '../server/support/index.js';
|
|
@@ -29,7 +28,6 @@ import { addLiquibaseChangelogCallback, addLiquibaseConstraintsChangelogCallback
|
|
|
29
28
|
import { prepareSqlApplicationProperties } from '../spring-data-relational/support/index.js';
|
|
30
29
|
import { addEntityFiles, updateEntityFiles, updateConstraintsFiles, updateMigrateFiles, fakeFiles } from './changelog-files.js';
|
|
31
30
|
import { fieldTypes } from '../../jdl/jhipster/index.js';
|
|
32
|
-
import command from './command.js';
|
|
33
31
|
const { CommonDBTypes: { LONG: TYPE_LONG, INTEGER: TYPE_INTEGER }, } = fieldTypes;
|
|
34
32
|
export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
35
33
|
recreateInitialChangelog;
|
|
@@ -49,21 +47,21 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
49
47
|
}
|
|
50
48
|
async beforeQueue() {
|
|
51
49
|
if (!this.fromBlueprint) {
|
|
52
|
-
await this.composeWithBlueprints(
|
|
50
|
+
await this.composeWithBlueprints();
|
|
53
51
|
}
|
|
54
52
|
if (!this.delegateToBlueprint) {
|
|
55
|
-
await this.
|
|
53
|
+
await this.dependsOnBootstrapApplicationServer();
|
|
56
54
|
}
|
|
57
55
|
}
|
|
58
56
|
get initializing() {
|
|
59
57
|
return this.asInitializingTaskGroup({
|
|
60
|
-
|
|
61
|
-
this.
|
|
58
|
+
async parseCommand() {
|
|
59
|
+
await this.parseCurrentJHipsterCommand();
|
|
62
60
|
},
|
|
63
61
|
});
|
|
64
62
|
}
|
|
65
63
|
get [BaseEntityChangesGenerator.INITIALIZING]() {
|
|
66
|
-
return this.
|
|
64
|
+
return this.delegateTasksToBlueprint(() => this.initializing);
|
|
67
65
|
}
|
|
68
66
|
get preparing() {
|
|
69
67
|
return this.asPreparingTaskGroup({
|
|
@@ -99,6 +97,11 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
99
97
|
prepareFieldForLiquibase(entity, field);
|
|
100
98
|
}
|
|
101
99
|
},
|
|
100
|
+
validateConsistencyOfField({ entity, field }) {
|
|
101
|
+
if (field.columnRequired && field.liquibaseDefaultValueAttributeValue) {
|
|
102
|
+
this.handleCheckFailure(`The field ${field.fieldName} in entity ${entity.name} has both columnRequired and a defaultValue, this can lead to unexpected behaviors.`);
|
|
103
|
+
}
|
|
104
|
+
},
|
|
102
105
|
});
|
|
103
106
|
}
|
|
104
107
|
get [BaseEntityChangesGenerator.PREPARING_EACH_ENTITY_FIELD]() {
|
|
@@ -164,15 +167,24 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
164
167
|
const changes = entityChanges.filter(databaseChangelog => entitiesToWrite.length === 0 || entitiesToWrite.includes(databaseChangelog.entityName));
|
|
165
168
|
for (const databaseChangelog of changes) {
|
|
166
169
|
if (databaseChangelog.newEntity) {
|
|
167
|
-
this.databaseChangelogs.push(this.prepareChangelog({
|
|
170
|
+
this.databaseChangelogs.push(this.prepareChangelog({
|
|
171
|
+
databaseChangelog: {
|
|
172
|
+
...databaseChangelog,
|
|
173
|
+
changelogData: { ...databaseChangelog.changelogData },
|
|
174
|
+
},
|
|
175
|
+
application,
|
|
176
|
+
}));
|
|
168
177
|
}
|
|
169
178
|
else if (databaseChangelog.addedFields.length > 0 || databaseChangelog.removedFields.length > 0) {
|
|
170
179
|
this.databaseChangelogs.push(this.prepareChangelog({
|
|
171
180
|
databaseChangelog: {
|
|
172
181
|
...databaseChangelog,
|
|
182
|
+
changelogData: { ...databaseChangelog.changelogData },
|
|
173
183
|
fieldChangelog: true,
|
|
174
184
|
addedRelationships: [],
|
|
175
185
|
removedRelationships: [],
|
|
186
|
+
removedDefaultValueFields: [],
|
|
187
|
+
addedDefaultValueFields: [],
|
|
176
188
|
relationshipsToRecreateForeignKeysOnly: [],
|
|
177
189
|
},
|
|
178
190
|
application,
|
|
@@ -182,10 +194,14 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
182
194
|
// Relationships needs to be added later to make sure every related field is already added.
|
|
183
195
|
for (const databaseChangelog of changes) {
|
|
184
196
|
if (databaseChangelog.incremental &&
|
|
185
|
-
(databaseChangelog.addedRelationships.length > 0 ||
|
|
197
|
+
(databaseChangelog.addedRelationships.length > 0 ||
|
|
198
|
+
databaseChangelog.removedRelationships.length > 0 ||
|
|
199
|
+
databaseChangelog.removedDefaultValueFields.length > 0 ||
|
|
200
|
+
databaseChangelog.addedDefaultValueFields.length > 0)) {
|
|
186
201
|
this.databaseChangelogs.push(this.prepareChangelog({
|
|
187
202
|
databaseChangelog: {
|
|
188
203
|
...databaseChangelog,
|
|
204
|
+
changelogData: { ...databaseChangelog.changelogData },
|
|
189
205
|
relationshipChangelog: true,
|
|
190
206
|
addedFields: [],
|
|
191
207
|
removedFields: [],
|
|
@@ -268,36 +284,58 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
268
284
|
if (!application.javaDependencies) {
|
|
269
285
|
throw new Error('Some application fields are be mandatory');
|
|
270
286
|
}
|
|
287
|
+
const { javaDependencies } = application;
|
|
288
|
+
const checkProperty = (property) => {
|
|
289
|
+
if (!source.hasJavaManagedProperty?.(property) && !source.hasJavaProperty?.(property)) {
|
|
290
|
+
const message = `${property} is required by maven-liquibase-plugin, make sure to add it to your pom.xml`;
|
|
291
|
+
if (this.skipChecks) {
|
|
292
|
+
this.log.warn(message);
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
throw new Error(message);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
};
|
|
299
|
+
const { 'jakarta-validation': validationVersion, h2: h2Version, liquibase: liquibaseVersion } = javaDependencies;
|
|
271
300
|
const applicationAny = application;
|
|
272
301
|
const databaseTypeProfile = applicationAny.devDatabaseTypeH2Any ? 'prod' : undefined;
|
|
273
302
|
let liquibasePluginHibernateDialect;
|
|
274
303
|
let liquibasePluginJdbcDriver;
|
|
304
|
+
const mavenProperties = [];
|
|
275
305
|
if (applicationAny.devDatabaseTypeH2Any) {
|
|
276
306
|
// eslint-disable-next-line no-template-curly-in-string
|
|
277
307
|
liquibasePluginHibernateDialect = '${liquibase-plugin.hibernate-dialect}';
|
|
278
308
|
// eslint-disable-next-line no-template-curly-in-string
|
|
279
309
|
liquibasePluginJdbcDriver = '${liquibase-plugin.driver}';
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
{ inProfile: 'dev', property: 'liquibase-plugin.driver', value: applicationAny.devJdbcDriver },
|
|
288
|
-
{ inProfile: 'prod', property: 'liquibase-plugin.driver', value: applicationAny.prodJdbcDriver },
|
|
289
|
-
],
|
|
290
|
-
});
|
|
310
|
+
if (h2Version) {
|
|
311
|
+
mavenProperties.push({ property: 'h2.version', value: h2Version });
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
checkProperty('h2.version');
|
|
315
|
+
}
|
|
316
|
+
mavenProperties.push({ property: 'liquibase-plugin.hibernate-dialect' }, { property: 'liquibase-plugin.driver' }, { inProfile: 'dev', property: 'liquibase-plugin.hibernate-dialect', value: applicationAny.devHibernateDialect }, { inProfile: 'prod', property: 'liquibase-plugin.hibernate-dialect', value: applicationAny.prodHibernateDialect }, { inProfile: 'dev', property: 'liquibase-plugin.driver', value: applicationAny.devJdbcDriver }, { inProfile: 'prod', property: 'liquibase-plugin.driver', value: applicationAny.prodJdbcDriver });
|
|
291
317
|
}
|
|
292
318
|
else {
|
|
293
319
|
liquibasePluginHibernateDialect = applicationAny.prodHibernateDialect;
|
|
294
320
|
liquibasePluginJdbcDriver = applicationAny.prodJdbcDriver;
|
|
295
321
|
}
|
|
322
|
+
if (validationVersion) {
|
|
323
|
+
mavenProperties.push({ property: 'jakarta-validation.version', value: validationVersion });
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
checkProperty('jakarta-validation.version');
|
|
327
|
+
}
|
|
328
|
+
if (liquibaseVersion) {
|
|
329
|
+
mavenProperties.push({ property: 'liquibase.version', value: liquibaseVersion });
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
checkProperty('liquibase.version');
|
|
333
|
+
}
|
|
296
334
|
source.addMavenDefinition?.({
|
|
297
335
|
properties: [
|
|
336
|
+
...mavenProperties,
|
|
298
337
|
{ inProfile: 'no-liquibase', property: 'profile.no-liquibase', value: ',no-liquibase' },
|
|
299
338
|
{ property: 'profile.no-liquibase' },
|
|
300
|
-
{ property: 'liquibase.version', value: application.springBootDependencies.liquibase },
|
|
301
339
|
{ property: 'liquibase-plugin.url' },
|
|
302
340
|
{ property: 'liquibase-plugin.username' },
|
|
303
341
|
{ property: 'liquibase-plugin.password' },
|
|
@@ -384,18 +422,33 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
384
422
|
if (!application.javaDependencies) {
|
|
385
423
|
throw new Error('Some application fields are be mandatory');
|
|
386
424
|
}
|
|
425
|
+
const { liquibase: liquibaseVersion, 'gradle-liquibase': gradleLiquibaseVersion } = application.javaDependencies;
|
|
426
|
+
if (!liquibaseVersion) {
|
|
427
|
+
this.log.warn('liquibaseVersion is required by gradle-liquibase-plugin, make sure to add it to your dependencies');
|
|
428
|
+
}
|
|
429
|
+
else {
|
|
430
|
+
source.addGradleProperty?.({ property: 'liquibaseVersion', value: liquibaseVersion });
|
|
431
|
+
}
|
|
387
432
|
source.addGradleProperty?.({ property: 'liquibaseTaskPrefix', value: 'liquibase' });
|
|
388
|
-
source.addGradleProperty?.({ property: 'liquibasePluginVersion', value:
|
|
389
|
-
source.addGradleProperty?.({ property: 'liquibaseVersion', value: application.springBootDependencies.liquibase });
|
|
433
|
+
source.addGradleProperty?.({ property: 'liquibasePluginVersion', value: gradleLiquibaseVersion });
|
|
390
434
|
source.applyFromGradle?.({ script: 'gradle/liquibase.gradle' });
|
|
391
435
|
source.addGradlePlugin?.({ id: 'org.liquibase.gradle' });
|
|
392
436
|
// eslint-disable-next-line no-template-curly-in-string
|
|
393
437
|
source.addGradlePluginManagement?.({ id: 'org.liquibase.gradle', version: '${liquibasePluginVersion}' });
|
|
438
|
+
if (application.databaseTypeSql && !application.reactive) {
|
|
439
|
+
source.addGradleDependency?.({
|
|
440
|
+
scope: 'liquibaseRuntime',
|
|
441
|
+
groupId: 'org.liquibase.ext',
|
|
442
|
+
artifactId: 'liquibase-hibernate6',
|
|
443
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
444
|
+
version: liquibaseVersion ? '${liquibaseVersion}' : "${dependencyManagement.importedProperties['liquibase.version']}",
|
|
445
|
+
}, { gradleFile: 'gradle/liquibase.gradle' });
|
|
446
|
+
}
|
|
394
447
|
},
|
|
395
448
|
});
|
|
396
449
|
}
|
|
397
450
|
get [BaseEntityChangesGenerator.POST_WRITING]() {
|
|
398
|
-
return this.
|
|
451
|
+
return this.delegateTasksToBlueprint(() => this.postWriting);
|
|
399
452
|
}
|
|
400
453
|
get postWritingEntities() {
|
|
401
454
|
return this.asPostWritingEntitiesTaskGroup({
|
|
@@ -447,7 +500,7 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
447
500
|
* Write files for updated entities.
|
|
448
501
|
*/
|
|
449
502
|
_writeUpdateFiles({ context: writeContext, changelogData }) {
|
|
450
|
-
const { addedFields, allFields, removedFields, addedRelationships, removedRelationships, hasFieldConstraint, hasRelationshipConstraint, shouldWriteAnyRelationship, relationshipsToRecreateForeignKeysOnly, } = changelogData;
|
|
503
|
+
const { addedFields, allFields, removedFields, addedRelationships, removedRelationships, hasFieldConstraint, hasRelationshipConstraint, shouldWriteAnyRelationship, relationshipsToRecreateForeignKeysOnly, hasDefaultValueChange, removedDefaultValueFields, addedDefaultValueFields, } = changelogData;
|
|
451
504
|
const context = {
|
|
452
505
|
...writeContext,
|
|
453
506
|
skipFakeData: changelogData.skipFakeData,
|
|
@@ -462,29 +515,45 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
462
515
|
hasRelationshipConstraint,
|
|
463
516
|
shouldWriteAnyRelationship,
|
|
464
517
|
relationshipsToRecreateForeignKeysOnly,
|
|
518
|
+
hasDefaultValueChange,
|
|
519
|
+
removedDefaultValueFields,
|
|
520
|
+
addedDefaultValueFields,
|
|
465
521
|
};
|
|
466
522
|
const promises = [];
|
|
467
|
-
|
|
468
|
-
|
|
523
|
+
if (this._isBasicEntityUpdate(changelogData)) {
|
|
524
|
+
promises.push(this.writeFiles({ sections: updateEntityFiles, context }));
|
|
525
|
+
}
|
|
526
|
+
if (this._requiresWritingFakeData(changelogData)) {
|
|
469
527
|
promises.push(this.writeFiles({ sections: fakeFiles, context }));
|
|
470
528
|
promises.push(this.writeFiles({ sections: updateMigrateFiles, context }));
|
|
471
529
|
}
|
|
472
|
-
if (
|
|
530
|
+
if (this._requiresConstraintUpdates(changelogData)) {
|
|
473
531
|
promises.push(this.writeFiles({ sections: updateConstraintsFiles, context }));
|
|
474
532
|
}
|
|
475
533
|
return Promise.all(promises);
|
|
476
534
|
}
|
|
535
|
+
_requiresConstraintUpdates(changelogData) {
|
|
536
|
+
return changelogData.hasFieldConstraint || changelogData.addedRelationships.length > 0 || changelogData.hasDefaultValueChange;
|
|
537
|
+
}
|
|
538
|
+
_isBasicEntityUpdate(changelogData) {
|
|
539
|
+
return changelogData.addedFields.length > 0 || changelogData.removedFields.length > 0 || changelogData.shouldWriteAnyRelationship;
|
|
540
|
+
}
|
|
541
|
+
_requiresWritingFakeData(changelogData) {
|
|
542
|
+
return !changelogData.skipFakeData && (changelogData.addedFields.length || changelogData.addedRelationships.length);
|
|
543
|
+
}
|
|
477
544
|
/**
|
|
478
545
|
* Write files for updated entities.
|
|
479
546
|
*/
|
|
480
547
|
_addUpdateFilesReferences({ entity, databaseChangelog, changelogData, source }) {
|
|
481
|
-
|
|
482
|
-
|
|
548
|
+
if (this._isBasicEntityUpdate(changelogData)) {
|
|
549
|
+
source.addLiquibaseIncrementalChangelog({ changelogName: `${databaseChangelog.changelogDate}_updated_entity_${entity.entityClass}` });
|
|
550
|
+
}
|
|
551
|
+
if (this._requiresWritingFakeData(changelogData)) {
|
|
483
552
|
source.addLiquibaseIncrementalChangelog({
|
|
484
553
|
changelogName: `${databaseChangelog.changelogDate}_updated_entity_migrate_${entity.entityClass}`,
|
|
485
554
|
});
|
|
486
555
|
}
|
|
487
|
-
if (
|
|
556
|
+
if (this._requiresConstraintUpdates(changelogData)) {
|
|
488
557
|
source.addLiquibaseIncrementalChangelog({
|
|
489
558
|
changelogName: `${databaseChangelog.changelogDate}_updated_entity_constraints_${entity.entityClass}`,
|
|
490
559
|
});
|
|
@@ -501,6 +570,19 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
501
570
|
formatAsLiquibaseRemarks(text, addRemarksTag = false) {
|
|
502
571
|
return liquibaseComment(text, addRemarksTag);
|
|
503
572
|
}
|
|
573
|
+
/**
|
|
574
|
+
* @private
|
|
575
|
+
* Create the fitting liquibase default value attribute for a field.
|
|
576
|
+
* @param field
|
|
577
|
+
* @param leadingWhitespace
|
|
578
|
+
* @returns
|
|
579
|
+
*/
|
|
580
|
+
createDefaultValueLiquibaseAttribute(field, leadingWhitespace = false) {
|
|
581
|
+
if (field.liquibaseDefaultValueAttributeValue === undefined) {
|
|
582
|
+
return '';
|
|
583
|
+
}
|
|
584
|
+
return `${leadingWhitespace ? ' ' : ''}${field.liquibaseDefaultValueAttributeName}="${escape(field.liquibaseDefaultValueAttributeValue)}"`;
|
|
585
|
+
}
|
|
504
586
|
prepareChangelog({ databaseChangelog, application }) {
|
|
505
587
|
if (!databaseChangelog.changelogDate) {
|
|
506
588
|
databaseChangelog.changelogDate = this.dateFormatForLiquibase();
|
|
@@ -527,7 +609,7 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
527
609
|
Object.defineProperty(entity, 'fakeDataCount', {
|
|
528
610
|
get: () => {
|
|
529
611
|
const uniqueRelationships = entity.relationships.filter(rel => rel.unique && (rel.columnRequired || rel.id));
|
|
530
|
-
return
|
|
612
|
+
return min([entity.liquibaseFakeData.length, ...uniqueRelationships.map(rel => rel.otherEntity.fakeDataCount)]);
|
|
531
613
|
},
|
|
532
614
|
configurable: true,
|
|
533
615
|
});
|
|
@@ -567,6 +649,8 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
567
649
|
entityChanges.addedRelationships = databaseChangelog.addedRelationships;
|
|
568
650
|
entityChanges.removedRelationships = databaseChangelog.removedRelationships;
|
|
569
651
|
entityChanges.relationshipsToRecreateForeignKeysOnly = databaseChangelog.relationshipsToRecreateForeignKeysOnly;
|
|
652
|
+
entityChanges.removedDefaultValueFields = databaseChangelog.removedDefaultValueFields;
|
|
653
|
+
entityChanges.addedDefaultValueFields = databaseChangelog.addedDefaultValueFields;
|
|
570
654
|
}
|
|
571
655
|
/* Required by the templates */
|
|
572
656
|
databaseChangelog.writeContext = {
|
|
@@ -588,11 +672,17 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
588
672
|
entityChanges.addedFields.length > 0 ||
|
|
589
673
|
entityChanges.removedFields.length > 0 ||
|
|
590
674
|
entityChanges.addedRelationships.some(relationship => relationship.shouldWriteRelationship || relationship.shouldWriteJoinTable) ||
|
|
591
|
-
entityChanges.removedRelationships.some(relationship => relationship.shouldWriteRelationship || relationship.shouldWriteJoinTable)
|
|
675
|
+
entityChanges.removedRelationships.some(relationship => relationship.shouldWriteRelationship || relationship.shouldWriteJoinTable) ||
|
|
676
|
+
entityChanges.addedDefaultValueFields.length > 0 ||
|
|
677
|
+
entityChanges.removedDefaultValueFields.length > 0;
|
|
592
678
|
if (entityChanges.requiresUpdateChangelogs) {
|
|
593
|
-
entityChanges.hasFieldConstraint = entityChanges.addedFields.some(field => field.unique || !field.
|
|
679
|
+
entityChanges.hasFieldConstraint = entityChanges.addedFields.some(field => field.unique || (field.columnRequired && !field.liquibaseDefaultValueAttributeValue) || field.shouldCreateContentType);
|
|
680
|
+
entityChanges.hasDefaultValueChange =
|
|
681
|
+
entityChanges.addedDefaultValueFields.length > 0 || entityChanges.removedDefaultValueFields.length > 0;
|
|
594
682
|
entityChanges.hasRelationshipConstraint = entityChanges.addedRelationships.some(relationship => (relationship.shouldWriteRelationship || relationship.shouldWriteJoinTable) && (relationship.unique || !relationship.nullable));
|
|
595
|
-
entityChanges.shouldWriteAnyRelationship =
|
|
683
|
+
entityChanges.shouldWriteAnyRelationship =
|
|
684
|
+
entityChanges.addedRelationships.some(relationship => relationship.shouldWriteRelationship || relationship.shouldWriteJoinTable) ||
|
|
685
|
+
entityChanges.removedRelationships.some(relationship => relationship.shouldWriteRelationship || relationship.shouldWriteJoinTable);
|
|
596
686
|
}
|
|
597
687
|
return databaseChangelog;
|
|
598
688
|
}
|
|
@@ -25,10 +25,16 @@ export default function mavenPluginContent({ backendTypeSpringBoot, reactive, pa
|
|
|
25
25
|
<groupId>org.liquibase.ext</groupId>
|
|
26
26
|
<artifactId>liquibase-hibernate6</artifactId>
|
|
27
27
|
<version>\${liquibase.version}</version>
|
|
28
|
+
</dependency>
|
|
29
|
+
<dependency>
|
|
30
|
+
<groupId>jakarta.validation</groupId>
|
|
31
|
+
<artifactId>jakarta.validation-api</artifactId>
|
|
32
|
+
<version>\${jakarta-validation.version}</version>
|
|
28
33
|
</dependency>${backendTypeSpringBoot ? `
|
|
29
34
|
<dependency>
|
|
30
35
|
<groupId>org.springframework.boot</groupId>
|
|
31
36
|
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
|
37
|
+
<version>\${spring-boot.version}</version>
|
|
32
38
|
</dependency>` : ''}${devDatabaseTypeH2Any ? `
|
|
33
39
|
<dependency>
|
|
34
40
|
<groupId>com.h2database</groupId>
|
|
@@ -114,11 +114,26 @@ export default function prepareField(entity, field) {
|
|
|
114
114
|
mutateData(field, {
|
|
115
115
|
__override__: false,
|
|
116
116
|
columnType: data => parseLiquibaseColumnType(entity, data),
|
|
117
|
-
|
|
117
|
+
liquibaseDefaultValueAttributeValue: ({ defaultValue, defaultValueComputed }) => defaultValueComputed ?? defaultValue?.toString(),
|
|
118
|
+
liquibaseDefaultValueAttributeName: ({ defaultValueComputed, liquibaseDefaultValueAttributeValue }) => {
|
|
119
|
+
if (liquibaseDefaultValueAttributeValue === undefined)
|
|
120
|
+
return undefined;
|
|
121
|
+
if (defaultValueComputed)
|
|
122
|
+
return 'defaultValueComputed';
|
|
123
|
+
if (field.fieldTypeNumeric)
|
|
124
|
+
return 'defaultValueNumeric';
|
|
125
|
+
if (field.fieldTypeDateTime)
|
|
126
|
+
return 'defaultValueDate';
|
|
127
|
+
if (field.fieldTypeBoolean)
|
|
128
|
+
return 'defaultValueBoolean';
|
|
129
|
+
return 'defaultValue';
|
|
130
|
+
},
|
|
131
|
+
shouldDropDefaultValue: data => !data.liquibaseDefaultValueAttributeValue && (data.fieldType === ZONED_DATE_TIME || data.fieldType === INSTANT),
|
|
118
132
|
shouldCreateContentType: data => data.fieldType === BYTES && data.fieldTypeBlobContent !== TEXT,
|
|
119
133
|
columnRequired: data => data.nullable === false || (data.fieldValidate === true && data.fieldValidateRules.includes('required')),
|
|
120
134
|
nullable: data => !data.columnRequired,
|
|
121
135
|
loadColumnType: data => parseLiquibaseLoadColumnType(entity, data),
|
|
136
|
+
liquibaseGenerateFakeData: true,
|
|
122
137
|
});
|
|
123
138
|
return field;
|
|
124
139
|
}
|
|
@@ -65,6 +65,7 @@ export function prepareRelationshipForLiquibase(entity, relationship) {
|
|
|
65
65
|
__override__: false,
|
|
66
66
|
columnDataType: data => data.otherEntity.columnType,
|
|
67
67
|
columnRequired: data => data.nullable === false || data.relationshipRequired,
|
|
68
|
+
liquibaseGenerateFakeData: data => data.columnRequired && data.persistableRelationship && !data.collection,
|
|
68
69
|
});
|
|
69
70
|
return relationship;
|
|
70
71
|
}
|
|
@@ -7,10 +7,6 @@ dependencies {
|
|
|
7
7
|
liquibaseRuntime "org.liquibase:liquibase-core"
|
|
8
8
|
// Dependency required to parse options. Refer to https://github.com/liquibase/liquibase-gradle-plugin/tree/Release_2.2.0#news.
|
|
9
9
|
liquibaseRuntime "info.picocli:picocli:<%- javaDependencies.picocli %>"
|
|
10
|
-
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
11
|
-
|
|
12
|
-
liquibaseRuntime "org.liquibase.ext:liquibase-hibernate6:${liquibaseVersion}"
|
|
13
|
-
<%_ } _%>
|
|
14
10
|
<%_ if (databaseTypeSql) { _%>
|
|
15
11
|
<%_ if (prodDatabaseType !== devDatabaseType) { _%>
|
|
16
12
|
if (project.hasProperty("prod") || project.hasProperty("gae")) {
|
|
@@ -26,7 +22,7 @@ dependencies {
|
|
|
26
22
|
<%_ } _%>
|
|
27
23
|
<%_ if (prodDatabaseTypeMssql) { _%>
|
|
28
24
|
liquibaseRuntime "com.microsoft.sqlserver:mssql-jdbc"
|
|
29
|
-
liquibaseRuntime "org.liquibase.ext:liquibase-mssql:${
|
|
25
|
+
liquibaseRuntime "org.liquibase.ext:liquibase-mssql:${dependencyManagement.importedProperties['liquibase.version']}"
|
|
30
26
|
<%_ } _%>
|
|
31
27
|
<%_ if (prodDatabaseTypeOracle) { _%>
|
|
32
28
|
liquibaseRuntime "com.oracle.database.jdbc:ojdbc8"
|
|
@@ -37,12 +33,13 @@ dependencies {
|
|
|
37
33
|
<%_ } else if (databaseTypeNeo4j) { _%>
|
|
38
34
|
// Exclude current neo4j driver and use the one provided by spring-data
|
|
39
35
|
// See: https://github.com/jhipster/generator-jhipster/pull/24241
|
|
40
|
-
implementation ("org.liquibase.ext:liquibase-neo4j:${
|
|
36
|
+
implementation ("org.liquibase.ext:liquibase-neo4j:${dependencyManagement.importedProperties['liquibase.version']}") {
|
|
41
37
|
exclude group: "org.neo4j.driver", module: "neo4j-java-driver"
|
|
42
38
|
exclude group: "org.slf4j", module: "*"
|
|
43
39
|
}
|
|
44
40
|
implementation "org.springframework:spring-jdbc"
|
|
45
41
|
<%_ } _%>
|
|
42
|
+
// jhipster-needle-gradle-dependency - JHipster will add additional dependencies here
|
|
46
43
|
}
|
|
47
44
|
|
|
48
45
|
project.ext.diffChangelogFile = "<%= SERVER_MAIN_RES_DIR %>config/liquibase/changelog/" + new Date().format("yyyyMMddHHmmss") + "_changelog.xml"
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<changeSet id="<%= changelogDate %>-1" author="jhipster">
|
|
31
31
|
<createTable tableName="<%= entity.entityTableName %>"<%- this.formatAsLiquibaseRemarks(entity.documentation, true) %>>
|
|
32
32
|
<%_ for (field of fields) { _%>
|
|
33
|
-
<column name="<%= field.columnName %>" type="<%= field.columnType %>"<%- this.formatAsLiquibaseRemarks(field.documentation, true) %><% if (field.id && field.liquibaseAutoIncrement) { %> autoIncrement="true" startWith="1500"<%_ } %>>
|
|
33
|
+
<column name="<%= field.columnName %>" type="<%= field.columnType %>"<%- this.createDefaultValueLiquibaseAttribute(field, true) -%><%- this.formatAsLiquibaseRemarks(field.documentation, true) %><% if (field.id && field.liquibaseAutoIncrement) { %> autoIncrement="true" startWith="1500"<%_ } %>>
|
|
34
34
|
<%_ if (field.id) { _%>
|
|
35
35
|
<constraints primaryKey="true" nullable="false"/>
|
|
36
36
|
<%_ } else if (field.unique) { _%>
|
|
@@ -25,15 +25,15 @@
|
|
|
25
25
|
<changeSet id="<%= changelogDate %>-1-add-columns" author="jhipster">
|
|
26
26
|
<addColumn tableName="<%= entity.entityTableName %>">
|
|
27
27
|
<%_ for (field of addedFields) { _%>
|
|
28
|
-
<column name="<%= field.columnName %>" type="<%= field.columnType %>"<%- this.formatAsLiquibaseRemarks(field.documentation, true) %>/>
|
|
28
|
+
<column name="<%= field.columnName %>" type="<%= field.columnType %>"<%- this.createDefaultValueLiquibaseAttribute(field, true) -%><%- this.formatAsLiquibaseRemarks(field.documentation, true) %>/>
|
|
29
29
|
<%_ if (field.shouldCreateContentType) { _%>
|
|
30
30
|
<column name="<%= field.columnName %>_content_type" type="varchar(255)"/>
|
|
31
31
|
<%_ }
|
|
32
32
|
} // End for (field of addedFields) _%>
|
|
33
33
|
</addColumn>
|
|
34
34
|
<%_ for (field of addedFields) {
|
|
35
|
-
if (field.
|
|
36
|
-
<dropDefaultValue tableName="<%= entity.entityTableName %>" columnName="<%= field.columnName %>" columnDataType="
|
|
35
|
+
if (field.shouldDropDefaultValue) { _%>
|
|
36
|
+
<dropDefaultValue tableName="<%= entity.entityTableName %>" columnName="<%= field.columnName %>" columnDataType="${datetimeType}"/>
|
|
37
37
|
<%_ } _%>
|
|
38
38
|
<%_ } _%>
|
|
39
39
|
</changeSet>
|
|
@@ -48,6 +48,31 @@ if (hasFieldConstraint) { _%>
|
|
|
48
48
|
} _%>
|
|
49
49
|
</changeSet>
|
|
50
50
|
<% } _%>
|
|
51
|
+
<%_ if (removedDefaultValueFields && removedDefaultValueFields.length) { _%>
|
|
52
|
+
<!--
|
|
53
|
+
Removed the default value for the fields for entity <%= entityClass %>.
|
|
54
|
+
-->
|
|
55
|
+
<changeSet id="<%= changelogDate %>-fields-remove-default-value" author="jhipster">
|
|
56
|
+
<%_ for (field of removedDefaultValueFields) { _%>
|
|
57
|
+
<dropDefaultValue tableName="<%= entityTableName %>"
|
|
58
|
+
columnName="<%= field.columnName %>"
|
|
59
|
+
columnDataType="<%= field.columnType %>"/>
|
|
60
|
+
<%_ } _%>
|
|
61
|
+
</changeSet>
|
|
62
|
+
<% } _%>
|
|
63
|
+
<%_ if (addedDefaultValueFields && addedDefaultValueFields.length) { _%>
|
|
64
|
+
<!--
|
|
65
|
+
Added the default value for the fields for entity <%= entityClass %>.
|
|
66
|
+
-->
|
|
67
|
+
<changeSet id="<%= changelogDate %>-fields-add-default-value" author="jhipster">
|
|
68
|
+
<%_ for (field of addedDefaultValueFields) { _%>
|
|
69
|
+
<addDefaultValue tableName="<%= entityTableName %>"
|
|
70
|
+
columnName="<%= field.columnName %>"
|
|
71
|
+
columnDataType="<%= field.columnType %>"
|
|
72
|
+
<%- this.createDefaultValueLiquibaseAttribute(field) -%>/>
|
|
73
|
+
<%_ } _%>
|
|
74
|
+
</changeSet>
|
|
75
|
+
<% } _%>
|
|
51
76
|
<%_ if (hasRelationshipConstraint) { _%>
|
|
52
77
|
|
|
53
78
|
<!--
|
|
@@ -74,7 +99,7 @@ if (hasFieldConstraint) { _%>
|
|
|
74
99
|
} _%>
|
|
75
100
|
</changeSet>
|
|
76
101
|
<%_ } _%>
|
|
77
|
-
<%_ if (
|
|
102
|
+
<%_ if (addedRelationships && addedRelationships.length) { %>
|
|
78
103
|
|
|
79
104
|
<!--
|
|
80
105
|
Added the relationship constraints for entity <%= entityClass %>.
|
|
@@ -21,14 +21,14 @@ let table = [];
|
|
|
21
21
|
|
|
22
22
|
// Generate CSV header
|
|
23
23
|
let header = [];
|
|
24
|
-
const fieldsToGenerate = [...allFields.filter(f => f.id), ...fields.filter(f => !f.id)];
|
|
24
|
+
const fieldsToGenerate = [...allFields.filter(f => f.id), ...fields.filter(f => !f.id)].filter(field => field.liquibaseGenerateFakeData);
|
|
25
25
|
for (field of fieldsToGenerate) {
|
|
26
26
|
header.push(field.columnName);
|
|
27
27
|
if (field.shouldCreateContentType) {
|
|
28
28
|
header.push(field.columnName + '_content_type');
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
for (relationship of relationships.filter(relationship => relationship.
|
|
31
|
+
for (relationship of relationships.filter(relationship => relationship.liquibaseGenerateFakeData)) {
|
|
32
32
|
const { joinColumnNames } = relationship;
|
|
33
33
|
header.push(joinColumnNames[0]);
|
|
34
34
|
}
|
|
@@ -57,7 +57,7 @@ for (lineNb = 0; lineNb < entity.fakeDataCount; lineNb++) {
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
for (relationship of relationships.filter(relationship => relationship.
|
|
60
|
+
for (relationship of relationships.filter(relationship => relationship.liquibaseGenerateFakeData)) {
|
|
61
61
|
const relationshipType = relationship.relationshipType;
|
|
62
62
|
const otherLiquibaseFakeData = relationship.otherEntity.liquibaseFakeData;
|
|
63
63
|
let relationshipRow = lineNb;
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
/* eslint-disable consistent-return */
|
|
20
20
|
import assert from 'assert/strict';
|
|
21
21
|
import BaseApplicationGenerator from '../base-application/index.js';
|
|
22
|
-
import { GENERATOR_MAVEN, GENERATOR_BOOTSTRAP_APPLICATION_SERVER } from '../generator-list.js';
|
|
23
22
|
import files from './files.js';
|
|
24
23
|
import { MAVEN } from './constants.js';
|
|
25
24
|
import cleanupOldServerFilesTask from './cleanup.js';
|
|
@@ -28,10 +27,10 @@ export default class MavenGenerator extends BaseApplicationGenerator {
|
|
|
28
27
|
pomStorage;
|
|
29
28
|
async beforeQueue() {
|
|
30
29
|
if (!this.fromBlueprint) {
|
|
31
|
-
await this.composeWithBlueprints(
|
|
30
|
+
await this.composeWithBlueprints();
|
|
32
31
|
}
|
|
33
32
|
if (!this.delegateToBlueprint) {
|
|
34
|
-
await this.
|
|
33
|
+
await this.dependsOnBootstrapApplicationServer();
|
|
35
34
|
}
|
|
36
35
|
}
|
|
37
36
|
get initializing() {
|
|
@@ -63,7 +62,8 @@ export default class MavenGenerator extends BaseApplicationGenerator {
|
|
|
63
62
|
async verify({ application }) {
|
|
64
63
|
assert.equal(application.buildTool, MAVEN);
|
|
65
64
|
},
|
|
66
|
-
addSourceNeddles({ source }) {
|
|
65
|
+
addSourceNeddles({ application, source }) {
|
|
66
|
+
const { javaProperties } = application;
|
|
67
67
|
function createForEach(callback) {
|
|
68
68
|
return (arg) => {
|
|
69
69
|
const argArray = Array.isArray(arg) ? arg : [arg];
|
|
@@ -80,7 +80,13 @@ export default class MavenGenerator extends BaseApplicationGenerator {
|
|
|
80
80
|
source.addMavenPluginManagement = createForEach(plugin => this.pomStorage.addPluginManagement(plugin));
|
|
81
81
|
source.addMavenPluginRepository = createForEach(repository => this.pomStorage.addPluginRepository(repository));
|
|
82
82
|
source.addMavenProfile = createForEach(profile => this.pomStorage.addProfile(profile));
|
|
83
|
-
source.addMavenProperty =
|
|
83
|
+
source.addMavenProperty = properties => {
|
|
84
|
+
properties = Array.isArray(properties) ? properties : [properties];
|
|
85
|
+
for (const property of properties) {
|
|
86
|
+
javaProperties[property.property] = property.value;
|
|
87
|
+
this.pomStorage.addProperty(property);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
84
90
|
source.addMavenRepository = createForEach(repository => this.pomStorage.addRepository(repository));
|
|
85
91
|
source.addMavenDefinition = definition => {
|
|
86
92
|
// profiles should be added first due to inProfile
|
|
@@ -92,7 +98,9 @@ export default class MavenGenerator extends BaseApplicationGenerator {
|
|
|
92
98
|
definition.distributionManagement?.forEach(distribution => this.pomStorage.addDistributionManagement(distribution));
|
|
93
99
|
definition.plugins?.forEach(plugin => this.pomStorage.addPlugin(plugin));
|
|
94
100
|
definition.pluginRepositories?.forEach(repository => this.pomStorage.addPluginRepository(repository));
|
|
95
|
-
definition.properties
|
|
101
|
+
if (definition.properties) {
|
|
102
|
+
source.addMavenProperty(definition.properties);
|
|
103
|
+
}
|
|
96
104
|
definition.repositories?.forEach(repository => this.pomStorage.addRepository(repository));
|
|
97
105
|
definition.annotationProcessors?.forEach(annotation => this.pomStorage.addAnnotationProcessor(annotation));
|
|
98
106
|
};
|