generator-jhipster 8.2.1 → 8.3.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 +36 -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 +13 -10
- 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 +18 -26
- 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 +18 -25
- 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 +10 -15
- 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 +31 -46
- 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 +20 -31
- 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 +20 -34
- 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_-update.component.html.ejs +17 -24
- 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 +11 -12
- 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/app/generator.js +4 -4
- 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 +5 -6
- 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 +83 -14
- 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 +4 -5
- 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 +21 -15
- 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 +3 -3
- package/dist/generators/client/command.js +1 -2
- package/dist/generators/client/generator.js +12 -12
- package/dist/generators/client/needle-api/needle-client-vue.js +2 -2
- package/dist/generators/client/resources/package.json +4 -4
- package/dist/generators/client/templates/src/main/webapp/index.html.ejs +1 -1
- package/dist/generators/common/generator.js +5 -5
- 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 +4 -5
- 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/feign-client/generator.js +3 -4
- package/dist/generators/gatling/generator.js +2 -3
- package/dist/generators/generate-blueprint/files.js +1 -0
- package/dist/generators/generate-blueprint/generator.js +3 -4
- 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/gradle/generators/jib/index.js +19 -0
- 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 +3 -3
- 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 +153 -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 -9
- package/dist/generators/kubernetes/generator.js +1 -1
- 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 -1
- package/dist/generators/kubernetes-knative/generator.js +1 -1
- package/dist/generators/languages/entity-files.js +3 -2
- package/dist/generators/languages/generator.js +7 -10
- package/dist/generators/languages/support/translate.js +34 -9
- package/dist/generators/languages/translation-data.js +4 -5
- package/dist/generators/liquibase/generator.js +68 -25
- package/dist/generators/liquibase/support/maven-plugin.js +6 -0
- package/dist/generators/liquibase/templates/gradle/liquibase.gradle.ejs +3 -6
- 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 +18 -15
- 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/server/command.js +2 -34
- package/dist/generators/server/generator.js +20 -154
- package/dist/generators/server/jdl/application-definition.js +1 -2
- package/dist/generators/server/prompts.js +4 -46
- package/dist/generators/server/resources/Dockerfile +7 -7
- package/dist/generators/server/resources/build.gradle +1 -0
- package/dist/generators/server/resources/gradle/libs.versions.toml +25 -7
- package/dist/generators/server/resources/pom.xml +4 -22
- package/dist/generators/server/support/prepare-field.js +1 -2
- package/dist/generators/server/templates/build.gradle.ejs +29 -143
- package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +1 -1
- package/dist/generators/server/templates/gradle.properties.ejs +0 -7
- package/dist/generators/server/templates/pom.xml.ejs +23 -444
- package/dist/generators/server/templates/settings.gradle.ejs +0 -4
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +15 -3
- 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 +15 -4
- 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/command.js +31 -2
- package/dist/generators/spring-boot/entity-files.js +2 -2
- package/dist/generators/spring-boot/files.js +3 -38
- package/dist/generators/spring-boot/generator.js +98 -37
- package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +105 -105
- 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/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/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +47 -32
- package/dist/generators/spring-websocket/generator.js +2 -3
- package/dist/generators/statistics.js +2 -2
- package/dist/generators/upgrade/generator.js +4 -3
- package/dist/generators/vue/generator.js +4 -4
- package/dist/generators/vue/resources/package.json +18 -15
- 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/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/main.ts.ejs +4 -3
- package/dist/generators/vue/templates/vite.config.mts.ejs +6 -0
- 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 +7 -0
- 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-core/generator.d.ts +33 -1
- 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/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 +15 -27
- package/dist/generators/java/files.js +0 -20
- /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,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.3.7' }
|
|
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.27.2' }
|
|
@@ -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
|
}
|