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
|
@@ -111,7 +111,7 @@ import <%= entityAbsolutePackage %>.service.criteria.<%= entityClass %>Criteria;
|
|
|
111
111
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
112
112
|
<%_ if (searchEngineElasticsearch) { _%>
|
|
113
113
|
import org.assertj.core.util.IterableUtil;
|
|
114
|
-
import org.
|
|
114
|
+
import org.springframework.data.util.Streamable;
|
|
115
115
|
import java.util.concurrent.TimeUnit;
|
|
116
116
|
<%_ } _%>
|
|
117
117
|
<%_ if ((databaseTypeSql && reactive) || searchEngineElasticsearch) { _%>
|
|
@@ -1474,7 +1474,7 @@ _%>
|
|
|
1474
1474
|
await().atMost(5, TimeUnit.SECONDS).untilAsserted(() -> {
|
|
1475
1475
|
int searchDatabaseSizeAfter = IterableUtil.sizeOf(<%= entityInstance %>SearchRepository.findAll()<%= callListBlock %>);
|
|
1476
1476
|
assertThat(searchDatabaseSizeAfter).isEqualTo(searchDatabaseSizeBefore);
|
|
1477
|
-
List<<%= persistClass %>> <%= entityInstance %>SearchList =
|
|
1477
|
+
List<<%= persistClass %>> <%= entityInstance %>SearchList = Streamable.of(<%= entityInstance %>SearchRepository.findAll()<%= callListBlock %>).toList();
|
|
1478
1478
|
<%= persistClass %> test<%= entityClass %>Search = <%= entityInstance %>SearchList.get(searchDatabaseSizeAfter - 1);
|
|
1479
1479
|
|
|
1480
1480
|
<%_ if (reactive && databaseTypeSql) { _%>
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
19
|
import BaseApplicationGenerator from '../base-application/index.js';
|
|
20
|
-
import { GENERATOR_SPRING_CACHE, GENERATOR_BOOTSTRAP_APPLICATION } from '../generator-list.js';
|
|
21
20
|
import writeTask from './files.js';
|
|
22
21
|
import cleanupTask from './cleanup.js';
|
|
23
22
|
import { createNeedleCallback } from '../base/support/needles.js';
|
|
@@ -25,14 +24,17 @@ import { getCacheProviderMavenDefinition } from './internal/dependencies.js';
|
|
|
25
24
|
export default class SpringCacheGenerator extends BaseApplicationGenerator {
|
|
26
25
|
async beforeQueue() {
|
|
27
26
|
if (!this.fromBlueprint) {
|
|
28
|
-
await this.composeWithBlueprints(
|
|
27
|
+
await this.composeWithBlueprints();
|
|
29
28
|
}
|
|
30
29
|
if (!this.delegateToBlueprint) {
|
|
31
|
-
await this.
|
|
30
|
+
await this.dependsOnBootstrapApplication();
|
|
32
31
|
}
|
|
33
32
|
}
|
|
34
33
|
get preparing() {
|
|
35
34
|
return this.asPreparingTaskGroup({
|
|
35
|
+
loadDependabot({ application }) {
|
|
36
|
+
this.loadJavaDependenciesFromGradleCatalog(application.javaDependencies, true);
|
|
37
|
+
},
|
|
36
38
|
addNeedles({ source, application }) {
|
|
37
39
|
if (application.cacheProviderEhcache ||
|
|
38
40
|
application.cacheProviderCaffeine ||
|
|
@@ -120,17 +122,20 @@ export default class SpringCacheGenerator extends BaseApplicationGenerator {
|
|
|
120
122
|
const { javaDependencies } = application;
|
|
121
123
|
const { cacheProvider, enableHibernateCache } = application;
|
|
122
124
|
const dependencies = [{ groupId: 'org.springframework.boot', artifactId: 'spring-boot-starter-cache' }];
|
|
125
|
+
const versions = [];
|
|
123
126
|
const definition = getCacheProviderMavenDefinition(cacheProvider, javaDependencies);
|
|
127
|
+
versions.push(...(definition.base.versions ?? []));
|
|
124
128
|
dependencies.push(...definition.base.dependencies);
|
|
125
129
|
if (enableHibernateCache && definition.hibernateCache) {
|
|
130
|
+
versions.push(...(definition.hibernateCache.versions ?? []));
|
|
126
131
|
dependencies.push(...definition.hibernateCache.dependencies);
|
|
127
132
|
}
|
|
128
|
-
source.
|
|
133
|
+
source.addJavaDefinition?.({ dependencies, versions }, { gradleFile: 'buildSrc/src/main/groovy/jhipster.spring-cache-conventions.gradle' });
|
|
129
134
|
},
|
|
130
135
|
});
|
|
131
136
|
}
|
|
132
137
|
get [BaseApplicationGenerator.POST_WRITING]() {
|
|
133
|
-
return this.
|
|
138
|
+
return this.delegateTasksToBlueprint(() => this.postWriting);
|
|
134
139
|
}
|
|
135
140
|
get postWritingEntities() {
|
|
136
141
|
return this.asPostWritingEntitiesTaskGroup({
|
|
@@ -147,6 +152,6 @@ export default class SpringCacheGenerator extends BaseApplicationGenerator {
|
|
|
147
152
|
});
|
|
148
153
|
}
|
|
149
154
|
get [BaseApplicationGenerator.POST_WRITING_ENTITIES]() {
|
|
150
|
-
return this.
|
|
155
|
+
return this.delegateTasksToBlueprint(() => this.postWritingEntities);
|
|
151
156
|
}
|
|
152
157
|
}
|
|
@@ -43,6 +43,7 @@ export const getCacheProviderMavenDefinition = (cacheProvider, javaDependencies)
|
|
|
43
43
|
{
|
|
44
44
|
groupId: 'org.redisson',
|
|
45
45
|
artifactId: 'redisson',
|
|
46
|
+
version: javaDependencies.redisson,
|
|
46
47
|
},
|
|
47
48
|
],
|
|
48
49
|
},
|
|
@@ -139,19 +140,23 @@ export const getCacheProviderMavenDefinition = (cacheProvider, javaDependencies)
|
|
|
139
140
|
},
|
|
140
141
|
memcached: {
|
|
141
142
|
base: {
|
|
143
|
+
versions: [{ name: 'xmemcached-provider', version: javaDependencies['xmemcached-provider'] }],
|
|
142
144
|
dependencies: [
|
|
143
145
|
javaxCacheApi,
|
|
144
146
|
{
|
|
145
147
|
groupId: 'com.google.code.simple-spring-memcached',
|
|
146
148
|
artifactId: 'spring-cache',
|
|
149
|
+
versionRef: 'xmemcached-provider',
|
|
147
150
|
},
|
|
148
151
|
{
|
|
149
152
|
groupId: 'com.google.code.simple-spring-memcached',
|
|
150
153
|
artifactId: 'xmemcached-provider',
|
|
154
|
+
versionRef: 'xmemcached-provider',
|
|
151
155
|
},
|
|
152
156
|
{
|
|
153
157
|
groupId: 'com.googlecode.xmemcached',
|
|
154
158
|
artifactId: 'xmemcached',
|
|
159
|
+
version: javaDependencies.xmemcached,
|
|
155
160
|
},
|
|
156
161
|
],
|
|
157
162
|
},
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// required by dependabot
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
[libraries]
|
|
2
|
+
# caffeine
|
|
3
|
+
typesafe = { module = 'com.typesafe:config', version = '1.4.3' }
|
|
4
|
+
|
|
5
|
+
# hazelcast
|
|
6
|
+
hazelcast-hibernate53 = { module = 'com.hazelcast:hazelcast-hibernate53', version = '5.1.0' }
|
|
7
|
+
|
|
8
|
+
hazelcast-spring = { module = 'com.hazelcast:hazelcast-spring', version = '5.4.0' }
|
|
9
|
+
|
|
10
|
+
# memcached
|
|
11
|
+
xmemcached-provider = { module = 'com.google.code.simple-spring-memcached:xmemcached-provider', version = '4.1.3' }
|
|
12
|
+
|
|
13
|
+
xmemcached = { module = 'com.googlecode.xmemcached:xmemcached', version = '2.4.8' }
|
|
14
|
+
|
|
15
|
+
redisson = { module = 'org.redisson:redisson', version = '3.29.0' }
|
|
@@ -736,6 +736,10 @@ public class CacheConfiguration {
|
|
|
736
736
|
URI redisUri = URI.create(jHipsterProperties.getCache().getRedis().getServer()[0]);
|
|
737
737
|
|
|
738
738
|
Config config = new Config();
|
|
739
|
+
<%_ if (databaseTypeSql) { _%>
|
|
740
|
+
// Fix Hibernate lazy initialization https://github.com/jhipster/generator-jhipster/issues/22889
|
|
741
|
+
config.setCodec(new org.redisson.codec.SerializationCodec());
|
|
742
|
+
<%_ } _%>
|
|
739
743
|
if (jHipsterProperties.getCache().getRedis().isCluster()) {
|
|
740
744
|
ClusterServersConfig clusterServersConfig = config
|
|
741
745
|
.useClusterServers()
|
|
@@ -26,9 +26,11 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
|
|
26
26
|
import org.springframework.beans.factory.support.DefaultSingletonBeanRegistry;
|
|
27
27
|
import org.springframework.core.annotation.AnnotatedElementUtils;
|
|
28
28
|
|
|
29
|
+
import org.springframework.context.ConfigurableApplicationContext;
|
|
29
30
|
import org.springframework.test.context.ContextConfigurationAttributes;
|
|
30
31
|
import org.springframework.test.context.ContextCustomizer;
|
|
31
32
|
import org.springframework.test.context.ContextCustomizerFactory;
|
|
33
|
+
import org.springframework.test.context.MergedContextConfiguration;
|
|
32
34
|
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
|
33
35
|
import org.springframework.boot.test.util.TestPropertyValues;
|
|
34
36
|
|
|
@@ -41,21 +43,35 @@ public class RedisTestContainersSpringContextCustomizerFactory implements Contex
|
|
|
41
43
|
@Override
|
|
42
44
|
public ContextCustomizer createContextCustomizer(Class<?> testClass, List<ContextConfigurationAttributes> configAttributes) {
|
|
43
45
|
|
|
44
|
-
return (
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (null
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
46
|
+
return new ContextCustomizer() {
|
|
47
|
+
@Override
|
|
48
|
+
public void customizeContext(ConfigurableApplicationContext context,
|
|
49
|
+
MergedContextConfiguration mergedConfig) {
|
|
50
|
+
ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
|
|
51
|
+
TestPropertyValues testValues = TestPropertyValues.empty();
|
|
52
|
+
EmbeddedRedis redisAnnotation = AnnotatedElementUtils.findMergedAnnotation(testClass, EmbeddedRedis.class);
|
|
53
|
+
if (null != redisAnnotation) {
|
|
54
|
+
log.debug("detected the EmbeddedRedis annotation on class {}", testClass.getName());
|
|
55
|
+
log.info("Warming up the redis database");
|
|
56
|
+
if (null == redisBean) {
|
|
57
|
+
redisBean = beanFactory.createBean(RedisTestContainer.class);
|
|
58
|
+
beanFactory.registerSingleton(RedisTestContainer.class.getName(), redisBean);
|
|
59
|
+
// ((DefaultListableBeanFactory)beanFactory).registerDisposableBean(RedisTestContainer.class.getName(), redisBean);
|
|
60
|
+
}
|
|
61
|
+
testValues = testValues.and("jhipster.cache.redis.server=redis://" + redisBean.getRedisContainer().getContainerIpAddress() + ":" + redisBean.getRedisContainer().getMappedPort(6379));
|
|
55
62
|
}
|
|
56
|
-
testValues
|
|
63
|
+
testValues.applyTo(context);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@Override
|
|
67
|
+
public int hashCode() {
|
|
68
|
+
return RedisTestContainer.class.getName().hashCode();
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@Override
|
|
72
|
+
public boolean equals(Object obj) {
|
|
73
|
+
return this.hashCode() == obj.hashCode();
|
|
57
74
|
}
|
|
58
|
-
testValues.applyTo(context);
|
|
59
75
|
};
|
|
60
76
|
}
|
|
61
77
|
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2013-2024 the original author or authors from the JHipster project.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of the JHipster project, see https://www.jhipster.tech/
|
|
5
|
+
* for more information.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
import BaseApplicationGenerator from '../../../base-application/index.js';
|
|
20
|
+
import { javaMainPackageTemplatesBlock, javaTestPackageTemplatesBlock } from '../../../java/support/files.js';
|
|
21
|
+
const WAIT_TIMEOUT = 3 * 60000;
|
|
22
|
+
export default class GatewayGenerator extends BaseApplicationGenerator {
|
|
23
|
+
async beforeQueue() {
|
|
24
|
+
if (!this.fromBlueprint) {
|
|
25
|
+
await this.composeWithBlueprints();
|
|
26
|
+
}
|
|
27
|
+
if (!this.delegateToBlueprint) {
|
|
28
|
+
await this.dependsOnBootstrapApplication();
|
|
29
|
+
await this.dependsOnJHipster('jhipster:java:build-tool');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
get initializing() {
|
|
33
|
+
return this.asInitializingTaskGroup({
|
|
34
|
+
async parseCommand() {
|
|
35
|
+
await this.parseCurrentJHipsterCommand();
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
get [BaseApplicationGenerator.INITIALIZING]() {
|
|
40
|
+
return this.delegateTasksToBlueprint(() => this.initializing);
|
|
41
|
+
}
|
|
42
|
+
get prompting() {
|
|
43
|
+
return this.asPromptingTaskGroup({
|
|
44
|
+
async promptCommand({ control }) {
|
|
45
|
+
if (control.existingProject && this.options.askAnswered !== true)
|
|
46
|
+
return;
|
|
47
|
+
await this.promptCurrentJHipsterCommand();
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
get [BaseApplicationGenerator.PROMPTING]() {
|
|
52
|
+
return this.delegateTasksToBlueprint(() => this.prompting);
|
|
53
|
+
}
|
|
54
|
+
get configuring() {
|
|
55
|
+
return this.asConfiguringTaskGroup({
|
|
56
|
+
reactiveByDefault() {
|
|
57
|
+
this.jhipsterConfig.reactive = this.jhipsterConfig.reactive ?? true;
|
|
58
|
+
if (this.jhipsterConfig.reactive === false) {
|
|
59
|
+
const message = 'Spring Cloud Gateway MVC support is experimental and not officially supported.';
|
|
60
|
+
if (!this.experimental) {
|
|
61
|
+
throw new Error(`${message} To use it, run the generator with the --experimental flag.`);
|
|
62
|
+
}
|
|
63
|
+
this.log.warn(message);
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
get [BaseApplicationGenerator.CONFIGURING]() {
|
|
69
|
+
return this.delegateTasksToBlueprint(() => this.configuring);
|
|
70
|
+
}
|
|
71
|
+
get loading() {
|
|
72
|
+
return this.asLoadingTaskGroup({
|
|
73
|
+
async loadConfig({ application }) {
|
|
74
|
+
await this.loadCurrentJHipsterCommandConfig(application);
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
get [BaseApplicationGenerator.LOADING]() {
|
|
79
|
+
return this.delegateTasksToBlueprint(() => this.loading);
|
|
80
|
+
}
|
|
81
|
+
get writing() {
|
|
82
|
+
return this.asWritingTaskGroup({
|
|
83
|
+
async writing({ application }) {
|
|
84
|
+
await this.writeFiles({
|
|
85
|
+
blocks: [
|
|
86
|
+
javaMainPackageTemplatesBlock({
|
|
87
|
+
condition: ctx => ctx.reactive && ctx.authenticationTypeJwt,
|
|
88
|
+
templates: ['security/jwt/JWTRelayGatewayFilterFactory.java'],
|
|
89
|
+
}),
|
|
90
|
+
javaMainPackageTemplatesBlock({
|
|
91
|
+
condition: ctx => ctx.reactive && ctx.serviceDiscoveryAny,
|
|
92
|
+
templates: ['web/rest/vm/RouteVM.java', 'web/rest/GatewayResource.java', 'web/filter/ModifyServersOpenApiFilter.java'],
|
|
93
|
+
}),
|
|
94
|
+
javaTestPackageTemplatesBlock({
|
|
95
|
+
condition: ctx => ctx.reactive && ctx.serviceDiscoveryAny,
|
|
96
|
+
templates: ['web/filter/ModifyServersOpenApiFilterTest.java'],
|
|
97
|
+
}),
|
|
98
|
+
],
|
|
99
|
+
context: application,
|
|
100
|
+
});
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
get [BaseApplicationGenerator.WRITING]() {
|
|
105
|
+
return this.delegateTasksToBlueprint(() => this.writing);
|
|
106
|
+
}
|
|
107
|
+
get postWriting() {
|
|
108
|
+
return this.asPostWritingTaskGroup({
|
|
109
|
+
addDependencies({ application, source }) {
|
|
110
|
+
const { reactive } = application;
|
|
111
|
+
source.addJavaDependencies([
|
|
112
|
+
{ groupId: 'org.springframework.cloud', artifactId: `spring-cloud-starter-gateway${reactive ? '' : '-mvc'}` },
|
|
113
|
+
]);
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
get [BaseApplicationGenerator.POST_WRITING]() {
|
|
118
|
+
return this.delegateTasksToBlueprint(() => this.postWriting);
|
|
119
|
+
}
|
|
120
|
+
get postWritingEntities() {
|
|
121
|
+
return this.asPostWritingEntitiesTaskGroup({
|
|
122
|
+
packageJsonE2eScripts({ application, entities }) {
|
|
123
|
+
if (application.applicationTypeGateway) {
|
|
124
|
+
const { serverPort, lowercaseBaseName } = application;
|
|
125
|
+
const microservices = [...new Set(entities.map(entity => entity.microserviceName))].filter(Boolean).map(ms => ms.toLowerCase());
|
|
126
|
+
const scriptsStorage = this.packageJson.createStorage('scripts');
|
|
127
|
+
const waitServices = microservices
|
|
128
|
+
.concat(lowercaseBaseName)
|
|
129
|
+
.map(ms => `npm run ci:server:await:${ms}`)
|
|
130
|
+
.join(' && ');
|
|
131
|
+
scriptsStorage.set({
|
|
132
|
+
[`ci:server:await:${lowercaseBaseName}`]: `wait-on -t ${WAIT_TIMEOUT} http-get://127.0.0.1:$npm_package_config_backend_port/management/health`,
|
|
133
|
+
...Object.fromEntries(microservices.map(ms => [
|
|
134
|
+
`ci:server:await:${ms}`,
|
|
135
|
+
`wait-on -t ${WAIT_TIMEOUT} http-get://127.0.0.1:${serverPort}/services/${ms}/management/health/readiness`,
|
|
136
|
+
])),
|
|
137
|
+
'ci:server:await': `echo "Waiting for services to start" && ${waitServices} && echo "Services started"`,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
get [BaseApplicationGenerator.POST_WRITING_ENTITIES]() {
|
|
144
|
+
return this.delegateTasksToBlueprint(() => this.postWritingEntities);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2013-2024 the original author or authors from the JHipster project.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of the JHipster project, see https://www.jhipster.tech/
|
|
5
|
+
* for more information.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
export { default } from './generator.js';
|
|
20
|
+
export { default as command } from './command.js';
|
|
@@ -17,14 +17,13 @@
|
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
19
|
import BaseApplicationGenerator from '../base-application/index.js';
|
|
20
|
-
import { GENERATOR_SPRING_CLOUD_STREAM, GENERATOR_BOOTSTRAP_APPLICATION_SERVER } from '../generator-list.js';
|
|
21
20
|
export default class KafkaGenerator extends BaseApplicationGenerator {
|
|
22
21
|
async beforeQueue() {
|
|
23
22
|
if (!this.fromBlueprint) {
|
|
24
|
-
await this.composeWithBlueprints(
|
|
23
|
+
await this.composeWithBlueprints();
|
|
25
24
|
}
|
|
26
25
|
if (!this.delegateToBlueprint) {
|
|
27
|
-
await this.
|
|
26
|
+
await this.dependsOnBootstrapApplicationServer();
|
|
28
27
|
}
|
|
29
28
|
}
|
|
30
29
|
get composing() {
|
|
@@ -25,7 +25,7 @@ export default class KafkaGenerator extends BaseApplicationGenerator {
|
|
|
25
25
|
await this.composeWithBlueprints();
|
|
26
26
|
}
|
|
27
27
|
if (!this.delegateToBlueprint) {
|
|
28
|
-
await this.
|
|
28
|
+
await this.dependsOnBootstrapApplicationServer();
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
get writing() {
|
|
@@ -96,6 +96,6 @@ export default class KafkaGenerator extends BaseApplicationGenerator {
|
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
98
|
get [BaseApplicationGenerator.POST_WRITING]() {
|
|
99
|
-
return this.
|
|
99
|
+
return this.delegateTasksToBlueprint(() => this.postWriting);
|
|
100
100
|
}
|
|
101
101
|
}
|
|
@@ -23,10 +23,12 @@ import org.slf4j.Logger;
|
|
|
23
23
|
import org.slf4j.LoggerFactory;
|
|
24
24
|
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
|
25
25
|
import org.springframework.boot.test.util.TestPropertyValues;
|
|
26
|
+
import org.springframework.context.ConfigurableApplicationContext;
|
|
26
27
|
import org.springframework.core.annotation.AnnotatedElementUtils;
|
|
27
28
|
import org.springframework.test.context.ContextConfigurationAttributes;
|
|
28
29
|
import org.springframework.test.context.ContextCustomizer;
|
|
29
30
|
import org.springframework.test.context.ContextCustomizerFactory;
|
|
31
|
+
import org.springframework.test.context.MergedContextConfiguration;
|
|
30
32
|
import org.testcontainers.containers.KafkaContainer;
|
|
31
33
|
|
|
32
34
|
public class KafkaTestContainersSpringContextCustomizerFactory implements ContextCustomizerFactory {
|
|
@@ -38,20 +40,34 @@ public class KafkaTestContainersSpringContextCustomizerFactory implements Contex
|
|
|
38
40
|
@Override
|
|
39
41
|
public ContextCustomizer createContextCustomizer(Class<?> testClass, List<ContextConfigurationAttributes> configAttributes) {
|
|
40
42
|
|
|
41
|
-
return (
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if (null
|
|
49
|
-
|
|
50
|
-
|
|
43
|
+
return new ContextCustomizer() {
|
|
44
|
+
@Override
|
|
45
|
+
public void customizeContext(ConfigurableApplicationContext context,
|
|
46
|
+
MergedContextConfiguration mergedConfig) {
|
|
47
|
+
ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
|
|
48
|
+
TestPropertyValues testValues = TestPropertyValues.empty();
|
|
49
|
+
EmbeddedKafka kafkaAnnotation = AnnotatedElementUtils.findMergedAnnotation(testClass, EmbeddedKafka.class);
|
|
50
|
+
if (null != kafkaAnnotation) {
|
|
51
|
+
log.debug("detected the EmbeddedKafka annotation on class {}", testClass.getName());
|
|
52
|
+
log.info("Warming up the kafka broker");
|
|
53
|
+
if (null == kafkaBean) {
|
|
54
|
+
kafkaBean = beanFactory.createBean(KafkaTestContainer.class);
|
|
55
|
+
beanFactory.registerSingleton(KafkaTestContainer.class.getName(), kafkaBean);
|
|
56
|
+
}
|
|
57
|
+
testValues = testValues.and("spring.cloud.stream.kafka.binder.brokers=" + kafkaBean.getKafkaContainer().getHost() + ':' + kafkaBean.getKafkaContainer().getMappedPort(KafkaContainer.KAFKA_PORT));
|
|
51
58
|
}
|
|
52
|
-
testValues
|
|
59
|
+
testValues.applyTo(context);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@Override
|
|
63
|
+
public int hashCode() {
|
|
64
|
+
return KafkaTestContainer.class.getName().hashCode();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@Override
|
|
68
|
+
public boolean equals(Object obj) {
|
|
69
|
+
return this.hashCode() == obj.hashCode();
|
|
53
70
|
}
|
|
54
|
-
testValues.applyTo(context);
|
|
55
71
|
};
|
|
56
72
|
}
|
|
57
73
|
}
|
|
@@ -24,7 +24,7 @@ export default class PulsarGenerator extends BaseApplicationGenerator {
|
|
|
24
24
|
await this.composeWithBlueprints();
|
|
25
25
|
}
|
|
26
26
|
if (!this.delegateToBlueprint) {
|
|
27
|
-
await this.
|
|
27
|
+
await this.dependsOnBootstrapApplicationServer();
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
get writing() {
|
|
@@ -73,6 +73,6 @@ export default class PulsarGenerator extends BaseApplicationGenerator {
|
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
get [BaseApplicationGenerator.POST_WRITING]() {
|
|
76
|
-
return this.
|
|
76
|
+
return this.delegateTasksToBlueprint(() => this.postWriting);
|
|
77
77
|
}
|
|
78
78
|
}
|
|
@@ -24,11 +24,13 @@ import org.slf4j.Logger;
|
|
|
24
24
|
import org.slf4j.LoggerFactory;
|
|
25
25
|
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
|
26
26
|
import org.springframework.beans.factory.support.DefaultSingletonBeanRegistry;
|
|
27
|
+
import org.springframework.context.ConfigurableApplicationContext;
|
|
27
28
|
import org.springframework.core.annotation.AnnotatedElementUtils;
|
|
28
29
|
|
|
29
30
|
import org.springframework.test.context.ContextConfigurationAttributes;
|
|
30
31
|
import org.springframework.test.context.ContextCustomizer;
|
|
31
32
|
import org.springframework.test.context.ContextCustomizerFactory;
|
|
33
|
+
import org.springframework.test.context.MergedContextConfiguration;
|
|
32
34
|
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
|
33
35
|
import org.springframework.boot.test.util.TestPropertyValues;
|
|
34
36
|
|
|
@@ -41,25 +43,39 @@ public class PulsarTestContainersSpringContextCustomizerFactory implements Conte
|
|
|
41
43
|
@Override
|
|
42
44
|
public ContextCustomizer createContextCustomizer(Class<?> testClass, List<ContextConfigurationAttributes> configAttributes) {
|
|
43
45
|
|
|
44
|
-
return (
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (null
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
46
|
+
return new ContextCustomizer() {
|
|
47
|
+
@Override
|
|
48
|
+
public void customizeContext(ConfigurableApplicationContext context,
|
|
49
|
+
MergedContextConfiguration mergedConfig) {
|
|
50
|
+
ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
|
|
51
|
+
TestPropertyValues testValues = TestPropertyValues.empty();
|
|
52
|
+
EmbeddedPulsar pulsarAnnotation = AnnotatedElementUtils.findMergedAnnotation(testClass, EmbeddedPulsar.class);
|
|
53
|
+
if (null != pulsarAnnotation) {
|
|
54
|
+
log.debug("detected the EmbeddedPulsar annotation on class {}", testClass.getName());
|
|
55
|
+
log.info("Warming up the pulsar database");
|
|
56
|
+
if (null == pulsarBean) {
|
|
57
|
+
pulsarBean = beanFactory.createBean(PulsarTestContainer.class);
|
|
58
|
+
beanFactory.registerSingleton(PulsarTestContainer.class.getName(), pulsarBean);
|
|
59
|
+
// ((DefaultListableBeanFactory)beanFactory).registerDisposableBean(PulsarTestContainer.class.getName(), pulsarBean);
|
|
60
|
+
}
|
|
61
|
+
testValues =
|
|
62
|
+
testValues.and(
|
|
63
|
+
"spring.pulsar.client.service-url=" + pulsarBean.getPulsarContainer().getPulsarBrokerUrl(),
|
|
64
|
+
"spring.pulsar.administration.service-url=" + pulsarBean.getPulsarContainer().getHttpServiceUrl()
|
|
65
|
+
);
|
|
55
66
|
}
|
|
56
|
-
testValues
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
67
|
+
testValues.applyTo(context);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@Override
|
|
71
|
+
public int hashCode() {
|
|
72
|
+
return PulsarTestContainer.class.getName().hashCode();
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@Override
|
|
76
|
+
public boolean equals(Object obj) {
|
|
77
|
+
return this.hashCode() == obj.hashCode();
|
|
61
78
|
}
|
|
62
|
-
testValues.applyTo(context);
|
|
63
79
|
};
|
|
64
80
|
}
|
|
65
81
|
}
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
19
|
import BaseApplicationGenerator from '../base-application/index.js';
|
|
20
|
-
import { GENERATOR_SPRING_DATA_CASSANDRA, GENERATOR_BOOTSTRAP_APPLICATION } from '../generator-list.js';
|
|
21
20
|
import writeCassandraFilesTask from './files.js';
|
|
22
21
|
import cleanupCassandraFilesTask from './cleanup.js';
|
|
23
22
|
import writeCassandraEntityFilesTask, { cleanupCassandraEntityFilesTask } from './entity-files.js';
|
|
@@ -26,10 +25,10 @@ const { NO: NO_PAGINATION } = PaginationTypes;
|
|
|
26
25
|
export default class CassandraGenerator extends BaseApplicationGenerator {
|
|
27
26
|
async beforeQueue() {
|
|
28
27
|
if (!this.fromBlueprint) {
|
|
29
|
-
await this.composeWithBlueprints(
|
|
28
|
+
await this.composeWithBlueprints();
|
|
30
29
|
}
|
|
31
30
|
if (!this.delegateToBlueprint) {
|
|
32
|
-
await this.
|
|
31
|
+
await this.dependsOnBootstrapApplication();
|
|
33
32
|
}
|
|
34
33
|
}
|
|
35
34
|
get configuringEachEntity() {
|
|
@@ -76,13 +75,13 @@ export default class CassandraGenerator extends BaseApplicationGenerator {
|
|
|
76
75
|
});
|
|
77
76
|
},
|
|
78
77
|
addDependencies({ application, source }) {
|
|
79
|
-
const { reactive } = application;
|
|
78
|
+
const { reactive, javaDependencies } = application;
|
|
80
79
|
const cassandraStarter = reactive ? 'spring-boot-starter-data-cassandra-reactive' : 'spring-boot-starter-data-cassandra';
|
|
81
80
|
source.addJavaDependencies?.([
|
|
82
81
|
{ groupId: 'com.datastax.oss', artifactId: 'java-driver-mapper-runtime' },
|
|
83
82
|
{ groupId: 'commons-codec', artifactId: 'commons-codec' },
|
|
84
83
|
{ groupId: 'org.springframework.boot', artifactId: cassandraStarter },
|
|
85
|
-
{ groupId: 'org.lz4', artifactId: 'lz4-java' },
|
|
84
|
+
{ groupId: 'org.lz4', artifactId: 'lz4-java', version: javaDependencies['lz4-java'] },
|
|
86
85
|
{ scope: 'test', groupId: 'org.testcontainers', artifactId: 'junit-jupiter' },
|
|
87
86
|
{ scope: 'test', groupId: 'org.testcontainers', artifactId: 'testcontainers' },
|
|
88
87
|
{ scope: 'test', groupId: 'org.testcontainers', artifactId: 'cassandra' },
|
|
@@ -92,6 +91,6 @@ export default class CassandraGenerator extends BaseApplicationGenerator {
|
|
|
92
91
|
});
|
|
93
92
|
}
|
|
94
93
|
get [BaseApplicationGenerator.POST_WRITING]() {
|
|
95
|
-
return this.
|
|
94
|
+
return this.delegateTasksToBlueprint(() => this.postWriting);
|
|
96
95
|
}
|
|
97
96
|
}
|