generator-jhipster 7.4.1 → 7.5.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.
Files changed (162) hide show
  1. package/generators/app/index.js +11 -1
  2. package/generators/cleanup.js +27 -171
  3. package/generators/client/files-angular.js +6 -1
  4. package/generators/client/files-vue.js +5 -1
  5. package/generators/client/index.js +2 -1
  6. package/generators/client/templates/angular/angular.json.ejs +5 -0
  7. package/generators/client/templates/angular/jest.conf.js.ejs +2 -0
  8. package/generators/client/templates/angular/package.json +24 -24
  9. package/generators/client/templates/angular/package.json.ejs +3 -1
  10. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.ts.ejs +4 -4
  11. package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +1 -1
  12. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.ts.ejs +4 -4
  13. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +4 -4
  14. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.spec.ts.ejs +10 -9
  15. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.ts.ejs +1 -1
  16. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +8 -6
  17. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.ts.ejs +4 -4
  18. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +4 -4
  19. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +4 -4
  20. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +8 -8
  21. package/generators/client/templates/angular/src/main/webapp/app/app-routing.module.ts.ejs +14 -3
  22. package/generators/client/templates/angular/src/main/webapp/app/app.module.ts.ejs +8 -29
  23. package/generators/client/templates/angular/src/main/webapp/app/config/datepicker-adapter.ts.ejs +1 -1
  24. package/generators/client/templates/angular/src/main/webapp/app/config/dayjs.ts.ejs +4 -4
  25. package/generators/client/templates/angular/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +14 -9
  26. package/generators/client/templates/angular/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +6 -6
  27. package/generators/client/templates/angular/src/main/webapp/app/core/util/parse-links.service.ts.ejs +1 -1
  28. package/generators/client/templates/angular/src/main/webapp/app/entities/entity-navbar-items.ts.ejs +29 -0
  29. package/generators/client/templates/angular/src/main/webapp/app/home/home.component.spec.ts.ejs +14 -4
  30. package/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.ts.ejs +1 -1
  31. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +20 -0
  32. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +10 -4
  33. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs +41 -2
  34. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.spec.ts.ejs +3 -2
  35. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.ts.ejs +4 -4
  36. package/generators/client/templates/angular/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +4 -4
  37. package/generators/client/templates/angular/src/main/webapp/app/shared/date/duration.pipe.ts.ejs +1 -1
  38. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-date.pipe.spec.ts.ejs +1 -1
  39. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-date.pipe.ts.ejs +1 -1
  40. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-datetime.pipe.spec.ts.ejs +1 -1
  41. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-datetime.pipe.ts.ejs +1 -1
  42. package/generators/client/templates/angular/src/main/webapp/app/shared/language/translate.directive.ts.ejs +6 -6
  43. package/generators/client/templates/angular/src/main/webapp/app/shared/language/translation.module.ts.ejs +83 -0
  44. package/generators/client/templates/angular/src/main/webapp/declarations.d.ts.ejs +16 -2
  45. package/generators/client/templates/angular/tsconfig.json.ejs +2 -0
  46. package/generators/client/templates/angular/tsconfig.spec.json.ejs +0 -1
  47. package/generators/client/templates/angular/webpack/proxy.conf.js.ejs +0 -2
  48. package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +0 -16
  49. package/generators/client/templates/angular/webpack/webpack.microfrontend.js.ejs +12 -5
  50. package/generators/client/templates/common/package.json +2 -2
  51. package/generators/client/templates/common/src/main/webapp/robots.txt.ejs +0 -1
  52. package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +86 -56
  53. package/generators/client/templates/react/package.json +27 -27
  54. package/generators/client/templates/react/package.json.ejs +2 -0
  55. package/generators/client/templates/react/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +3 -2
  56. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.scss.ejs +9 -0
  57. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.tsx.ejs +1 -1
  58. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/authentication.spec.ts.ejs +1 -1
  59. package/generators/client/templates/react/webpack/webpack.dev.js.ejs +0 -2
  60. package/generators/client/templates/vue/package.json +22 -22
  61. package/generators/client/templates/vue/package.json.ejs +3 -3
  62. package/generators/client/templates/vue/src/main/webapp/app/account/account.service.ts.ejs +19 -9
  63. package/generators/client/templates/vue/src/main/webapp/app/entities/entities.component.ts.ejs +6 -0
  64. package/generators/client/templates/vue/src/main/webapp/app/entities/user/{user.oauth2.service.ts.ejs → user.service.ts.ejs} +1 -1
  65. package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +0 -8
  66. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-edit.component.spec.ts.ejs +4 -4
  67. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management.component.spec.ts.ejs +2 -2
  68. package/generators/client/templates/vue/webpack/webpack.common.js.ejs +0 -2
  69. package/generators/common/templates/README.md.jhi.ejs +1 -3
  70. package/generators/common/templates/package.json +3 -3
  71. package/generators/cypress/templates/cypress.json.ejs +9 -2
  72. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/login-page.spec.ts.ejs +3 -14
  73. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/password-page.spec.ts.ejs +33 -39
  74. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/register-page.spec.ts.ejs +52 -62
  75. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/reset-password-page.spec.ts.ejs +2 -10
  76. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/settings-page.spec.ts.ejs +25 -34
  77. package/generators/cypress/templates/src/test/javascript/cypress/integration/administration/administration.spec.ts.ejs +1 -22
  78. package/generators/cypress/templates/src/test/javascript/cypress/support/commands.ts.ejs +38 -6
  79. package/generators/cypress/templates/src/test/javascript/cypress/support/index.ts.ejs +1 -6
  80. package/generators/cypress/templates/src/test/javascript/cypress/support/navbar.ts.ejs +7 -7
  81. package/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +0 -9
  82. package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +1 -1
  83. package/generators/entity/index.js +45 -3
  84. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.spec.ts.ejs +1 -1
  85. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +1 -1
  86. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs +1 -35
  87. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.model.ts.ejs +1 -1
  88. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +4 -4
  89. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +8 -8
  90. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +1 -1
  91. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/infinite-scroll-template.ejs +8 -8
  92. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/no-pagination-template.ejs +8 -8
  93. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/pagination-template.ejs +8 -8
  94. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +15 -6
  95. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +1 -1
  96. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.ts.ejs +1 -1
  97. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.spec.ts.ejs +12 -5
  98. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +5 -5
  99. package/generators/entity-client/templates/angular/src/test/javascript/e2e/entities/entity.spec.ts.ejs +1 -1
  100. package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +14 -37
  101. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.reducer.ts.ejs +5 -4
  102. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.component.ts.ejs +23 -19
  103. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity-update.component.spec.ts.ejs +4 -6
  104. package/generators/entity-server/files.js +10 -0
  105. package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +2 -2
  106. package/generators/entity-server/templates/src/main/java/package/common/search_template.ejs +1 -1
  107. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +5 -8
  108. package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +18 -2
  109. package/generators/entity-server/templates/src/main/java/package/repository/search/SortToFieldSortBuilderConverter.java.ejs +24 -0
  110. package/generators/entity-server/templates/src/main/java/package/service/dto/EntityDTO.java.ejs +4 -6
  111. package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +2 -2
  112. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +2 -2
  113. package/generators/generator-base-private.js +2 -1
  114. package/generators/generator-base.js +13 -3
  115. package/generators/generator-constants.js +7 -7
  116. package/generators/server/__snapshots__/generator.spec.mjs.snap +16 -15
  117. package/generators/server/cleanup.js +151 -0
  118. package/generators/server/files.js +16 -14
  119. package/generators/server/index.js +34 -23
  120. package/generators/server/templates/build.gradle.ejs +214 -188
  121. package/generators/server/templates/gradle.properties.ejs +8 -8
  122. package/generators/server/templates/npmw +7 -5
  123. package/generators/server/templates/npmw.cmd +12 -7
  124. package/generators/server/templates/pom.xml.ejs +419 -329
  125. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +2 -2
  126. package/generators/server/templates/src/main/java/package/config/LocaleConfiguration.java.ejs +3 -2
  127. package/generators/server/templates/src/main/java/package/config/OpenApiConfiguration.java.ejs +17 -54
  128. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +5 -5
  129. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +3 -5
  130. package/generators/server/templates/src/main/java/package/config/WebConfigurer.java.ejs +0 -2
  131. package/generators/server/templates/src/main/java/package/config/neo4j/Neo4jMigrations.java.ejs +19 -9
  132. package/generators/server/templates/src/main/java/package/repository/AuthorityRepository.java.ejs +2 -2
  133. package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +0 -2
  134. package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +6 -4
  135. package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +2 -2
  136. package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +3 -3
  137. package/generators/server/templates/src/main/java/package/service/dto/UserDTO.java.ejs +6 -6
  138. package/generators/server/templates/src/main/java/package/web/filter/ModifyServersOpenApiFilter.java.ejs +3 -2
  139. package/generators/server/templates/src/main/java/package/web/filter/SpaWebFilter.java.ejs +1 -1
  140. package/generators/server/templates/src/main/java/package/web/rest/PublicUserResource.java.ejs +2 -2
  141. package/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +2 -2
  142. package/generators/server/templates/src/main/resources/config/application.yml.ejs +17 -3
  143. package/generators/server/templates/src/main/resources/logback-spring.xml.ejs +1 -2
  144. package/generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs +2 -6
  145. package/generators/server/templates/src/test/java/package/cucumber/CucumberTestContextConfiguration.java.ejs +2 -3
  146. package/generators/server/templates/src/test/java/package/cucumber/stepdefs/UserStepDefs.java.ejs +41 -6
  147. package/generators/server/templates/src/test/java/package/management/SecurityMetersServiceTests.java.ejs +7 -7
  148. package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderSecurityMetersTests.java.ejs +10 -10
  149. package/generators/server/templates/src/test/java/package/security/oauth2/AuthorizationHeaderUtilTest.java.ejs +1 -1
  150. package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +1 -1
  151. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +2 -3
  152. package/generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerTest.java.ejs +9 -0
  153. package/generators/server/templates/src/test/resources/junit-platform.properties.ejs +2 -0
  154. package/generators/server/templates/src/test/resources/logback.xml.ejs +1 -1
  155. package/generators/server/templates/src/test/{features → resources/package/features}/gitkeep +0 -0
  156. package/generators/server/templates/src/test/{features → resources/package/features}/user/user.feature.ejs +0 -0
  157. package/generators/spring-controller/templates/src/test/java/package/web/rest/ResourceIT.java.ejs +1 -1
  158. package/package.json +9 -9
  159. package/utils/entity.js +1 -5
  160. package/generators/server/templates/src/main/java/package/config/apidocs/GatewaySwaggerResourcesProvider.java.ejs +0 -91
  161. package/generators/server/templates/src/test/java/package/config/apidocs/GatewaySwaggerResourcesProviderTest.java.ejs +0 -79
  162. package/generators/server/templates/src/test/resources/cucumber.properties.ejs +0 -1
@@ -48,7 +48,7 @@ if (databaseTypeSql && reactive) {
48
48
  let idValue = `${persistInstance}.get${primaryKey.nameCapitalized}()`;
49
49
  if (primaryKey.typeLong) {
50
50
  idValue = idValue + '.intValue()';
51
- } else if (primaryKey.type === 'UUID') {
51
+ } else if (primaryKey.typeUUID) {
52
52
  idValue = idValue + '.toString()';
53
53
  }
54
54
  let transactionalAnnotation = '';
@@ -815,7 +815,7 @@ _%>
815
815
  <%_ } _%>
816
816
  <%= entityInstance %>Repository.save(<%= persistInstance %>)<%= callBlock %>;
817
817
 
818
- List<<%= entityClass %>> <%= entityInstance %>List = webTestClient.get().uri(ENTITY_API_URL)
818
+ List<<%= asEntity(entityClass) %>> <%= entityInstance %>List = webTestClient.get().uri(ENTITY_API_URL)
819
819
  .accept(MediaType.APPLICATION_NDJSON)
820
820
  .exchange()
821
821
  .expectStatus().isOk()
@@ -355,7 +355,8 @@ module.exports = class JHipsterBasePrivateGenerator extends Generator {
355
355
  }
356
356
  try {
357
357
  const content = languages.reduce(
358
- (content, language) => `${content}import 'dayjs/locale/${this.getDayjsLocaleId(language)}'\n`,
358
+ (content, language) =>
359
+ `${content}import 'dayjs/${this.clientFrameworkAngular ? 'esm/' : ''}locale/${this.getDayjsLocaleId(language)}'\n`,
359
360
  '// jhipster-needle-i18n-language-dayjs-imports - JHipster will import languages from dayjs here\n'
360
361
  );
361
362
 
@@ -2625,7 +2625,7 @@ templates: ${JSON.stringify(existingTemplates, null, 2)}`;
2625
2625
  this.jhipsterConfig.clientFramework = options.clientFramework;
2626
2626
  }
2627
2627
  if (options.testFrameworks) {
2628
- this.jhipsterConfig.testFrameworks = options.testFrameworks;
2628
+ this.jhipsterConfig.testFrameworks = [...new Set([...(this.jhipsterConfig.testFrameworks || []), ...options.testFrameworks])];
2629
2629
  }
2630
2630
  if (options.cypressCoverage !== undefined) {
2631
2631
  this.jhipsterConfig.cypressCoverage = options.cypressCoverage;
@@ -2636,7 +2636,11 @@ templates: ${JSON.stringify(existingTemplates, null, 2)}`;
2636
2636
  if (options.language) {
2637
2637
  // workaround double options parsing, remove once generator supports skipping parse options
2638
2638
  const languages = options.language.flat();
2639
- this.jhipsterConfig.languages = [...this.jhipsterConfig.languages, ...languages];
2639
+ if (languages.length === 1 && languages[0] === 'false') {
2640
+ this.jhipsterConfig.enableTranslation = false;
2641
+ } else {
2642
+ this.jhipsterConfig.languages = [...this.jhipsterConfig.languages, ...languages];
2643
+ }
2640
2644
  }
2641
2645
  if (options.nativeLanguage) {
2642
2646
  if (typeof options.nativeLanguage === 'string') {
@@ -2664,13 +2668,17 @@ templates: ${JSON.stringify(existingTemplates, null, 2)}`;
2664
2668
  }
2665
2669
 
2666
2670
  if (options.microfrontend) {
2667
- this.warning('Microfrontend option is deprecated.');
2671
+ this.jhipsterConfig.microfrontend = options.microfrontend;
2668
2672
  }
2669
2673
 
2670
2674
  if (options.reactive !== undefined) {
2671
2675
  this.jhipsterConfig.reactive = options.reactive;
2672
2676
  }
2673
2677
 
2678
+ if (options.enableSwaggerCodegen !== undefined) {
2679
+ this.jhipsterConfig.enableSwaggerCodegen = options.enableSwaggerCodegen;
2680
+ }
2681
+
2674
2682
  if (options.clientPackageManager) {
2675
2683
  this.jhipsterConfig.clientPackageManager = options.clientPackageManager;
2676
2684
  }
@@ -2736,6 +2744,7 @@ templates: ${JSON.stringify(existingTemplates, null, 2)}`;
2736
2744
  dest.dtoSuffix = config.dtoSuffix;
2737
2745
  dest.skipUserManagement = config.skipUserManagement;
2738
2746
  dest.skipCheckLengthOfIdentifier = config.skipCheckLengthOfIdentifier;
2747
+ dest.microfrontend = config.microfrontend;
2739
2748
 
2740
2749
  dest.skipServer = config.skipServer;
2741
2750
  dest.skipCommitHook = config.skipCommitHook;
@@ -2792,6 +2801,7 @@ templates: ${JSON.stringify(existingTemplates, null, 2)}`;
2792
2801
  dest.microfrontends = dest.remotes.filter(r => r.clientFramework && r.clientFramework !== CLIENT_FRAMEWORK_NO);
2793
2802
  }
2794
2803
  dest.microfrontend =
2804
+ dest.microfrontend ||
2795
2805
  (dest.applicationTypeMicroservice && !dest.skipClient) ||
2796
2806
  (dest.applicationTypeGateway && dest.microfrontends && dest.microfrontends.length > 0);
2797
2807
  }
@@ -26,24 +26,24 @@ const JAVA_VERSION = '11';
26
26
  const JAVA_COMPATIBLE_VERSIONS = ['11', '12', '13', '14', '15', '16', '17'];
27
27
 
28
28
  // Version of Node, NPM
29
- const NODE_VERSION = '14.18.1';
29
+ const NODE_VERSION = '16.13.1';
30
30
  const NPM_VERSION = commonPackageJson.devDependencies.npm;
31
31
  const OPENAPI_GENERATOR_CLI_VERSION = '1.0.13-4.3.1';
32
32
 
33
- const GRADLE_VERSION = '7.0.2';
33
+ const GRADLE_VERSION = '7.3.1';
34
34
  const JIB_VERSION = '3.1.4';
35
35
 
36
36
  // Libraries version
37
- const JHIPSTER_DEPENDENCIES_VERSION = '7.4.1';
37
+ const JHIPSTER_DEPENDENCIES_VERSION = '7.5.0';
38
38
  // The spring-boot version should match the one managed by https://mvnrepository.com/artifact/tech.jhipster/jhipster-dependencies/JHIPSTER_DEPENDENCIES_VERSION
39
- const SPRING_BOOT_VERSION = '2.5.7';
39
+ const SPRING_BOOT_VERSION = '2.5.8';
40
40
  const LIQUIBASE_VERSION = '4.6.1';
41
41
  const LIQUIBASE_DTD_VERSION = LIQUIBASE_VERSION.split('.', 3).slice(0, 2).join('.');
42
- const HIBERNATE_VERSION = '5.4.32.Final';
42
+ const HIBERNATE_VERSION = '5.4.33';
43
43
 
44
44
  const JACOCO_VERSION = '0.8.7';
45
45
  const KAFKA_VERSION = '5.5.5';
46
- const JACKSON_DATABIND_NULLABLE_VERSION = '0.2.1';
46
+ const JACKSON_DATABIND_NULLABLE_VERSION = '0.2.2';
47
47
 
48
48
  // Version of docker images
49
49
  const DOCKER_COMPOSE_FORMAT_VERSION = '3.8';
@@ -62,7 +62,7 @@ const DOCKER_NEO4J = 'neo4j:4.3.7';
62
62
  const DOCKER_HAZELCAST_MANAGEMENT_CENTER = 'hazelcast/management-center:4.2021.06';
63
63
  const DOCKER_MEMCACHED = 'memcached:1.6.12-alpine';
64
64
  const DOCKER_REDIS = 'redis:6.2.6';
65
- const DOCKER_KEYCLOAK = 'jboss/keycloak:15.0.2'; // The version should match the attribute 'keycloakVersion' from /docker-compose/templates/realm-config/jhipster-realm.json.ejs and /server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs
65
+ const DOCKER_KEYCLOAK = 'jboss/keycloak:16.1.0'; // The version should match the attribute 'keycloakVersion' from /docker-compose/templates/realm-config/jhipster-realm.json.ejs and /server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs
66
66
  const DOCKER_ELASTICSEARCH = 'docker.elastic.co/elasticsearch/elasticsearch:7.13.3'; // The version should be coherent with the one from spring-data-elasticsearch project
67
67
  const DOCKER_KAFKA = `confluentinc/cp-kafka:${KAFKA_VERSION}`;
68
68
  const DOCKER_ZOOKEEPER = `confluentinc/cp-zookeeper:${KAFKA_VERSION}`;
@@ -266,7 +266,6 @@ Object {
266
266
  ],
267
267
  },
268
268
  Object {
269
- "condition": [Function],
270
269
  "templates": Array [
271
270
  Object {
272
271
  "file": "npmw",
@@ -778,10 +777,6 @@ Object {
778
777
  "condition": [Function],
779
778
  "path": "src/main/java/",
780
779
  "templates": Array [
781
- Object {
782
- "file": "package/config/apidocs/GatewaySwaggerResourcesProvider.java",
783
- "renameTo": [Function],
784
- },
785
780
  Object {
786
781
  "file": "package/web/filter/ModifyServersOpenApiFilter.java",
787
782
  "renameTo": [Function],
@@ -796,10 +791,6 @@ Object {
796
791
  "file": "package/web/filter/ModifyServersOpenApiFilterTest.java",
797
792
  "renameTo": [Function],
798
793
  },
799
- Object {
800
- "file": "package/config/apidocs/GatewaySwaggerResourcesProviderTest.java",
801
- "renameTo": [Function],
802
- },
803
794
  ],
804
795
  },
805
796
  ],
@@ -1170,7 +1161,16 @@ Object {
1170
1161
  "file": "package/cucumber/stepdefs/UserStepDefs.java",
1171
1162
  "renameTo": [Function],
1172
1163
  },
1173
- "../features/user/user.feature",
1164
+ ],
1165
+ },
1166
+ Object {
1167
+ "condition": [Function],
1168
+ "path": "src/test/resources/",
1169
+ "templates": Array [
1170
+ Object {
1171
+ "file": "package/features/user/user.feature",
1172
+ "renameTo": [Function],
1173
+ },
1174
1174
  ],
1175
1175
  },
1176
1176
  Object {
@@ -1735,17 +1735,18 @@ Object {
1735
1735
  "file": "package/cucumber/CucumberTestContextConfiguration.java",
1736
1736
  "renameTo": [Function],
1737
1737
  },
1738
- Object {
1739
- "file": "../features/gitkeep",
1740
- "noEjs": true,
1741
- },
1742
1738
  ],
1743
1739
  },
1744
1740
  Object {
1745
1741
  "condition": [Function],
1746
1742
  "path": "src/test/resources/",
1747
1743
  "templates": Array [
1748
- "cucumber.properties",
1744
+ "junit-platform.properties",
1745
+ Object {
1746
+ "file": "package/features/gitkeep",
1747
+ "noEjs": true,
1748
+ "renameTo": [Function],
1749
+ },
1749
1750
  ],
1750
1751
  },
1751
1752
  Object {
@@ -0,0 +1,151 @@
1
+ /**
2
+ * Removes server files that where generated in previous JHipster versions and therefore
3
+ * need to be removed.
4
+ *
5
+ * @param {any} generator - reference to generator
6
+ * @param {string} javaDir - Java directory
7
+ * @param {string} testDir - Java tests directory
8
+ * @param {string} mainResourceDir - Main resources directory
9
+ * @param {string} testResourceDir - Test resources directory
10
+ */
11
+ function cleanupOldServerFiles(generator, javaDir, testDir, mainResourceDir, testResourceDir) {
12
+ if (generator.isJhipsterVersionLessThan('3.5.0')) {
13
+ generator.removeFile(`${javaDir}domain/util/JSR310DateTimeSerializer.java`);
14
+ generator.removeFile(`${javaDir}domain/util/JSR310LocalDateDeserializer.java`);
15
+ }
16
+ if (generator.isJhipsterVersionLessThan('3.6.0')) {
17
+ generator.removeFile(`${javaDir}config/HerokuDatabaseConfiguration.java`);
18
+ }
19
+ if (generator.isJhipsterVersionLessThan('3.10.0')) {
20
+ generator.removeFile(`${javaDir}config/CloudMongoDbConfiguration.java`);
21
+ generator.removeFile(`${javaDir}security/CustomAccessDeniedHandler.java`);
22
+ generator.removeFile(`${javaDir}web/filter/CsrfCookieGeneratorFilter.java`);
23
+ }
24
+ if (generator.isJhipsterVersionLessThan('3.12.0')) {
25
+ generator.removeFile(`${javaDir}config/hazelcast/HazelcastCacheRegionFactory.java`);
26
+ generator.removeFile(`${javaDir}config/hazelcast/package-info.java`);
27
+ }
28
+ if (generator.isJhipsterVersionLessThan('4.0.0')) {
29
+ generator.removeFile(`${javaDir}async/ExceptionHandlingAsyncTaskExecutor.java`);
30
+ generator.removeFile(`${javaDir}async/package-info.java`);
31
+ generator.removeFile(`${javaDir}config/jHipsterProperties.java`);
32
+ generator.removeFile(`${javaDir}config/LoadBalancedResourceDetails.java`);
33
+ generator.removeFile(`${javaDir}config/ElasticSearchConfiguration.java`);
34
+ generator.removeFile(`${javaDir}config/apidoc/package-info.java`);
35
+ generator.removeFile(`${javaDir}config/apidoc/PageableParameterBuilderPlugin.java`);
36
+ generator.removeFile(`${javaDir}config/apidoc/SwaggerConfiguration.java`);
37
+ generator.removeFile(`${javaDir}config/jcache/SpringCacheRegionFactory.java`);
38
+ generator.removeFile(`${javaDir}config/jcache/SpringCacheRegionFactory.java`);
39
+ generator.removeFile(`${javaDir}config/liquibase/AsyncSpringLiquibase.java`);
40
+ generator.removeFile(`${javaDir}config/liquibase/package-info.java`);
41
+ generator.removeFile(`${javaDir}config/locale/AngularCookieLocaleResolver.java`);
42
+ generator.removeFile(`${javaDir}config/locale/package-info.java`);
43
+ generator.removeFile(`${javaDir}domain/util/FixedH2Dialect.java`);
44
+ generator.removeFile(`${javaDir}domain/util/FixedPostgreSQL82Dialect`);
45
+ generator.removeFile(`${javaDir}domain/util/JSR310DateConverters.java`);
46
+ generator.removeFile(`${javaDir}domain/util/JSR310PersistenceConverters.java`);
47
+ generator.removeFile(`${javaDir}security/AjaxAuthenticationFailureHandler.java`);
48
+ generator.removeFile(`${javaDir}security/AjaxAuthenticationSuccessHandler.java`);
49
+ generator.removeFile(`${javaDir}security/AjaxLogoutSuccessHandler.java`);
50
+ generator.removeFile(`${javaDir}security/CustomPersistentRememberMeServices.java`);
51
+ generator.removeFile(`${javaDir}security/Http401UnauthorizedEntryPoint.java`);
52
+ generator.removeFile(`${javaDir}security/UserDetailsService.java`);
53
+ generator.removeFile(`${javaDir}web/filter/CachingHttpHeadersFilter.java`);
54
+ generator.removeFile(`${javaDir}web/filter/package-info.java`);
55
+ }
56
+ if (generator.isJhipsterVersionLessThan('4.3.0')) {
57
+ generator.removeFile(`${javaDir}gateway/ratelimiting/RateLimitingRepository.java`);
58
+ generator.removeFile(`${javaDir}config/cassandra/CustomZonedDateTimeCodec.java`);
59
+ }
60
+ if (generator.isJhipsterVersionLessThan('4.7.1')) {
61
+ generator.removeFile(`${javaDir}web/rest/errors/ErrorVM.java`);
62
+ generator.removeFile(`${javaDir}web/rest/errors/ParameterizedErrorVM.java`);
63
+ }
64
+ if (generator.isJhipsterVersionLessThan('5.0.0')) {
65
+ generator.removeFile(`${javaDir}config/ThymeleafConfiguration.java`);
66
+ generator.removeFile(`${javaDir}web/rest/ProfileInfoResource.java`);
67
+ generator.removeFile(`${mainResourceDir}mails/activationEmail.html`);
68
+ generator.removeFile(`${mainResourceDir}mails/creationEmail.html`);
69
+ generator.removeFile(`${mainResourceDir}mails/passwordResetEmail.html`);
70
+ generator.removeFile(`${mainResourceDir}mails/socialRegistrationValidationEmail.html`);
71
+ generator.removeFile(`${testResourceDir}mail/testEmail.html`);
72
+ generator.removeFile(`${testDir}web/rest/ProfileInfoResourceIT.java`);
73
+ generator.removeFile('gradle/mapstruct.gradle');
74
+ }
75
+ if (generator.isJhipsterVersionLessThan('5.2.2')) {
76
+ generator.removeFile(`${javaDir}config/ElasticsearchConfiguration.java`);
77
+ generator.removeFile('gradle/liquibase.gradle');
78
+ }
79
+ if (generator.isJhipsterVersionLessThan('5.8.0')) {
80
+ generator.removeFile(`${javaDir}config/MetricsConfiguration.java`);
81
+ if (generator.databaseType === 'cassandra') {
82
+ generator.removeFile(`${testResourceDir}cassandra-random-port.yml`);
83
+ }
84
+ }
85
+ if (generator.isJhipsterVersionLessThan('6.0.0')) {
86
+ generator.removeFile(`${javaDir}web/rest/errors/CustomParameterizedException.java`);
87
+ generator.removeFile(`${javaDir}web/rest/errors/InternalServerErrorException.java`);
88
+ generator.removeFile(`${javaDir}web/rest/util/PaginationUtil.java`);
89
+ generator.removeFile(`${javaDir}web/rest/util/HeaderUtil.java`);
90
+ generator.removeFile(`${testDir}web/rest/util/PaginationUtilUnitTest.java`);
91
+ generator.removeFile(`${javaDir}web/rest/vm/LoggerVM.java`);
92
+ generator.removeFile(`${javaDir}web/rest/LogsResource.java`);
93
+ generator.removeFile(`${testDir}web/rest/LogsResourceIT.java`);
94
+ generator.removeFile(`${javaDir}config/OAuth2Configuration.java`);
95
+ generator.removeFile(`${javaDir}security/OAuth2AuthenticationSuccessHandler.java`);
96
+ }
97
+ if (generator.isJhipsterVersionLessThan('6.5.2')) {
98
+ generator.removeFile(`${testDir}service/mapper/UserMapperIT.java`);
99
+ generator.removeFile(`${javaDir}service/${generator.upperFirstCamelCase(generator.baseName)}KafkaConsumer.java`);
100
+ generator.removeFile(`${javaDir}service/${generator.upperFirstCamelCase(generator.baseName)}KafkaProducer.java`);
101
+ generator.removeFile(`${testDir}web/rest/ClientForwardControllerIT.java`);
102
+ }
103
+ if (generator.isJhipsterVersionLessThan('6.6.1')) {
104
+ generator.removeFile(`${javaDir}web/rest/errors/EmailNotFoundException.java`);
105
+ generator.removeFile(`${javaDir}config/DefaultProfileUtil.java`);
106
+ generator.removeFolder(`${javaDir}service/util`);
107
+ }
108
+ if (generator.isJhipsterVersionLessThan('6.8.0')) {
109
+ generator.removeFile(`${javaDir}security/oauth2/JwtAuthorityExtractor.java`);
110
+ }
111
+ if (generator.isJhipsterVersionLessThan('6.8.1')) {
112
+ generator.removeFile(`${javaDir}config/ReactivePageableHandlerMethodArgumentResolver.java`);
113
+ generator.removeFile(`${javaDir}config/ReactiveSortHandlerMethodArgumentResolver.java`);
114
+ }
115
+ if (generator.isJhipsterVersionLessThan('7.0.0-beta.0')) {
116
+ generator.removeFile(`${javaDir}config/apidoc/SwaggerConfiguration.java`);
117
+ generator.removeFile(`${javaDir}config/audit/package-info.java`);
118
+ generator.removeFile(`${javaDir}config/audit/AuditEventConverter.java`);
119
+ generator.removeFile(`${javaDir}domain/PersistentAuditEvent.java`);
120
+ generator.removeFile(`${javaDir}repository/PersistenceAuditEventRepository.java`);
121
+ generator.removeFile(`${javaDir}repository/CustomAuditEventRepository.java`);
122
+ generator.removeFile(`${javaDir}service/AuditEventService.java`);
123
+ generator.removeFile(`${javaDir}web/rest/AuditResource.java`);
124
+ generator.removeFile(`${testDir}service/AuditEventServiceIT.java`);
125
+ generator.removeFile(`${testDir}web/rest/AuditResourceIT.java`);
126
+ generator.removeFile(`${testDir}repository/CustomAuditEventRepositoryIT.java`);
127
+
128
+ if (generator.databaseType === 'cassandra') {
129
+ generator.removeFile(`${javaDir}config/metrics/package-info.java`);
130
+ generator.removeFile(`${javaDir}config/metrics/CassandraHealthIndicator.java`);
131
+ generator.removeFile(`${javaDir}config/metrics/JHipsterHealthIndicatorConfiguration.java`);
132
+ generator.removeFile(`${javaDir}config/cassandra/package-info.java`);
133
+ generator.removeFile(`${javaDir}config/cassandra/CassandraConfiguration.java`);
134
+ generator.removeFile(`${testDir}config/CassandraConfigurationIT.java`);
135
+ }
136
+ if (generator.searchEngine === 'elasticsearch') {
137
+ generator.removeFile(`${testDir}config/ElasticsearchTestConfiguration.java`);
138
+ }
139
+ }
140
+ if (generator.isJhipsterVersionLessThan('7.0.0-beta.1')) {
141
+ generator.removeFile(`${javaDir}config/CloudDatabaseConfiguration.java`);
142
+ }
143
+ if (generator.isJhipsterVersionLessThan('7.4.2')) {
144
+ generator.removeFile(`${javaDir}config/apidocs/GatewaySwaggerResourcesProvider.java`);
145
+ generator.removeFile(`${testDir}config/apidocs/GatewaySwaggerResourcesProviderTest.java`);
146
+ }
147
+ }
148
+
149
+ module.exports = {
150
+ cleanupOldServerFiles,
151
+ };
@@ -16,7 +16,7 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- const cleanup = require('../cleanup');
19
+ const serverCleanup = require('./cleanup');
20
20
  const constants = require('../generator-constants');
21
21
  const { GATEWAY, MICROSERVICE, MONOLITH } = require('../../jdl/jhipster/application-types');
22
22
  const { JWT, OAUTH2, SESSION } = require('../../jdl/jhipster/authentication-types');
@@ -345,7 +345,6 @@ const baseServerFiles = {
345
345
  ],
346
346
  },
347
347
  {
348
- condition: generator => generator.buildTool === MAVEN,
349
348
  templates: [
350
349
  { file: 'npmw', method: 'copy', noEjs: true },
351
350
  { file: 'npmw.cmd', method: 'copy', noEjs: true },
@@ -661,10 +660,6 @@ const baseServerFiles = {
661
660
  condition: generator => generator.applicationType === GATEWAY && generator.serviceDiscoveryType && generator.reactive,
662
661
  path: SERVER_MAIN_SRC_DIR,
663
662
  templates: [
664
- {
665
- file: 'package/config/apidocs/GatewaySwaggerResourcesProvider.java',
666
- renameTo: generator => `${generator.javaDir}config/apidocs/GatewaySwaggerResourcesProvider.java`,
667
- },
668
663
  {
669
664
  file: 'package/web/filter/ModifyServersOpenApiFilter.java',
670
665
  renameTo: generator => `${generator.javaDir}web/filter/ModifyServersOpenApiFilter.java`,
@@ -679,10 +674,6 @@ const baseServerFiles = {
679
674
  file: 'package/web/filter/ModifyServersOpenApiFilterTest.java',
680
675
  renameTo: generator => `${generator.testDir}web/filter/ModifyServersOpenApiFilterTest.java`,
681
676
  },
682
- {
683
- file: 'package/config/apidocs/GatewaySwaggerResourcesProviderTest.java',
684
- renameTo: generator => `${generator.testDir}config/apidocs/GatewaySwaggerResourcesProviderTest.java`,
685
- },
686
677
  ],
687
678
  },
688
679
  ],
@@ -1323,13 +1314,15 @@ const baseServerFiles = {
1323
1314
  file: 'package/cucumber/CucumberTestContextConfiguration.java',
1324
1315
  renameTo: generator => `${generator.testDir}cucumber/CucumberTestContextConfiguration.java`,
1325
1316
  },
1326
- { file: '../features/gitkeep', noEjs: true },
1327
1317
  ],
1328
1318
  },
1329
1319
  {
1330
1320
  condition: generator => generator.cucumberTests,
1331
1321
  path: SERVER_TEST_RES_DIR,
1332
- templates: ['cucumber.properties'],
1322
+ templates: [
1323
+ 'junit-platform.properties',
1324
+ { file: 'package/features/gitkeep', renameTo: generator => `${generator.testDir}cucumber/gitkeep`, noEjs: true },
1325
+ ],
1333
1326
  },
1334
1327
  {
1335
1328
  condition: generator => !shouldSkipUserManagement(generator) && generator.authenticationType !== OAUTH2,
@@ -1638,7 +1631,16 @@ const baseServerFiles = {
1638
1631
  file: 'package/cucumber/stepdefs/UserStepDefs.java',
1639
1632
  renameTo: generator => `${generator.testDir}cucumber/stepdefs/UserStepDefs.java`,
1640
1633
  },
1641
- '../features/user/user.feature',
1634
+ ],
1635
+ },
1636
+ {
1637
+ condition: generator => !generator.skipUserManagement && generator.cucumberTests,
1638
+ path: SERVER_TEST_RES_DIR,
1639
+ templates: [
1640
+ {
1641
+ file: 'package/features/user/user.feature',
1642
+ renameTo: generator => `${generator.testDir}cucumber/user.feature`,
1643
+ },
1642
1644
  ],
1643
1645
  },
1644
1646
  {
@@ -1735,7 +1737,7 @@ function writeFiles() {
1735
1737
  },
1736
1738
 
1737
1739
  cleanupOldServerFiles() {
1738
- cleanup.cleanupOldServerFiles(
1740
+ serverCleanup.cleanupOldServerFiles(
1739
1741
  this,
1740
1742
  `${SERVER_MAIN_SRC_DIR}/${this.javaDir}`,
1741
1743
  `${SERVER_TEST_SRC_DIR}/${this.testDir}`,
@@ -54,6 +54,8 @@ const NO_CACHE = cacheTypes.NO;
54
54
  const NO_DATABASE = databaseTypes.NO;
55
55
  const NO_WEBSOCKET = websocketTypes.FALSE;
56
56
 
57
+ const { SERVER_MAIN_SRC_DIR, SERVER_MAIN_RES_DIR, SERVER_TEST_SRC_DIR, SERVER_TEST_RES_DIR, MAIN_DIR, TEST_DIR } = constants;
58
+
57
59
  module.exports = class JHipsterServerGenerator extends BaseBlueprintGenerator {
58
60
  constructor(args, options, features) {
59
61
  super(args, options, { unique: 'namespace', ...features });
@@ -93,14 +95,11 @@ module.exports = class JHipsterServerGenerator extends BaseBlueprintGenerator {
93
95
  ) {
94
96
  return defaultInstallTask();
95
97
  }
96
- const gradle = buildTool === GRADLE;
97
- const command = gradle ? './gradlew' : './npmw';
98
- const args = gradle ? ['npmInstall'] : ['install'];
99
98
 
100
99
  try {
101
- await this.spawnCommand(command, args, { preferLocal: true });
100
+ await this.spawnCommand('./npmw', ['install'], { preferLocal: true });
102
101
  } catch (error) {
103
- this.log(chalk.red(`Error executing '${command} ${args.join(' ')}', execute it yourself. (${error.shortMessage})`));
102
+ this.log(chalk.red(`Error executing './npmw install', execute it yourself. (${error.shortMessage})`));
104
103
  }
105
104
  return true;
106
105
  }.bind(this),
@@ -336,6 +335,15 @@ module.exports = class JHipsterServerGenerator extends BaseBlueprintGenerator {
336
335
 
337
336
  this.jhiTablePrefix = this.getTableName(this.jhiPrefix);
338
337
 
338
+ this.mainJavaDir = SERVER_MAIN_SRC_DIR;
339
+ this.mainJavaResourceDir = SERVER_MAIN_RES_DIR;
340
+ this.mainJavaPackageDir = `${SERVER_MAIN_RES_DIR}${this.packageFolder}/`;
341
+ this.testJavaDir = SERVER_TEST_SRC_DIR;
342
+ this.testJavaPackageDir = `${SERVER_MAIN_RES_DIR}${this.packageFolder}/`;
343
+ this.testResourceDir = SERVER_TEST_RES_DIR;
344
+ this.srcMainDir = MAIN_DIR;
345
+ this.srcTestDir = TEST_DIR;
346
+
339
347
  if (this.jhipsterConfig.databaseType === SQL) {
340
348
  // sql
341
349
  let dbContainer;
@@ -432,6 +440,20 @@ module.exports = class JHipsterServerGenerator extends BaseBlueprintGenerator {
432
440
  // Public API method used by the getter and also by Blueprints
433
441
  _writing() {
434
442
  return {
443
+ cleanupCucumberTests() {
444
+ if (!this.cucumberTests) return undefined;
445
+ if (this.isJhipsterVersionLessThan('7.4.2')) {
446
+ this.removeFile(`${this.testResourceDir}cucumber.properties`);
447
+ this.removeFile(`${this.srcTestDir}features/gitkeep`);
448
+ this.removeFile(`${this.srcTestDir}features/user/user.feature`);
449
+ }
450
+ },
451
+ cleanupServer() {
452
+ if (this.isJhipsterVersionLessThan('7.4.2')) {
453
+ this.removeFile(`${this.mainJavaPackageDir}config/apidocs/GatewaySwaggerResourcesProvider.java`);
454
+ this.removeFile(`${this.testJavaDir}config/apidocs/GatewaySwaggerResourcesProviderTest.java`);
455
+ }
456
+ },
435
457
  ...writeFiles(),
436
458
  ...super._missingPostWriting(),
437
459
  };
@@ -544,17 +566,18 @@ module.exports = class JHipsterServerGenerator extends BaseBlueprintGenerator {
544
566
  const buildTool = this.jhipsterConfig.buildTool;
545
567
  let e2ePackage = 'target/e2e';
546
568
  if (buildTool === MAVEN) {
569
+ const excludeWebapp = this.jhipsterConfig.skipClient ? '' : ' -Dskip.installnodenpm -Dskip.npm';
547
570
  scriptsStorage.set({
548
571
  'app:start': './mvnw',
549
572
  'backend:info': './mvnw -ntp enforcer:display-info --batch-mode',
550
573
  'backend:doc:test': './mvnw -ntp javadoc:javadoc --batch-mode',
551
574
  'backend:nohttp:test': './mvnw -ntp checkstyle:check --batch-mode',
552
- 'backend:start': './mvnw -P-webapp',
575
+ 'backend:start': `./mvnw${excludeWebapp}`,
553
576
  'java:jar': './mvnw -ntp verify -DskipTests --batch-mode',
554
577
  'java:war': './mvnw -ntp verify -DskipTests --batch-mode -Pwar',
555
- 'java:docker': './mvnw -ntp verify -DskipTests jib:dockerBuild',
578
+ 'java:docker': './mvnw -ntp verify -DskipTests -Pprod jib:dockerBuild',
556
579
  'java:docker:arm64': 'npm run java:docker -- -Djib-maven-plugin.architecture=arm64',
557
- 'backend:unit:test': `./mvnw -ntp -P-webapp verify --batch-mode ${javaCommonLog} ${javaTestLog}`,
580
+ 'backend:unit:test': `./mvnw -ntp${excludeWebapp} verify --batch-mode ${javaCommonLog} ${javaTestLog}`,
558
581
  'backend:build-cache': './mvnw dependency:go-offline',
559
582
  'backend:debug': './mvnw -Dspring-boot.run.jvmArguments="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000"',
560
583
  });
@@ -569,7 +592,7 @@ module.exports = class JHipsterServerGenerator extends BaseBlueprintGenerator {
569
592
  'backend:start': `./gradlew ${excludeWebapp}`,
570
593
  'java:jar': './gradlew bootJar -x test -x integrationTest',
571
594
  'java:war': './gradlew bootWar -Pwar -x test -x integrationTest',
572
- 'java:docker': './gradlew bootJar jibDockerBuild',
595
+ 'java:docker': './gradlew bootJar -Pprod jibDockerBuild',
573
596
  'backend:unit:test': `./gradlew test integrationTest ${excludeWebapp} ${javaCommonLog} ${javaTestLog}`,
574
597
  'postci:e2e:package': 'cp build/libs/*.$npm_package_config_packaging e2e.$npm_package_config_packaging',
575
598
  'backend:build-cache': 'npm run backend:info && npm run backend:nohttp:test && npm run ci:e2e:package',
@@ -583,8 +606,8 @@ module.exports = class JHipsterServerGenerator extends BaseBlueprintGenerator {
583
606
  'java:war:prod': 'npm run java:war -- -Pprod',
584
607
  'java:docker:dev': 'npm run java:docker -- -Pdev,webapp',
585
608
  'java:docker:prod': 'npm run java:docker -- -Pprod',
586
- 'ci:backend:test': 'npm run backend:info && npm run backend:doc:test && npm run backend:nohttp:test && npm run backend:unit:test',
587
- 'ci:server:package': 'npm run java:$npm_package_config_packaging:$npm_package_config_default_environment',
609
+ 'ci:backend:test':
610
+ 'npm run backend:info && npm run backend:doc:test && npm run backend:nohttp:test && npm run backend:unit:test -- -P$npm_package_config_default_environment',
588
611
  'ci:e2e:package':
589
612
  'npm run java:$npm_package_config_packaging:$npm_package_config_default_environment -- -Pe2e -Denforcer.skip=true',
590
613
  'preci:e2e:server:start': 'npm run docker:db:await --if-present && npm run docker:others:await --if-present',
@@ -605,18 +628,6 @@ module.exports = class JHipsterServerGenerator extends BaseBlueprintGenerator {
605
628
  'concurrently -k -s first "npm run backend:start" "npm start" "wait-on http-get://localhost:9000 && npm run e2e:headless -- -c baseUrl=http://localhost:9000"',
606
629
  });
607
630
  }
608
- // Vue eagerly loads remotes, wait for it.
609
- if (this.microfrontend && this.applicationTypeGateway && this.clientFrameworkVue) {
610
- const remotesScript = this.remotes
611
- .map(
612
- app =>
613
- `echo "Waiting for microfrontend ${app.baseName} to start" && wait-on http-get://localhost:$npm_package_config_backend_port/${app.endpointPrefix}/remoteEntry.js && echo "Microfrontend ${app.baseName} started"`
614
- )
615
- .join(' && ');
616
- scriptsStorage.set({
617
- 'ci:server:await': `${scriptsStorage.get('ci:server:await')} && ${remotesScript}`,
618
- });
619
- }
620
631
  },
621
632
  };
622
633
  }