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,9 +17,8 @@
|
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
19
|
import fs from 'fs';
|
|
20
|
-
import
|
|
20
|
+
import { min } from 'lodash-es';
|
|
21
21
|
import BaseEntityChangesGenerator from '../base-entity-changes/index.js';
|
|
22
|
-
import { GENERATOR_LIQUIBASE, GENERATOR_BOOTSTRAP_APPLICATION_SERVER } from '../generator-list.js';
|
|
23
22
|
import { liquibaseFiles } from './files.js';
|
|
24
23
|
import { prepareField as prepareFieldForLiquibase, postPrepareEntity, prepareRelationshipForLiquibase, liquibaseComment, } from './support/index.js';
|
|
25
24
|
import { getFKConstraintName, getUXConstraintName, prepareEntity as prepareEntityForServer } from '../server/support/index.js';
|
|
@@ -29,7 +28,6 @@ import { addLiquibaseChangelogCallback, addLiquibaseConstraintsChangelogCallback
|
|
|
29
28
|
import { prepareSqlApplicationProperties } from '../spring-data-relational/support/index.js';
|
|
30
29
|
import { addEntityFiles, updateEntityFiles, updateConstraintsFiles, updateMigrateFiles, fakeFiles } from './changelog-files.js';
|
|
31
30
|
import { fieldTypes } from '../../jdl/jhipster/index.js';
|
|
32
|
-
import command from './command.js';
|
|
33
31
|
const { CommonDBTypes: { LONG: TYPE_LONG, INTEGER: TYPE_INTEGER }, } = fieldTypes;
|
|
34
32
|
export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
35
33
|
recreateInitialChangelog;
|
|
@@ -49,21 +47,21 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
49
47
|
}
|
|
50
48
|
async beforeQueue() {
|
|
51
49
|
if (!this.fromBlueprint) {
|
|
52
|
-
await this.composeWithBlueprints(
|
|
50
|
+
await this.composeWithBlueprints();
|
|
53
51
|
}
|
|
54
52
|
if (!this.delegateToBlueprint) {
|
|
55
|
-
await this.
|
|
53
|
+
await this.dependsOnBootstrapApplicationServer();
|
|
56
54
|
}
|
|
57
55
|
}
|
|
58
56
|
get initializing() {
|
|
59
57
|
return this.asInitializingTaskGroup({
|
|
60
|
-
|
|
61
|
-
this.
|
|
58
|
+
async parseCommand() {
|
|
59
|
+
await this.parseCurrentJHipsterCommand();
|
|
62
60
|
},
|
|
63
61
|
});
|
|
64
62
|
}
|
|
65
63
|
get [BaseEntityChangesGenerator.INITIALIZING]() {
|
|
66
|
-
return this.
|
|
64
|
+
return this.delegateTasksToBlueprint(() => this.initializing);
|
|
67
65
|
}
|
|
68
66
|
get preparing() {
|
|
69
67
|
return this.asPreparingTaskGroup({
|
|
@@ -164,12 +162,19 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
164
162
|
const changes = entityChanges.filter(databaseChangelog => entitiesToWrite.length === 0 || entitiesToWrite.includes(databaseChangelog.entityName));
|
|
165
163
|
for (const databaseChangelog of changes) {
|
|
166
164
|
if (databaseChangelog.newEntity) {
|
|
167
|
-
this.databaseChangelogs.push(this.prepareChangelog({
|
|
165
|
+
this.databaseChangelogs.push(this.prepareChangelog({
|
|
166
|
+
databaseChangelog: {
|
|
167
|
+
...databaseChangelog,
|
|
168
|
+
changelogData: { ...databaseChangelog.changelogData },
|
|
169
|
+
},
|
|
170
|
+
application,
|
|
171
|
+
}));
|
|
168
172
|
}
|
|
169
173
|
else if (databaseChangelog.addedFields.length > 0 || databaseChangelog.removedFields.length > 0) {
|
|
170
174
|
this.databaseChangelogs.push(this.prepareChangelog({
|
|
171
175
|
databaseChangelog: {
|
|
172
176
|
...databaseChangelog,
|
|
177
|
+
changelogData: { ...databaseChangelog.changelogData },
|
|
173
178
|
fieldChangelog: true,
|
|
174
179
|
addedRelationships: [],
|
|
175
180
|
removedRelationships: [],
|
|
@@ -186,6 +191,7 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
186
191
|
this.databaseChangelogs.push(this.prepareChangelog({
|
|
187
192
|
databaseChangelog: {
|
|
188
193
|
...databaseChangelog,
|
|
194
|
+
changelogData: { ...databaseChangelog.changelogData },
|
|
189
195
|
relationshipChangelog: true,
|
|
190
196
|
addedFields: [],
|
|
191
197
|
removedFields: [],
|
|
@@ -268,36 +274,58 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
268
274
|
if (!application.javaDependencies) {
|
|
269
275
|
throw new Error('Some application fields are be mandatory');
|
|
270
276
|
}
|
|
277
|
+
const { javaDependencies } = application;
|
|
278
|
+
const checkProperty = (property) => {
|
|
279
|
+
if (!source.hasJavaManagedProperty?.(property) && !source.hasJavaProperty?.(property)) {
|
|
280
|
+
const message = `${property} is required by maven-liquibase-plugin, make sure to add it to your pom.xml`;
|
|
281
|
+
if (this.skipChecks) {
|
|
282
|
+
this.log.warn(message);
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
throw new Error(message);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
};
|
|
289
|
+
const { 'jakarta-validation': validationVersion, h2: h2Version, liquibase: liquibaseVersion } = javaDependencies;
|
|
271
290
|
const applicationAny = application;
|
|
272
291
|
const databaseTypeProfile = applicationAny.devDatabaseTypeH2Any ? 'prod' : undefined;
|
|
273
292
|
let liquibasePluginHibernateDialect;
|
|
274
293
|
let liquibasePluginJdbcDriver;
|
|
294
|
+
const mavenProperties = [];
|
|
275
295
|
if (applicationAny.devDatabaseTypeH2Any) {
|
|
276
296
|
// eslint-disable-next-line no-template-curly-in-string
|
|
277
297
|
liquibasePluginHibernateDialect = '${liquibase-plugin.hibernate-dialect}';
|
|
278
298
|
// eslint-disable-next-line no-template-curly-in-string
|
|
279
299
|
liquibasePluginJdbcDriver = '${liquibase-plugin.driver}';
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
{ inProfile: 'dev', property: 'liquibase-plugin.driver', value: applicationAny.devJdbcDriver },
|
|
288
|
-
{ inProfile: 'prod', property: 'liquibase-plugin.driver', value: applicationAny.prodJdbcDriver },
|
|
289
|
-
],
|
|
290
|
-
});
|
|
300
|
+
if (h2Version) {
|
|
301
|
+
mavenProperties.push({ property: 'h2.version', value: h2Version });
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
checkProperty('h2.version');
|
|
305
|
+
}
|
|
306
|
+
mavenProperties.push({ property: 'liquibase-plugin.hibernate-dialect' }, { property: 'liquibase-plugin.driver' }, { inProfile: 'dev', property: 'liquibase-plugin.hibernate-dialect', value: applicationAny.devHibernateDialect }, { inProfile: 'prod', property: 'liquibase-plugin.hibernate-dialect', value: applicationAny.prodHibernateDialect }, { inProfile: 'dev', property: 'liquibase-plugin.driver', value: applicationAny.devJdbcDriver }, { inProfile: 'prod', property: 'liquibase-plugin.driver', value: applicationAny.prodJdbcDriver });
|
|
291
307
|
}
|
|
292
308
|
else {
|
|
293
309
|
liquibasePluginHibernateDialect = applicationAny.prodHibernateDialect;
|
|
294
310
|
liquibasePluginJdbcDriver = applicationAny.prodJdbcDriver;
|
|
295
311
|
}
|
|
312
|
+
if (validationVersion) {
|
|
313
|
+
mavenProperties.push({ property: 'jakarta-validation.version', value: validationVersion });
|
|
314
|
+
}
|
|
315
|
+
else {
|
|
316
|
+
checkProperty('jakarta-validation.version');
|
|
317
|
+
}
|
|
318
|
+
if (liquibaseVersion) {
|
|
319
|
+
mavenProperties.push({ property: 'liquibase.version', value: liquibaseVersion });
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
checkProperty('liquibase.version');
|
|
323
|
+
}
|
|
296
324
|
source.addMavenDefinition?.({
|
|
297
325
|
properties: [
|
|
326
|
+
...mavenProperties,
|
|
298
327
|
{ inProfile: 'no-liquibase', property: 'profile.no-liquibase', value: ',no-liquibase' },
|
|
299
328
|
{ property: 'profile.no-liquibase' },
|
|
300
|
-
{ property: 'liquibase.version', value: application.springBootDependencies.liquibase },
|
|
301
329
|
{ property: 'liquibase-plugin.url' },
|
|
302
330
|
{ property: 'liquibase-plugin.username' },
|
|
303
331
|
{ property: 'liquibase-plugin.password' },
|
|
@@ -384,18 +412,33 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
384
412
|
if (!application.javaDependencies) {
|
|
385
413
|
throw new Error('Some application fields are be mandatory');
|
|
386
414
|
}
|
|
415
|
+
const { liquibase: liquibaseVersion, 'gradle-liquibase': gradleLiquibaseVersion } = application.javaDependencies;
|
|
416
|
+
if (!liquibaseVersion) {
|
|
417
|
+
this.log.warn('liquibaseVersion is required by gradle-liquibase-plugin, make sure to add it to your dependencies');
|
|
418
|
+
}
|
|
419
|
+
else {
|
|
420
|
+
source.addGradleProperty?.({ property: 'liquibaseVersion', value: liquibaseVersion });
|
|
421
|
+
}
|
|
387
422
|
source.addGradleProperty?.({ property: 'liquibaseTaskPrefix', value: 'liquibase' });
|
|
388
|
-
source.addGradleProperty?.({ property: 'liquibasePluginVersion', value:
|
|
389
|
-
source.addGradleProperty?.({ property: 'liquibaseVersion', value: application.springBootDependencies.liquibase });
|
|
423
|
+
source.addGradleProperty?.({ property: 'liquibasePluginVersion', value: gradleLiquibaseVersion });
|
|
390
424
|
source.applyFromGradle?.({ script: 'gradle/liquibase.gradle' });
|
|
391
425
|
source.addGradlePlugin?.({ id: 'org.liquibase.gradle' });
|
|
392
426
|
// eslint-disable-next-line no-template-curly-in-string
|
|
393
427
|
source.addGradlePluginManagement?.({ id: 'org.liquibase.gradle', version: '${liquibasePluginVersion}' });
|
|
428
|
+
if (application.databaseTypeSql && !application.reactive) {
|
|
429
|
+
source.addGradleDependency?.({
|
|
430
|
+
scope: 'liquibaseRuntime',
|
|
431
|
+
groupId: 'org.liquibase.ext',
|
|
432
|
+
artifactId: 'liquibase-hibernate6',
|
|
433
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
434
|
+
version: liquibaseVersion ? '${liquibaseVersion}' : "${dependencyManagement.importedProperties['liquibase.version']}",
|
|
435
|
+
}, { gradleFile: 'gradle/liquibase.gradle' });
|
|
436
|
+
}
|
|
394
437
|
},
|
|
395
438
|
});
|
|
396
439
|
}
|
|
397
440
|
get [BaseEntityChangesGenerator.POST_WRITING]() {
|
|
398
|
-
return this.
|
|
441
|
+
return this.delegateTasksToBlueprint(() => this.postWriting);
|
|
399
442
|
}
|
|
400
443
|
get postWritingEntities() {
|
|
401
444
|
return this.asPostWritingEntitiesTaskGroup({
|
|
@@ -527,7 +570,7 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
|
|
|
527
570
|
Object.defineProperty(entity, 'fakeDataCount', {
|
|
528
571
|
get: () => {
|
|
529
572
|
const uniqueRelationships = entity.relationships.filter(rel => rel.unique && (rel.columnRequired || rel.id));
|
|
530
|
-
return
|
|
573
|
+
return min([entity.liquibaseFakeData.length, ...uniqueRelationships.map(rel => rel.otherEntity.fakeDataCount)]);
|
|
531
574
|
},
|
|
532
575
|
configurable: true,
|
|
533
576
|
});
|
|
@@ -25,10 +25,16 @@ export default function mavenPluginContent({ backendTypeSpringBoot, reactive, pa
|
|
|
25
25
|
<groupId>org.liquibase.ext</groupId>
|
|
26
26
|
<artifactId>liquibase-hibernate6</artifactId>
|
|
27
27
|
<version>\${liquibase.version}</version>
|
|
28
|
+
</dependency>
|
|
29
|
+
<dependency>
|
|
30
|
+
<groupId>jakarta.validation</groupId>
|
|
31
|
+
<artifactId>jakarta.validation-api</artifactId>
|
|
32
|
+
<version>\${jakarta-validation.version}</version>
|
|
28
33
|
</dependency>${backendTypeSpringBoot ? `
|
|
29
34
|
<dependency>
|
|
30
35
|
<groupId>org.springframework.boot</groupId>
|
|
31
36
|
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
|
37
|
+
<version>\${spring-boot.version}</version>
|
|
32
38
|
</dependency>` : ''}${devDatabaseTypeH2Any ? `
|
|
33
39
|
<dependency>
|
|
34
40
|
<groupId>com.h2database</groupId>
|
|
@@ -7,10 +7,6 @@ dependencies {
|
|
|
7
7
|
liquibaseRuntime "org.liquibase:liquibase-core"
|
|
8
8
|
// Dependency required to parse options. Refer to https://github.com/liquibase/liquibase-gradle-plugin/tree/Release_2.2.0#news.
|
|
9
9
|
liquibaseRuntime "info.picocli:picocli:<%- javaDependencies.picocli %>"
|
|
10
|
-
<%_ if (databaseTypeSql && !reactive) { _%>
|
|
11
|
-
|
|
12
|
-
liquibaseRuntime "org.liquibase.ext:liquibase-hibernate6:${liquibaseVersion}"
|
|
13
|
-
<%_ } _%>
|
|
14
10
|
<%_ if (databaseTypeSql) { _%>
|
|
15
11
|
<%_ if (prodDatabaseType !== devDatabaseType) { _%>
|
|
16
12
|
if (project.hasProperty("prod") || project.hasProperty("gae")) {
|
|
@@ -26,7 +22,7 @@ dependencies {
|
|
|
26
22
|
<%_ } _%>
|
|
27
23
|
<%_ if (prodDatabaseTypeMssql) { _%>
|
|
28
24
|
liquibaseRuntime "com.microsoft.sqlserver:mssql-jdbc"
|
|
29
|
-
liquibaseRuntime "org.liquibase.ext:liquibase-mssql:${
|
|
25
|
+
liquibaseRuntime "org.liquibase.ext:liquibase-mssql:${dependencyManagement.importedProperties['liquibase.version']}"
|
|
30
26
|
<%_ } _%>
|
|
31
27
|
<%_ if (prodDatabaseTypeOracle) { _%>
|
|
32
28
|
liquibaseRuntime "com.oracle.database.jdbc:ojdbc8"
|
|
@@ -37,12 +33,13 @@ dependencies {
|
|
|
37
33
|
<%_ } else if (databaseTypeNeo4j) { _%>
|
|
38
34
|
// Exclude current neo4j driver and use the one provided by spring-data
|
|
39
35
|
// See: https://github.com/jhipster/generator-jhipster/pull/24241
|
|
40
|
-
implementation ("org.liquibase.ext:liquibase-neo4j:${
|
|
36
|
+
implementation ("org.liquibase.ext:liquibase-neo4j:${dependencyManagement.importedProperties['liquibase.version']}") {
|
|
41
37
|
exclude group: "org.neo4j.driver", module: "neo4j-java-driver"
|
|
42
38
|
exclude group: "org.slf4j", module: "*"
|
|
43
39
|
}
|
|
44
40
|
implementation "org.springframework:spring-jdbc"
|
|
45
41
|
<%_ } _%>
|
|
42
|
+
// jhipster-needle-gradle-dependency - JHipster will add additional dependencies here
|
|
46
43
|
}
|
|
47
44
|
|
|
48
45
|
project.ext.diffChangelogFile = "<%= SERVER_MAIN_RES_DIR %>config/liquibase/changelog/" + new Date().format("yyyyMMddHHmmss") + "_changelog.xml"
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
/* eslint-disable consistent-return */
|
|
20
20
|
import assert from 'assert/strict';
|
|
21
21
|
import BaseApplicationGenerator from '../base-application/index.js';
|
|
22
|
-
import { GENERATOR_MAVEN, GENERATOR_BOOTSTRAP_APPLICATION_SERVER } from '../generator-list.js';
|
|
23
22
|
import files from './files.js';
|
|
24
23
|
import { MAVEN } from './constants.js';
|
|
25
24
|
import cleanupOldServerFilesTask from './cleanup.js';
|
|
@@ -28,10 +27,10 @@ export default class MavenGenerator extends BaseApplicationGenerator {
|
|
|
28
27
|
pomStorage;
|
|
29
28
|
async beforeQueue() {
|
|
30
29
|
if (!this.fromBlueprint) {
|
|
31
|
-
await this.composeWithBlueprints(
|
|
30
|
+
await this.composeWithBlueprints();
|
|
32
31
|
}
|
|
33
32
|
if (!this.delegateToBlueprint) {
|
|
34
|
-
await this.
|
|
33
|
+
await this.dependsOnBootstrapApplicationServer();
|
|
35
34
|
}
|
|
36
35
|
}
|
|
37
36
|
get initializing() {
|
|
@@ -63,7 +62,8 @@ export default class MavenGenerator extends BaseApplicationGenerator {
|
|
|
63
62
|
async verify({ application }) {
|
|
64
63
|
assert.equal(application.buildTool, MAVEN);
|
|
65
64
|
},
|
|
66
|
-
addSourceNeddles({ source }) {
|
|
65
|
+
addSourceNeddles({ application, source }) {
|
|
66
|
+
const { javaProperties } = application;
|
|
67
67
|
function createForEach(callback) {
|
|
68
68
|
return (arg) => {
|
|
69
69
|
const argArray = Array.isArray(arg) ? arg : [arg];
|
|
@@ -80,7 +80,13 @@ export default class MavenGenerator extends BaseApplicationGenerator {
|
|
|
80
80
|
source.addMavenPluginManagement = createForEach(plugin => this.pomStorage.addPluginManagement(plugin));
|
|
81
81
|
source.addMavenPluginRepository = createForEach(repository => this.pomStorage.addPluginRepository(repository));
|
|
82
82
|
source.addMavenProfile = createForEach(profile => this.pomStorage.addProfile(profile));
|
|
83
|
-
source.addMavenProperty =
|
|
83
|
+
source.addMavenProperty = properties => {
|
|
84
|
+
properties = Array.isArray(properties) ? properties : [properties];
|
|
85
|
+
for (const property of properties) {
|
|
86
|
+
javaProperties[property.property] = property.value;
|
|
87
|
+
this.pomStorage.addProperty(property);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
84
90
|
source.addMavenRepository = createForEach(repository => this.pomStorage.addRepository(repository));
|
|
85
91
|
source.addMavenDefinition = definition => {
|
|
86
92
|
// profiles should be added first due to inProfile
|
|
@@ -92,7 +98,9 @@ export default class MavenGenerator extends BaseApplicationGenerator {
|
|
|
92
98
|
definition.distributionManagement?.forEach(distribution => this.pomStorage.addDistributionManagement(distribution));
|
|
93
99
|
definition.plugins?.forEach(plugin => this.pomStorage.addPlugin(plugin));
|
|
94
100
|
definition.pluginRepositories?.forEach(repository => this.pomStorage.addPluginRepository(repository));
|
|
95
|
-
definition.properties
|
|
101
|
+
if (definition.properties) {
|
|
102
|
+
source.addMavenProperty(definition.properties);
|
|
103
|
+
}
|
|
96
104
|
definition.repositories?.forEach(repository => this.pomStorage.addRepository(repository));
|
|
97
105
|
definition.annotationProcessors?.forEach(annotation => this.pomStorage.addAnnotationProcessor(annotation));
|
|
98
106
|
};
|
|
@@ -0,0 +1,268 @@
|
|
|
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
|
+
export default class CodeQualityGenerator extends BaseApplicationGenerator {
|
|
21
|
+
async beforeQueue() {
|
|
22
|
+
if (!this.fromBlueprint) {
|
|
23
|
+
await this.composeWithBlueprints();
|
|
24
|
+
}
|
|
25
|
+
if (!this.delegateToBlueprint) {
|
|
26
|
+
await this.dependsOnBootstrapApplication();
|
|
27
|
+
await this.dependsOnJHipster('maven');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
get initializing() {
|
|
31
|
+
return this.asInitializingTaskGroup({
|
|
32
|
+
async parseCommand() {
|
|
33
|
+
await this.parseCurrentJHipsterCommand();
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
get [BaseApplicationGenerator.INITIALIZING]() {
|
|
38
|
+
return this.delegateTasksToBlueprint(() => this.initializing);
|
|
39
|
+
}
|
|
40
|
+
get prompting() {
|
|
41
|
+
return this.asPromptingTaskGroup({
|
|
42
|
+
async promptCommand({ control }) {
|
|
43
|
+
if (control.existingProject && this.options.askAnswered !== true)
|
|
44
|
+
return;
|
|
45
|
+
await this.promptCurrentJHipsterCommand();
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
get [BaseApplicationGenerator.PROMPTING]() {
|
|
50
|
+
return this.delegateTasksToBlueprint(() => this.prompting);
|
|
51
|
+
}
|
|
52
|
+
get loading() {
|
|
53
|
+
return this.asLoadingTaskGroup({
|
|
54
|
+
async loadConfig({ application }) {
|
|
55
|
+
await this.loadCurrentJHipsterCommandConfig(application);
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
get [BaseApplicationGenerator.LOADING]() {
|
|
60
|
+
return this.delegateTasksToBlueprint(() => this.loading);
|
|
61
|
+
}
|
|
62
|
+
get postWriting() {
|
|
63
|
+
return this.asPostWritingTaskGroup({
|
|
64
|
+
checkstyle({ application, source }) {
|
|
65
|
+
const { javaDependencies } = application;
|
|
66
|
+
source.addMavenDefinition({
|
|
67
|
+
properties: [
|
|
68
|
+
{ property: 'checkstyle.version', value: javaDependencies.checkstyle },
|
|
69
|
+
{ property: 'maven-checkstyle-plugin.version', value: javaDependencies['maven-checkstyle-plugin'] },
|
|
70
|
+
{ property: 'nohttp-checkstyle.version', value: javaDependencies['nohttp-checkstyle'] },
|
|
71
|
+
],
|
|
72
|
+
plugins: [{ groupId: 'org.apache.maven.plugins', artifactId: 'maven-checkstyle-plugin' }],
|
|
73
|
+
pluginManagement: [
|
|
74
|
+
{
|
|
75
|
+
groupId: 'org.apache.maven.plugins',
|
|
76
|
+
artifactId: 'maven-checkstyle-plugin',
|
|
77
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
78
|
+
version: '${maven-checkstyle-plugin.version}',
|
|
79
|
+
additionalContent: `
|
|
80
|
+
<dependencies>
|
|
81
|
+
<dependency>
|
|
82
|
+
<groupId>com.puppycrawl.tools</groupId>
|
|
83
|
+
<artifactId>checkstyle</artifactId>
|
|
84
|
+
<version>\${checkstyle.version}</version>
|
|
85
|
+
</dependency>
|
|
86
|
+
<dependency>
|
|
87
|
+
<groupId>io.spring.nohttp</groupId>
|
|
88
|
+
<artifactId>nohttp-checkstyle</artifactId>
|
|
89
|
+
<version>\${nohttp-checkstyle.version}</version>
|
|
90
|
+
</dependency>
|
|
91
|
+
</dependencies>
|
|
92
|
+
<configuration>
|
|
93
|
+
<configLocation>checkstyle.xml</configLocation>
|
|
94
|
+
<includes>pom.xml,README.md</includes>
|
|
95
|
+
<excludes>.git/**/*,target/**/*,node_modules/**/*</excludes>
|
|
96
|
+
<sourceDirectories>./</sourceDirectories>
|
|
97
|
+
</configuration>
|
|
98
|
+
<executions>
|
|
99
|
+
<execution>
|
|
100
|
+
<goals>
|
|
101
|
+
<goal>check</goal>
|
|
102
|
+
</goals>
|
|
103
|
+
</execution>
|
|
104
|
+
</executions>
|
|
105
|
+
`,
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
});
|
|
109
|
+
},
|
|
110
|
+
jacoco({ application, source }) {
|
|
111
|
+
const { javaDependencies } = application;
|
|
112
|
+
source.addMavenDefinition({
|
|
113
|
+
properties: [{ property: 'jacoco-maven-plugin.version', value: javaDependencies['jacoco-maven-plugin'] }],
|
|
114
|
+
plugins: [{ groupId: 'org.jacoco', artifactId: 'jacoco-maven-plugin' }],
|
|
115
|
+
pluginManagement: [
|
|
116
|
+
{
|
|
117
|
+
groupId: 'org.jacoco',
|
|
118
|
+
artifactId: 'jacoco-maven-plugin',
|
|
119
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
120
|
+
version: '${jacoco-maven-plugin.version}',
|
|
121
|
+
additionalContent: `
|
|
122
|
+
<executions>
|
|
123
|
+
<execution>
|
|
124
|
+
<id>pre-unit-tests</id>
|
|
125
|
+
<goals>
|
|
126
|
+
<goal>prepare-agent</goal>
|
|
127
|
+
</goals>
|
|
128
|
+
</execution>
|
|
129
|
+
<execution>
|
|
130
|
+
<!-- Ensures that the code coverage report for unit tests is created after unit tests have been run -->
|
|
131
|
+
<id>post-unit-test</id>
|
|
132
|
+
<phase>test</phase>
|
|
133
|
+
<goals>
|
|
134
|
+
<goal>report</goal>
|
|
135
|
+
</goals>
|
|
136
|
+
</execution>
|
|
137
|
+
<execution>
|
|
138
|
+
<id>pre-integration-tests</id>
|
|
139
|
+
<goals>
|
|
140
|
+
<goal>prepare-agent-integration</goal>
|
|
141
|
+
</goals>
|
|
142
|
+
</execution>
|
|
143
|
+
<execution>
|
|
144
|
+
<!-- Ensures that the code coverage report for integration tests is created after integration tests have been run -->
|
|
145
|
+
<id>post-integration-tests</id>
|
|
146
|
+
<phase>post-integration-test</phase>
|
|
147
|
+
<goals>
|
|
148
|
+
<goal>report-integration</goal>
|
|
149
|
+
</goals>
|
|
150
|
+
</execution>
|
|
151
|
+
</executions>
|
|
152
|
+
`,
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
});
|
|
156
|
+
},
|
|
157
|
+
spotless({ application, source }) {
|
|
158
|
+
const { javaDependencies } = application;
|
|
159
|
+
source.addMavenDefinition({
|
|
160
|
+
properties: [{ property: 'spotless-maven-plugin.version', value: javaDependencies['spotless-maven-plugin'] }],
|
|
161
|
+
plugins: [{ groupId: 'com.diffplug.spotless', artifactId: 'spotless-maven-plugin' }],
|
|
162
|
+
pluginManagement: [
|
|
163
|
+
{
|
|
164
|
+
groupId: 'com.diffplug.spotless',
|
|
165
|
+
artifactId: 'spotless-maven-plugin',
|
|
166
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
167
|
+
version: '${spotless-maven-plugin.version}',
|
|
168
|
+
additionalContent: `
|
|
169
|
+
<configuration>
|
|
170
|
+
<java>
|
|
171
|
+
<!-- <removeUnusedImports/> -->
|
|
172
|
+
</java>
|
|
173
|
+
</configuration>
|
|
174
|
+
<executions>
|
|
175
|
+
<execution>
|
|
176
|
+
<id>spotless</id>
|
|
177
|
+
<phase>process-sources</phase>
|
|
178
|
+
<goals>
|
|
179
|
+
<goal>apply</goal>
|
|
180
|
+
</goals>
|
|
181
|
+
</execution>
|
|
182
|
+
</executions>
|
|
183
|
+
`,
|
|
184
|
+
},
|
|
185
|
+
],
|
|
186
|
+
});
|
|
187
|
+
},
|
|
188
|
+
sonar({ application, source }) {
|
|
189
|
+
const { javaDependencies } = application;
|
|
190
|
+
source.addMavenDefinition({
|
|
191
|
+
properties: [
|
|
192
|
+
{ property: 'properties-maven-plugin.version', value: javaDependencies['properties-maven-plugin'] },
|
|
193
|
+
{ property: 'sonar-maven-plugin.version', value: javaDependencies['sonar-maven-plugin'] },
|
|
194
|
+
],
|
|
195
|
+
plugins: [
|
|
196
|
+
{ groupId: 'org.codehaus.mojo', artifactId: 'properties-maven-plugin' },
|
|
197
|
+
{ groupId: 'org.sonarsource.scanner.maven', artifactId: 'sonar-maven-plugin' },
|
|
198
|
+
],
|
|
199
|
+
pluginManagement: [
|
|
200
|
+
{
|
|
201
|
+
groupId: 'org.codehaus.mojo',
|
|
202
|
+
artifactId: 'properties-maven-plugin',
|
|
203
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
204
|
+
version: '${properties-maven-plugin.version}',
|
|
205
|
+
additionalContent: `
|
|
206
|
+
<executions>
|
|
207
|
+
<execution>
|
|
208
|
+
<phase>initialize</phase>
|
|
209
|
+
<goals>
|
|
210
|
+
<goal>read-project-properties</goal>
|
|
211
|
+
</goals>
|
|
212
|
+
<configuration>
|
|
213
|
+
<files>
|
|
214
|
+
<file>sonar-project.properties</file>
|
|
215
|
+
</files>
|
|
216
|
+
</configuration>
|
|
217
|
+
</execution>
|
|
218
|
+
</executions>`,
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
groupId: 'org.sonarsource.scanner.maven',
|
|
222
|
+
artifactId: 'sonar-maven-plugin',
|
|
223
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
224
|
+
version: '${sonar-maven-plugin.version}',
|
|
225
|
+
},
|
|
226
|
+
],
|
|
227
|
+
});
|
|
228
|
+
},
|
|
229
|
+
modernizer({ application, source }) {
|
|
230
|
+
const { javaDependencies, databaseTypeCassandra, packageName } = application;
|
|
231
|
+
source.addMavenDefinition({
|
|
232
|
+
properties: [{ property: 'modernizer-maven-plugin.version', value: javaDependencies['modernizer-maven-plugin'] }],
|
|
233
|
+
plugins: [{ groupId: 'org.gaul', artifactId: 'modernizer-maven-plugin' }],
|
|
234
|
+
pluginManagement: [
|
|
235
|
+
{
|
|
236
|
+
groupId: 'org.gaul',
|
|
237
|
+
artifactId: 'modernizer-maven-plugin',
|
|
238
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
239
|
+
version: '${modernizer-maven-plugin.version}',
|
|
240
|
+
additionalContent: `
|
|
241
|
+
<executions>
|
|
242
|
+
<execution>
|
|
243
|
+
<id>modernizer</id>
|
|
244
|
+
<phase>package</phase>
|
|
245
|
+
<goals>
|
|
246
|
+
<goal>modernizer</goal>
|
|
247
|
+
</goals>
|
|
248
|
+
</execution>
|
|
249
|
+
</executions>
|
|
250
|
+
<configuration>
|
|
251
|
+
<javaVersion>\${java.version}</javaVersion>${databaseTypeCassandra
|
|
252
|
+
? `
|
|
253
|
+
<ignoreClassNamePatterns>
|
|
254
|
+
<ignoreClassNamePattern>${packageName}.domain.PersistentTokenHelper__MapperGenerated</ignoreClassNamePattern>
|
|
255
|
+
<ignoreClassNamePattern>${packageName}.domain.UserHelper__MapperGenerated</ignoreClassNamePattern>
|
|
256
|
+
</ignoreClassNamePatterns>`
|
|
257
|
+
: ''}
|
|
258
|
+
</configuration>`,
|
|
259
|
+
},
|
|
260
|
+
],
|
|
261
|
+
});
|
|
262
|
+
},
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
get [BaseApplicationGenerator.POST_WRITING]() {
|
|
266
|
+
return this.delegateTasksToBlueprint(() => this.postWriting);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
@@ -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';
|