generator-jhipster 7.3.0 → 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 (340) hide show
  1. package/cli/import-jdl.js +3 -2
  2. package/cli/jhipster-command.js +2 -2
  3. package/cli/program.js +32 -29
  4. package/generators/app/index.js +46 -27
  5. package/generators/aws/index.js +8 -8
  6. package/generators/aws/lib/eb.js +1 -1
  7. package/generators/azure-app-service/index.js +16 -9
  8. package/generators/azure-app-service/templates/github/workflows/azure-app-service.yml.ejs +2 -2
  9. package/generators/azure-spring-cloud/index.js +16 -9
  10. package/generators/azure-spring-cloud/templates/github/workflows/azure-spring-cloud.yml.ejs +2 -2
  11. package/generators/bootstrap/index.js +57 -62
  12. package/generators/ci-cd/index.js +11 -8
  13. package/generators/ci-cd/templates/github-actions.yml.ejs +1 -1
  14. package/generators/ci-cd/templates/travis.yml.ejs +9 -4
  15. package/generators/cleanup.js +27 -171
  16. package/generators/client/files-angular.js +12 -1
  17. package/generators/client/files-common.js +6 -2
  18. package/generators/client/files-react.js +13 -2
  19. package/generators/client/files-vue.js +59 -7
  20. package/generators/client/index.js +46 -32
  21. package/generators/client/needle-api/needle-client-angular.js +1 -1
  22. package/generators/client/needle-api/needle-client-vue.js +57 -7
  23. package/generators/client/templates/angular/.eslintrc.json.ejs +1 -0
  24. package/generators/client/templates/angular/angular.json.ejs +5 -0
  25. package/generators/client/templates/angular/jest.conf.js.ejs +2 -0
  26. package/generators/client/templates/angular/package.json +29 -29
  27. package/generators/client/templates/angular/package.json.ejs +3 -1
  28. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +52 -54
  29. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.ts.ejs +4 -4
  30. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.service.spec.ts.ejs +65 -0
  31. package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.spec.ts.ejs +35 -37
  32. package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +1 -1
  33. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.spec.ts.ejs +78 -80
  34. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.ts.ejs +4 -4
  35. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.service.spec.ts.ejs +41 -0
  36. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +73 -75
  37. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +4 -4
  38. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.spec.ts.ejs +62 -0
  39. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +44 -46
  40. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.service.spec.ts.ejs +61 -0
  41. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.spec.ts.ejs +122 -123
  42. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.ts.ejs +1 -1
  43. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.service.spec.ts.ejs +66 -0
  44. package/generators/client/templates/angular/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +75 -77
  45. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +80 -80
  46. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +48 -50
  47. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +45 -47
  48. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.ts.ejs +4 -4
  49. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.service.spec.ts.ejs +66 -0
  50. package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.spec.ts.ejs +99 -101
  51. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +61 -63
  52. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +2 -2
  53. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +28 -30
  54. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +35 -37
  55. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +40 -42
  56. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +89 -91
  57. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +4 -4
  58. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +81 -83
  59. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +8 -8
  60. package/generators/client/templates/angular/src/main/webapp/app/app-routing.module.ts.ejs +14 -3
  61. package/generators/client/templates/angular/src/main/webapp/app/app.module.ts.ejs +8 -29
  62. package/generators/client/templates/angular/src/main/webapp/app/config/datepicker-adapter.ts.ejs +1 -1
  63. package/generators/client/templates/angular/src/main/webapp/app/config/dayjs.ts.ejs +4 -4
  64. package/generators/client/templates/angular/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +14 -9
  65. package/generators/client/templates/angular/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +6 -6
  66. package/generators/client/templates/angular/src/main/webapp/app/core/util/parse-links.service.ts.ejs +1 -1
  67. package/generators/client/templates/angular/src/main/webapp/app/entities/entity-navbar-items.ts.ejs +29 -0
  68. package/generators/client/templates/angular/src/main/webapp/app/home/home.component.spec.ts.ejs +106 -98
  69. package/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +166 -168
  70. package/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.ts.ejs +1 -1
  71. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +20 -0
  72. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +74 -70
  73. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs +41 -2
  74. package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +27 -29
  75. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.spec.ts.ejs +114 -115
  76. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.ts.ejs +4 -4
  77. package/generators/client/templates/angular/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +132 -134
  78. package/generators/client/templates/angular/src/main/webapp/app/shared/alert/alert.component.spec.ts.ejs +29 -31
  79. package/generators/client/templates/angular/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +4 -4
  80. package/generators/client/templates/angular/src/main/webapp/app/shared/date/duration.pipe.ts.ejs +1 -1
  81. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-date.pipe.spec.ts.ejs +1 -1
  82. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-date.pipe.ts.ejs +1 -1
  83. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-datetime.pipe.spec.ts.ejs +1 -1
  84. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-datetime.pipe.ts.ejs +1 -1
  85. package/generators/client/templates/angular/src/main/webapp/app/shared/language/translate.directive.ts.ejs +6 -6
  86. package/generators/client/templates/angular/src/main/webapp/app/shared/language/translation.module.ts.ejs +83 -0
  87. package/generators/client/templates/angular/src/main/webapp/declarations.d.ts.ejs +16 -2
  88. package/generators/client/templates/angular/tsconfig.json.ejs +2 -0
  89. package/generators/client/templates/angular/tsconfig.spec.json.ejs +0 -1
  90. package/generators/client/templates/angular/webpack/proxy.conf.js.ejs +0 -2
  91. package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +0 -16
  92. package/generators/client/templates/angular/webpack/webpack.microfrontend.js.ejs +12 -5
  93. package/generators/client/templates/common/package.json +6 -6
  94. package/generators/client/templates/common/src/main/webapp/robots.txt.ejs +0 -1
  95. package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +86 -56
  96. package/generators/client/templates/common/webpack/webpack.microfrontend.js.jhi.ejs +56 -0
  97. package/generators/client/templates/react/.eslintrc.json.ejs +1 -0
  98. package/generators/client/templates/react/package.json +54 -53
  99. package/generators/client/templates/react/package.json.ejs +6 -1
  100. package/generators/client/templates/react/src/main/webapp/app/app.scss.ejs +0 -3
  101. package/generators/client/templates/react/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +3 -2
  102. package/generators/client/templates/react/src/main/webapp/app/modules/account/password/password.tsx.ejs +2 -2
  103. package/generators/client/templates/react/src/main/webapp/app/modules/administration/configuration/configuration.tsx.ejs +2 -2
  104. package/generators/client/templates/react/src/main/webapp/app/modules/administration/gateway/gateway.tsx.ejs +2 -2
  105. package/generators/client/templates/react/src/main/webapp/app/modules/administration/metrics/metrics.tsx.ejs +6 -6
  106. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +8 -8
  107. package/generators/client/templates/react/src/main/webapp/app/modules/home/home.tsx.ejs +1 -1
  108. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.scss.ejs +9 -0
  109. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.tsx.ejs +2 -2
  110. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/account.tsx.ejs +3 -3
  111. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/admin.tsx.ejs +7 -7
  112. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/menu-components.tsx.ejs +1 -1
  113. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/authentication.spec.ts.ejs +1 -1
  114. package/generators/client/templates/react/webpack/webpack.dev.js.ejs +17 -3
  115. package/generators/client/templates/react/webpack/webpack.prod.js.ejs +13 -1
  116. package/generators/client/templates/vue/.eslintrc.js.ejs +8 -5
  117. package/generators/client/templates/vue/package.json +40 -49
  118. package/generators/client/templates/vue/package.json.ejs +13 -17
  119. package/generators/client/templates/vue/src/main/webapp/app/account/account.service.ts.ejs +23 -12
  120. package/generators/client/templates/vue/src/main/webapp/app/account/settings/settings.vue.ejs +7 -1
  121. package/generators/client/templates/vue/src/main/webapp/app/admin/configuration/configuration.vue.ejs +1 -1
  122. package/generators/client/templates/vue/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +1 -1
  123. package/generators/client/templates/vue/src/main/webapp/app/constants.ts.ejs +16 -6
  124. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +27 -8
  125. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +6 -0
  126. package/generators/client/templates/vue/src/main/webapp/app/declarations.d.ts.ejs +41 -0
  127. package/generators/client/templates/vue/src/main/webapp/app/entities/entities-menu.component.ts.ejs +34 -0
  128. package/generators/client/templates/vue/src/main/webapp/app/entities/entities-menu.vue.ejs +13 -0
  129. package/generators/client/templates/vue/src/main/webapp/app/entities/entities.component.ts.ejs +20 -0
  130. package/generators/client/templates/vue/src/main/webapp/app/entities/entities.vue.ejs +5 -0
  131. package/generators/client/templates/vue/src/main/webapp/app/entities/user/{user.oauth2.service.ts.ejs → user.service.ts.ejs} +1 -1
  132. package/generators/client/templates/vue/{webpack/utils.js.ejs → src/main/webapp/app/index.ts.ejs} +1 -12
  133. package/generators/client/templates/vue/src/main/webapp/app/locale/translation.service.ts.ejs +26 -9
  134. package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +20 -18
  135. package/generators/client/templates/vue/src/main/webapp/app/router/entities.ts.ejs +45 -3
  136. package/generators/client/templates/vue/src/main/webapp/app/router/index.ts.ejs +19 -3
  137. package/generators/client/templates/vue/src/main/webapp/app/shared/config/axios-interceptor.ts.ejs +0 -2
  138. package/generators/client/templates/vue/src/main/webapp/app/shared/data/data-utils.service.ts.ejs +3 -1
  139. package/generators/client/templates/vue/src/main/webapp/app/shims-vue.d.ts.ejs +17 -3
  140. package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +25 -10
  141. package/generators/client/templates/vue/src/test/javascript/spec/app/account/login-form/login-form.component.spec.ts.ejs +2 -2
  142. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-edit.component.spec.ts.ejs +6 -4
  143. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management.component.spec.ts.ejs +4 -2
  144. package/generators/client/templates/vue/src/test/javascript/spec/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +10 -4
  145. package/generators/client/templates/vue/src/test/javascript/spec/app/entities/entities-menu.spec.ts.ejs +52 -0
  146. package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-menu.component.ts.ejs +4 -0
  147. package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-menu.vue.ejs +7 -0
  148. package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-router.ts.ejs +1 -0
  149. package/generators/client/templates/vue/src/test/javascript/spec/app/shared/config/axios-interceptor.spec.ts.ejs +0 -1
  150. package/generators/client/templates/vue/tsconfig.json.ejs +6 -10
  151. package/generators/client/templates/vue/tsconfig.spec.json.ejs +37 -0
  152. package/generators/client/templates/vue/webpack/config.js.ejs +50 -0
  153. package/generators/client/templates/vue/webpack/vue.utils.js.ejs +33 -32
  154. package/generators/client/templates/vue/webpack/webpack.common.js.ejs +150 -126
  155. package/generators/client/templates/vue/webpack/webpack.dev.js.ejs +19 -76
  156. package/generators/client/templates/vue/webpack/webpack.microfrontend.js.jhi.vue.ejs +77 -0
  157. package/generators/client/templates/vue/webpack/webpack.prod.js.ejs +5 -41
  158. package/generators/cloudfoundry/index.js +9 -9
  159. package/generators/common/index.js +12 -10
  160. package/generators/common/templates/.prettierrc.ejs +1 -1
  161. package/generators/common/templates/README.md.jhi.ejs +19 -0
  162. package/generators/common/templates/package.json +4 -4
  163. package/generators/cypress/index.js +12 -9
  164. package/generators/cypress/templates/cypress.json.ejs +16 -2
  165. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/login-page.spec.ts.ejs +3 -14
  166. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/password-page.spec.ts.ejs +33 -39
  167. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/register-page.spec.ts.ejs +52 -62
  168. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/reset-password-page.spec.ts.ejs +2 -10
  169. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/settings-page.spec.ts.ejs +25 -34
  170. package/generators/cypress/templates/src/test/javascript/cypress/integration/administration/administration.spec.ts.ejs +1 -22
  171. package/generators/cypress/templates/src/test/javascript/cypress/plugins/index.ts.ejs +4 -4
  172. package/generators/cypress/templates/src/test/javascript/cypress/support/commands.ts.ejs +67 -7
  173. package/generators/cypress/templates/src/test/javascript/cypress/support/entity.ts.ejs +4 -4
  174. package/generators/cypress/templates/src/test/javascript/cypress/support/index.ts.ejs +1 -6
  175. package/generators/cypress/templates/src/test/javascript/cypress/support/management.ts.ejs +1 -1
  176. package/generators/cypress/templates/src/test/javascript/cypress/support/navbar.ts.ejs +8 -8
  177. package/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +0 -9
  178. package/generators/database-changelog/index.js +33 -22
  179. package/generators/database-changelog-liquibase/index.js +12 -8
  180. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +1 -1
  181. package/generators/docker-compose/index.js +11 -12
  182. package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +1 -1
  183. package/generators/entities/index.js +35 -26
  184. package/generators/entities-client/index.js +10 -7
  185. package/generators/entity/index.js +81 -32
  186. package/generators/entity-client/files.js +7 -16
  187. package/generators/entity-client/index.js +22 -12
  188. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.spec.ts.ejs +42 -44
  189. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +1 -1
  190. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.spec.ts.ejs +58 -60
  191. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs +1 -35
  192. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.model.ts.ejs +1 -1
  193. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +4 -4
  194. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +110 -112
  195. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +9 -2
  196. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/infinite-scroll-template.ejs +8 -8
  197. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/no-pagination-template.ejs +8 -8
  198. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/pagination-template.ejs +8 -8
  199. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +15 -6
  200. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing.module.ts.ejs +1 -1
  201. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +1 -1
  202. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.ts.ejs +1 -1
  203. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.spec.ts.ejs +203 -198
  204. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +5 -5
  205. package/generators/entity-client/templates/angular/src/test/javascript/e2e/entities/entity.spec.ts.ejs +1 -1
  206. package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +264 -127
  207. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +17 -14
  208. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.reducer.ts.ejs +5 -4
  209. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +11 -13
  210. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.component.ts.ejs +32 -25
  211. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.vue.ejs +6 -9
  212. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.component.ts.ejs +2 -1
  213. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.model.ts.ejs +1 -1
  214. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.service.ts.ejs +2 -6
  215. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity-update.component.spec.ts.ejs +10 -7
  216. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.component.spec.ts.ejs +5 -1
  217. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.service.spec.ts.ejs +1 -1
  218. package/generators/entity-i18n/index.js +7 -4
  219. package/generators/entity-server/files.js +14 -0
  220. package/generators/entity-server/index.js +12 -8
  221. package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +2 -2
  222. package/generators/entity-server/templates/src/main/java/package/common/search_template.ejs +1 -1
  223. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +9 -8
  224. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +16 -29
  225. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +3 -3
  226. package/generators/entity-server/templates/src/main/java/package/repository/EntitySqlHelper_reactive.java.ejs +46 -0
  227. package/generators/entity-server/templates/src/main/java/package/repository/rowmapper/EntityRowMapper.java.ejs +1 -1
  228. package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +18 -2
  229. package/generators/entity-server/templates/src/main/java/package/repository/search/SortToFieldSortBuilderConverter.java.ejs +24 -0
  230. package/generators/entity-server/templates/src/main/java/package/service/dto/EntityDTO.java.ejs +8 -6
  231. package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +5 -1
  232. package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +41 -43
  233. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +3 -3
  234. package/generators/gae/index.js +10 -10
  235. package/generators/generator-base-blueprint.js +14 -46
  236. package/generators/generator-base-private.js +44 -23
  237. package/generators/generator-base.js +58 -18
  238. package/generators/generator-constants.js +30 -23
  239. package/generators/generator-transforms.js +39 -27
  240. package/generators/heroku/index.js +14 -33
  241. package/generators/init/constants.cjs +1 -1
  242. package/generators/java/constants.cjs +1 -1
  243. package/generators/kubernetes/files.js +3 -0
  244. package/generators/kubernetes/index.js +10 -10
  245. package/generators/kubernetes/templates/db/couchbase.yml.ejs +1 -1
  246. package/generators/kubernetes/templates/deployment.yml.ejs +8 -3
  247. package/generators/kubernetes/templates/istio/destination-rule.yml.ejs +1 -1
  248. package/generators/kubernetes/templates/istio/gateway/grafana-gateway.yml.ejs +5 -2
  249. package/generators/kubernetes/templates/istio/gateway/jhipster-grafana-gateway.yml.ejs +5 -2
  250. package/generators/kubernetes/templates/istio/gateway/kiali-gateway.yml.ejs +10 -8
  251. package/generators/kubernetes/templates/istio/gateway/zipkin-gateway.yml.ejs +5 -2
  252. package/generators/kubernetes/templates/istio/gateway.yml.ejs +7 -5
  253. package/generators/kubernetes/templates/secret/couchbase-secret.yml.ejs +9 -0
  254. package/generators/kubernetes-base.js +1 -0
  255. package/generators/kubernetes-helm/files.js +3 -8
  256. package/generators/kubernetes-helm/index.js +10 -10
  257. package/generators/kubernetes-helm/templates/README-KUBERNETES-HELM.md.ejs +0 -1
  258. package/generators/kubernetes-helm/templates/app/Chart.yml.ejs +5 -0
  259. package/generators/kubernetes-helm/templates/app/helpers.tpl.ejs +0 -11
  260. package/generators/kubernetes-helm/templates/app/requirements.yml.ejs +5 -0
  261. package/generators/kubernetes-helm/templates/app/values.yml.ejs +68 -5
  262. package/generators/kubernetes-helm/templates/csvc/Chart.yml.ejs +1 -1
  263. package/generators/kubernetes-helm/templates/csvc/requirements.yml.ejs +1 -1
  264. package/generators/kubernetes-knative/index.js +10 -10
  265. package/generators/kubernetes-knative/templates/istio/gateway.yml.ejs +6 -4
  266. package/generators/kubernetes-knative/templates/service.yml.ejs +1 -1
  267. package/generators/languages/index.js +13 -13
  268. package/generators/languages/templates/src/main/webapp/i18n/vi/login.json +1 -1
  269. package/generators/openapi-client/index.js +13 -10
  270. package/generators/openshift/index.js +10 -11
  271. package/generators/openshift/templates/deployment.yml.ejs +1 -1
  272. package/generators/page/index.js +12 -10
  273. package/generators/server/__snapshots__/generator.spec.mjs.snap +28 -15
  274. package/generators/server/cleanup.js +151 -0
  275. package/generators/server/files-sql.js +52 -0
  276. package/generators/server/files.js +31 -14
  277. package/generators/server/index.js +86 -33
  278. package/generators/server/templates/build.gradle.ejs +231 -189
  279. package/generators/server/templates/gradle.properties.ejs +12 -12
  280. package/generators/server/templates/npmw +8 -6
  281. package/generators/server/templates/npmw.cmd +13 -8
  282. package/generators/server/templates/pom.xml.ejs +425 -217
  283. package/generators/server/templates/sql/reactive/src/main/java/package/repository/UserSqlHelper.java.ejs +48 -0
  284. package/generators/server/templates/src/main/docker/app.yml.ejs +1 -1
  285. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +2 -2
  286. package/generators/server/templates/src/main/java/package/config/LocaleConfiguration.java.ejs +3 -2
  287. package/generators/server/templates/src/main/java/package/config/OpenApiConfiguration.java.ejs +17 -54
  288. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +5 -5
  289. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +4 -6
  290. package/generators/server/templates/src/main/java/package/config/WebConfigurer.java.ejs +0 -3
  291. package/generators/server/templates/src/main/java/package/config/neo4j/Neo4jMigrations.java.ejs +19 -9
  292. package/generators/server/templates/src/main/java/package/management/SecurityMetersService.java.ejs +68 -0
  293. package/generators/server/templates/src/main/java/package/repository/AuthorityRepository.java.ejs +2 -2
  294. package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +0 -25
  295. package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +31 -4
  296. package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +23 -11
  297. package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +16 -8
  298. package/generators/server/templates/src/main/java/package/service/dto/UserDTO.java.ejs +6 -6
  299. package/generators/server/templates/src/main/java/package/web/filter/ModifyServersOpenApiFilter.java.ejs +3 -2
  300. package/generators/server/templates/src/main/java/package/web/filter/SpaWebFilter.java.ejs +1 -1
  301. package/generators/server/templates/src/main/java/package/web/rest/PublicUserResource.java.ejs +2 -2
  302. package/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +2 -2
  303. package/generators/server/templates/src/main/resources/config/application.yml.ejs +22 -8
  304. package/generators/server/templates/src/main/resources/logback-spring.xml.ejs +1 -2
  305. package/generators/server/templates/src/main/resources/static/microservices_index.html.ejs +1 -1
  306. package/generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs +2 -6
  307. package/generators/server/templates/src/test/java/package/cucumber/CucumberTestContextConfiguration.java.ejs +2 -3
  308. package/generators/server/templates/src/test/java/package/cucumber/stepdefs/UserStepDefs.java.ejs +41 -6
  309. package/generators/server/templates/src/test/java/package/management/SecurityMetersServiceTests.java.ejs +113 -0
  310. package/generators/server/templates/src/test/java/package/security/jwt/JWTFilterTest.java.ejs +6 -1
  311. package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderSecurityMetersTests.java.ejs +198 -0
  312. package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderTest.java.ejs +13 -3
  313. package/generators/server/templates/src/test/java/package/security/oauth2/AuthorizationHeaderUtilTest.java.ejs +17 -3
  314. package/generators/server/templates/src/test/java/package/security/oauth2/CustomClaimConverterIT.java.ejs +63 -0
  315. package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +1 -1
  316. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +2 -3
  317. package/generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerTest.java.ejs +9 -0
  318. package/generators/server/templates/src/test/resources/junit-platform.properties.ejs +2 -0
  319. package/generators/server/templates/src/test/resources/logback.xml.ejs +1 -1
  320. package/generators/server/templates/src/test/{features → resources/package/features}/gitkeep +0 -0
  321. package/generators/server/templates/src/test/{features → resources/package/features}/user/user.feature.ejs +0 -0
  322. package/generators/spring-controller/index.js +9 -7
  323. package/generators/spring-controller/templates/src/test/java/package/web/rest/ResourceIT.java.ejs +1 -1
  324. package/generators/spring-service/index.js +10 -7
  325. package/generators/upgrade/index.js +4 -5
  326. package/generators/utils.js +2 -2
  327. package/generators/workspaces/index.js +16 -7
  328. package/jdl/jhipster/default-application-options.js +9 -7
  329. package/package.json +22 -22
  330. package/utils/entity.js +17 -4
  331. package/utils/field.js +11 -1
  332. package/utils/multi-step-transform/index.js +8 -8
  333. package/generators/client/templates/react/.npmrc.ejs +0 -1
  334. package/generators/client/templates/vue/webpack/dev.env.js.ejs +0 -17
  335. package/generators/client/templates/vue/webpack/env.js.ejs +0 -67
  336. package/generators/client/templates/vue/webpack/loader.conf.js.ejs +0 -20
  337. package/generators/client/templates/vue/webpack/prod.env.js.ejs +0 -15
  338. package/generators/server/templates/src/main/java/package/config/apidocs/GatewaySwaggerResourcesProvider.java.ejs +0 -91
  339. package/generators/server/templates/src/test/java/package/config/apidocs/GatewaySwaggerResourcesProviderTest.java.ejs +0 -79
  340. package/generators/server/templates/src/test/resources/cucumber.properties.ejs +0 -1
@@ -56,7 +56,7 @@ description = ""
56
56
 
57
57
  sourceCompatibility=<%= JAVA_VERSION %>
58
58
  targetCompatibility=<%= JAVA_VERSION %>
59
- assert System.properties["java.specification.version"] == "1.8" || "1.9" || "10" || "11" || "12" || "13" || "14" || "15" || "16" || "17"
59
+ assert System.properties["java.specification.version"] == <%- JAVA_COMPATIBLE_VERSIONS.map(ver => `"${ver}"`).join(' || '); %>
60
60
 
61
61
  apply from: "gradle/docker.gradle"
62
62
  apply from: "gradle/sonar.gradle"
@@ -88,7 +88,7 @@ if (project.hasProperty("gae")) {
88
88
  appengineStage.dependsOn thinResolve
89
89
  }
90
90
 
91
- <%_ if (serviceDiscoveryType || applicationType === 'gateway' || applicationType === 'microservice') { _%>
91
+ <%_ if (serviceDiscoveryType || applicationTypeGateway || applicationTypeMicroservice) { _%>
92
92
  if (project.hasProperty("zipkin")) {
93
93
  apply from: "gradle/zipkin.gradle"
94
94
  }
@@ -127,6 +127,14 @@ test {
127
127
  // see https://github.com/jhipster/generator-jhipster/pull/2771 and https://github.com/jhipster/generator-jhipster/pull/4484
128
128
  // ignoreFailures true
129
129
  reports.html.enabled = false
130
+ <%_ if (reactive) { _%>
131
+
132
+ if (JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_13)) {
133
+ jvmArgs += [
134
+ "-XX:+AllowRedefinitionToAddDeleteMethods"
135
+ ]
136
+ }
137
+ <%_ } _%>
130
138
  }
131
139
 
132
140
  modernizer {
@@ -150,13 +158,13 @@ task integrationTest(type: Test) {
150
158
  events 'FAILED', 'SKIPPED'
151
159
  }
152
160
  jvmArgs += '-Djava.security.egd=file:/dev/./urandom -Xmx256m'
153
- <%_ if (databaseType === 'sql') { _%>
161
+ <%_ if (databaseTypeSql) { _%>
154
162
  if (project.hasProperty('testcontainers')) {
155
- <%_ if (!reactive) { _%>
163
+ <%_ if (!reactive) { _%>
156
164
  environment 'spring.profiles.active', 'testcontainers'
157
- <%_ } else { _%>
165
+ <%_ } else { _%>
158
166
  environment 'SPRING_PROFILES_ACTIVE', 'testcontainers'
159
- <%_ } _%>
167
+ <%_ } _%>
160
168
  }
161
169
  <%_ } _%>
162
170
 
@@ -164,10 +172,30 @@ task integrationTest(type: Test) {
164
172
  // see https://github.com/jhipster/generator-jhipster/pull/2771 and https://github.com/jhipster/generator-jhipster/pull/4484
165
173
  // ignoreFailures true
166
174
  reports.html.enabled = false
175
+ <%_ if (reactive) { _%>
176
+
177
+ if (JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_13)) {
178
+ jvmArgs += [
179
+ "-XX:+AllowRedefinitionToAddDeleteMethods"
180
+ ]
181
+ }
182
+ <%_ } _%>
167
183
  }
168
184
  <%_ if (cucumberTests) { _%>
169
185
 
186
+ task consoleLauncherTest(type: JavaExec) {
187
+ dependsOn(testClasses)
188
+ String cucumberReportsDir = file("$buildDir/reports/tests")
189
+ outputs.dir(reportsDir)
190
+ classpath = sourceSets["test"].runtimeClasspath
191
+ main = "org.junit.platform.console.ConsoleLauncher"
192
+ args("--scan-classpath")
193
+ args("--include-engine", "cucumber")
194
+ args("--reports-dir", cucumberReportsDir)
195
+ }
196
+
170
197
  task cucumberTest(type: Test) {
198
+ dependsOn(consoleLauncherTest)
171
199
  description = "Execute cucumber BDD tests."
172
200
  group = "verification"
173
201
  include "**/*CucumberIT*"
@@ -199,7 +227,7 @@ task cucumberTestReport(type: TestReport) {
199
227
  }
200
228
 
201
229
  <%_ } _%>
202
- <%_ if (databaseType === 'sql' && !reactive) { _%>
230
+ <%_ if (databaseTypeSql && !reactive) { _%>
203
231
  if (!project.hasProperty("runList")) {
204
232
  project.ext.runList = "main"
205
233
  }
@@ -209,28 +237,28 @@ project.ext.diffChangelogFile = "<%= SERVER_MAIN_RES_DIR %>config/liquibase/chan
209
237
  liquibase {
210
238
  activities {
211
239
  main {
212
- driver "<% if (devDatabaseType === 'mysql') { %>com.mysql.cj.jdbc.Driver<% } else if (devDatabaseType === 'mariadb') { %>org.mariadb.jdbc.Driver<% } else if (devDatabaseType === 'postgresql') { %>org.postgresql.Driver<% } else if (devDatabaseType === 'h2Disk') { %>org.h2.Driver<% } else if (devDatabaseType === 'oracle') { %>oracle.jdbc.OracleDriver<% } %>"
213
- url "<% if (['mysql', 'mariadb', 'postgresql', 'mssql'].includes(devDatabaseType)) { %><%- getJDBCUrl(devDatabaseType, { hostname: 'localhost', databaseName: baseName, skipExtraOptions: true }) %><% } else if (devDatabaseType === 'h2Disk') { %><%- getJDBCUrl(devDatabaseType, { localDirectory: './build/h2db/db', databaseName: lowercaseBaseName, skipExtraOptions: true }) %><% } else if (devDatabaseType === 'oracle') { %><%- getJDBCUrl(devDatabaseType, { hostname: 'localhost', databaseName: 'xe', skipExtraOptions: true}) %><% } %>"
214
- username "<% if (devDatabaseType === 'mysql') { %>root<% } else if (devDatabaseType === 'postgresql' || devDatabaseType === 'h2Disk' || devDatabaseType === 'h2Memory') { %><%= baseName %><% } else if (devDatabaseType === 'mssql') { %>SA<% } %>"
215
- password "<% if (devDatabaseType === 'mssql') { %>yourStrong(!)Password<% } %>"
240
+ driver "<% if (devDatabaseTypeMysql) { %>com.mysql.cj.jdbc.Driver<% } else if (devDatabaseTypeMariadb) { %>org.mariadb.jdbc.Driver<% } else if (devDatabaseTypePostgres) { %>org.postgresql.Driver<% } else if (devDatabaseTypeH2Disk) { %>org.h2.Driver<% } else if (devDatabaseTypeOracle) { %>oracle.jdbc.OracleDriver<% } %>"
241
+ url "<% if (devDatabaseTypeMysql || devDatabaseTypeMariadb || devDatabaseTypePostgres || devDatabaseTypeMssql) { %><%- getJDBCUrl(devDatabaseType, { hostname: 'localhost', databaseName: baseName, skipExtraOptions: true }) %><% } else if (devDatabaseTypeH2Disk) { %><%- getJDBCUrl(devDatabaseType, { localDirectory: './build/h2db/db', databaseName: lowercaseBaseName, skipExtraOptions: true }) %><% } else if (devDatabaseTypeOracle) { %><%- getJDBCUrl(devDatabaseType, { hostname: 'localhost', databaseName: 'xe', skipExtraOptions: true}) %><% } %>"
242
+ username "<% if (devDatabaseTypeMysql) { %>root<% } else if (devDatabaseTypePostgres || devDatabaseTypeH2Any) { %><%= baseName %><% } else if (devDatabaseTypeMssql) { %>SA<% } %>"
243
+ password "<% if (devDatabaseTypeMssql) { %>yourStrong(!)Password<% } %>"
216
244
  changeLogFile "<%= SERVER_MAIN_RES_DIR %>config/liquibase/master.xml"
217
- defaultSchemaName "<% if (devDatabaseType === 'mysql') { %><%= baseName %><% } else if (devDatabaseType === 'postgresql') { %><% } %>"
245
+ defaultSchemaName "<% if (devDatabaseTypeMysql) { %><%= baseName %><% } else if (devDatabaseTypePostgres) { %><% } %>"
218
246
  logLevel "debug"
219
247
  classpath "<%= SERVER_MAIN_RES_DIR %>"
220
248
  }
221
249
  diffLog {
222
- driver "<% if (devDatabaseType === 'mysql') { %>com.mysql.cj.jdbc.Driver<% } else if (devDatabaseType === 'mariadb') { %>org.mariadb.jdbc.Driver<% } else if (devDatabaseType === 'postgresql') { %>org.postgresql.Driver<% } else if (devDatabaseType === 'h2Disk') { %>org.h2.Driver<% } else if (devDatabaseType === 'oracle') { %>oracle.jdbc.OracleDriver<% } %>"
223
- url "<% if (['mysql', 'mariadb', 'postgresql', 'mssql'].includes(devDatabaseType)) { %><%- getJDBCUrl(devDatabaseType, { hostname: 'localhost', databaseName: baseName, skipExtraOptions: true }) %><% } else if (devDatabaseType === 'h2Disk') { %><%- getJDBCUrl(devDatabaseType, { localDirectory: './build/h2db/db', databaseName: lowercaseBaseName, skipExtraOptions: true }) %><% } else if (devDatabaseType === 'oracle') { %><%- getJDBCUrl(devDatabaseType, { hostname: 'localhost', databaseName: 'xe', skipExtraOptions: true}) %><% } %>"
224
- username "<% if (devDatabaseType === 'mysql') { %>root<% } else if (devDatabaseType === 'postgresql' || devDatabaseType === 'h2Disk' || devDatabaseType === 'h2Memory') { %><%= baseName %><% } else if (devDatabaseType === 'mssql') { %>SA<% } %>"
225
- password "<% if (devDatabaseType === 'mssql') { %>yourStrong(!)Password<% } %>"
250
+ driver "<% if (devDatabaseTypeMysql) { %>com.mysql.cj.jdbc.Driver<% } else if (devDatabaseTypeMariadb) { %>org.mariadb.jdbc.Driver<% } else if (devDatabaseTypePostgres) { %>org.postgresql.Driver<% } else if (devDatabaseTypeH2Disk) { %>org.h2.Driver<% } else if (devDatabaseTypeOracle) { %>oracle.jdbc.OracleDriver<% } %>"
251
+ url "<% if (devDatabaseTypeMysql || devDatabaseTypeMariadb || devDatabaseTypePostgres || devDatabaseTypeMssql) { %><%- getJDBCUrl(devDatabaseType, { hostname: 'localhost', databaseName: baseName, skipExtraOptions: true }) %><% } else if (devDatabaseTypeH2Disk) { %><%- getJDBCUrl(devDatabaseType, { localDirectory: './build/h2db/db', databaseName: lowercaseBaseName, skipExtraOptions: true }) %><% } else if (devDatabaseTypeOracle) { %><%- getJDBCUrl(devDatabaseType, { hostname: 'localhost', databaseName: 'xe', skipExtraOptions: true}) %><% } %>"
252
+ username "<% if (devDatabaseTypeMysql) { %>root<% } else if (devDatabaseTypePostgres || devDatabaseTypeH2Any) { %><%= baseName %><% } else if (devDatabaseTypeMssql) { %>SA<% } %>"
253
+ password "<% if (devDatabaseTypeMssql) { %>yourStrong(!)Password<% } %>"
226
254
  changeLogFile project.ext.diffChangelogFile
227
- referenceUrl "hibernate:spring:<%= packageName %>.domain?dialect=<% if (devDatabaseType === 'mysql') { %>org.hibernate.dialect.MySQL8Dialect<% } else if (devDatabaseType === 'mariadb') { %>org.hibernate.dialect.MariaDB103Dialect<% } else if (devDatabaseType === 'postgresql') { %>tech.jhipster.domain.util.FixedPostgreSQL10Dialect<% } else if (devDatabaseType === 'h2Disk') { %>org.hibernate.dialect.H2Dialect<% } else if (devDatabaseType === 'oracle') { %>org.hibernate.dialect.Oracle12cDialect<% } else if (devDatabaseType === 'mssql') { %>org.hibernate.dialect.SQLServer2012Dialect<% } %>&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy"
228
- defaultSchemaName "<% if (devDatabaseType === 'mysql') { %><%= baseName %><% } else if (devDatabaseType === 'postgresql') { %><% } %>"
255
+ referenceUrl "hibernate:spring:<%= packageName %>.domain?dialect=<% if (devDatabaseTypeMysql) { %>org.hibernate.dialect.MySQL8Dialect<% } else if (devDatabaseTypeMariadb) { %>org.hibernate.dialect.MariaDB103Dialect<% } else if (devDatabaseTypePostgres) { %>tech.jhipster.domain.util.FixedPostgreSQL10Dialect<% } else if (devDatabaseTypeH2Disk) { %>org.hibernate.dialect.H2Dialect<% } else if (devDatabaseTypeOracle) { %>org.hibernate.dialect.Oracle12cDialect<% } else if (devDatabaseTypeMssql) { %>org.hibernate.dialect.SQLServer2012Dialect<% } %>&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy"
256
+ defaultSchemaName "<% if (devDatabaseTypeMysql) { %><%= baseName %><% } else if (devDatabaseTypePostgres) { %><% } %>"
229
257
  logLevel "debug"
230
258
  classpath "$buildDir/classes/java/main"
231
- <%_ if (authenticationType === 'oauth2') { _%>
259
+ <%_ if (authenticationTypeOauth2) { _%>
232
260
  excludeObjects "oauth_access_token, oauth_approvals, oauth_client_details, oauth_client_token, oauth_code, oauth_refresh_token"
233
- <%_ } _%>
261
+ <%_ } _%>
234
262
  }
235
263
  }
236
264
 
@@ -265,7 +293,8 @@ configurations {
265
293
  }
266
294
 
267
295
  repositories {
268
- mavenLocal()
296
+ // Local maven repository is required for libraries built locally with maven like development jhipster-bom.
297
+ <%= !JHIPSTER_DEPENDENCIES_VERSION.includes('-SNAPSHOT') && !JHIPSTER_DEPENDENCIES_VERSION.includes('-CICD') ? '// ' : '' %>mavenLocal()
269
298
  mavenCentral()
270
299
  <%_ if (SPRING_BOOT_VERSION.indexOf('M') > -1 || SPRING_BOOT_VERSION.indexOf('RC') > -1) { _%>
271
300
  maven { url 'https://repo.spring.io/milestone' }
@@ -292,122 +321,122 @@ dependencies {
292
321
  implementation group: "tech.jhipster", name: "jhipster-framework"<% if (reactive) { %>, {
293
322
  exclude group: "org.springframework", module: "spring-webmvc"
294
323
  }<% } %>
295
- <%_ // This is useful for major Spring Boot migration
296
- if (SPRING_BOOT_VERSION.indexOf('M') > -1 || SPRING_BOOT_VERSION.indexOf('RC') > -1) { _%>
324
+ <%_ // This is useful for major Spring Boot migration
325
+ if (SPRING_BOOT_VERSION.indexOf('M') > -1 || SPRING_BOOT_VERSION.indexOf('RC') > -1) { _%>
297
326
  runtime "org.springframework.boot:spring-boot-properties-migrator"
298
- <%_ } _%>
327
+ <%_ } _%>
299
328
  implementation "javax.annotation:javax.annotation-api"
300
- <%_ if (cacheProvider !== 'no') { _%>
329
+ <%_ if (!cacheProviderNo) { _%>
301
330
  implementation "org.springframework.boot:spring-boot-starter-cache"
302
- <%_ } _%>
331
+ <%_ } _%>
303
332
  implementation "io.dropwizard.metrics:metrics-core"
304
333
  implementation "io.micrometer:micrometer-registry-prometheus"
305
334
  implementation "com.fasterxml.jackson.datatype:jackson-datatype-hppc"
306
335
  implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310"
307
- <%_ if (databaseType === 'sql') { _%>
336
+ <%_ if (databaseTypeSql) { _%>
308
337
  implementation "com.fasterxml.jackson.module:jackson-module-jaxb-annotations"
309
- <%_ if (!reactive) { _%>
338
+ <%_ if (!reactive) { _%>
310
339
  implementation "com.fasterxml.jackson.datatype:jackson-datatype-hibernate5"
311
- <%_ } _%>
312
- <%_ } _%>
340
+ <%_ } _%>
341
+ <%_ } _%>
313
342
  implementation "com.fasterxml.jackson.core:jackson-annotations"
314
343
  implementation "com.fasterxml.jackson.core:jackson-databind"
315
- <%_ if (cacheProvider === 'hazelcast') { _%>
344
+ <%_ if (cacheProviderHazelcast) { _%>
316
345
  implementation "com.hazelcast:hazelcast"
317
- <%_ } _%>
318
- <%_ if (cacheProvider === 'hazelcast' && enableHibernateCache) { _%>
346
+ <%_ } _%>
347
+ <%_ if (cacheProviderHazelcast && enableHibernateCache) { _%>
319
348
  implementation "com.hazelcast:hazelcast-hibernate53"
320
- <%_ } _%>
321
- <%_ if (cacheProvider === 'hazelcast') { _%>
349
+ <%_ } _%>
350
+ <%_ if (cacheProviderHazelcast) { _%>
322
351
  implementation "com.hazelcast:hazelcast-spring"
323
- <%_ } _%>
324
- <%_ if (cacheProvider === 'infinispan') { _%>
352
+ <%_ } _%>
353
+ <%_ if (cacheProviderInfinispan) { _%>
325
354
  implementation "org.infinispan:infinispan-hibernate-cache-v53"
326
355
  implementation "org.infinispan:infinispan-spring-boot-starter-embedded"
327
356
  implementation "org.infinispan:infinispan-core"
328
357
  implementation "org.infinispan:infinispan-jcache"
329
- <%_ } _%>
330
- <%_ if (cacheProvider === 'memcached') { _%>
358
+ <%_ } _%>
359
+ <%_ if (cacheProviderMemcached) { _%>
331
360
  implementation "com.google.code.simple-spring-memcached:spring-cache"
332
361
  implementation "com.google.code.simple-spring-memcached:xmemcached-provider"
333
362
  implementation "com.googlecode.xmemcached:xmemcached"
334
- <%_ } _%>
335
- <%_ if (cacheProvider === 'redis') { _%>
363
+ <%_ } _%>
364
+ <%_ if (cacheProviderRedis) { _%>
336
365
  implementation "org.redisson:redisson"
337
- <%_ if (enableHibernateCache) { _%>
366
+ <%_ if (enableHibernateCache) { _%>
338
367
  implementation "org.hibernate:hibernate-jcache"
339
- <%_ } _%>
340
- <%_ } _%>
341
- <%_ if (['ehcache', 'caffeine', 'hazelcast', 'infinispan', 'redis'].includes(cacheProvider) || applicationType === 'gateway') { _%>
368
+ <%_ } _%>
369
+ <%_ } _%>
370
+ <%_ if (cacheProviderEhCache || cacheProviderCaffeine || cacheProviderHazelcast || cacheProviderInfinispan || cacheProviderMemcached) { _%>
342
371
  implementation "javax.cache:cache-api"
343
- <%_ } _%>
344
- <%_ if (databaseType === 'sql') { _%>
372
+ <%_ } _%>
373
+ <%_ if (databaseTypeSql) { _%>
345
374
  implementation "org.hibernate:hibernate-core"
346
375
  implementation "com.zaxxer:HikariCP"
347
- <%_ if (reactive) { _%>
376
+ <%_ if (reactive) { _%>
348
377
  implementation "commons-beanutils:commons-beanutils:${commonsBeanutilsVersion}"
349
- <%_ } _%>
350
- <%_ } _%>
378
+ <%_ } _%>
379
+ <%_ } _%>
351
380
  implementation "org.apache.commons:commons-lang3"
352
- <%_ if (databaseType === 'cassandra' || databaseType === 'couchbase' || applicationType === 'gateway') { _%>
381
+ <%_ if (databaseTypeCassandra || databaseTypeCouchbase) { _%>
353
382
  implementation "commons-codec:commons-codec"
354
- <%_ } _%>
355
- <%_ if (enableSwaggerCodegen) { _%>
383
+ <%_ } _%>
384
+ <%_ if (enableSwaggerCodegen) { _%>
356
385
  implementation "org.openapitools:jackson-databind-nullable:${jacksonDatabindNullableVersion}"
357
- <%_ } _%>
386
+ <%_ } _%>
358
387
  implementation "javax.transaction:javax.transaction-api"
359
- <%_ if (databaseType === 'cassandra') { _%>
388
+ <%_ if (databaseTypeCassandra) { _%>
360
389
  implementation "org.lz4:lz4-java"
361
- <%_ } _%>
362
- <%_ if (cacheProvider === 'ehcache') { _%>
390
+ <%_ } _%>
391
+ <%_ if (cacheProviderEhCache) { _%>
363
392
  implementation "org.ehcache:ehcache"
364
- <%_ if (enableHibernateCache) { _%>
393
+ <%_ if (enableHibernateCache) { _%>
365
394
  implementation "org.hibernate:hibernate-jcache"
366
- <%_ } _%>
367
- <%_ } _%>
368
- <%_ if (cacheProvider === 'caffeine') { _%>
395
+ <%_ } _%>
396
+ <%_ } _%>
397
+ <%_ if (cacheProviderCaffeine) { _%>
369
398
  implementation "com.github.ben-manes.caffeine:caffeine:${caffeineVersion}"
370
399
  implementation "com.github.ben-manes.caffeine:jcache:${caffeineVersion}"
371
400
  implementation "com.typesafe:config:${typesafeConfigVersion}"
372
- <%_ if (enableHibernateCache) { _%>
401
+ <%_ if (enableHibernateCache) { _%>
373
402
  implementation "org.hibernate:hibernate-jcache"
374
- <%_ } _%>
375
- <%_ } _%>
376
- <%_ if (databaseType === 'sql') { _%>
377
- <%_ if (!reactive) { _%>
403
+ <%_ } _%>
404
+ <%_ } _%>
405
+ <%_ if (databaseTypeSql) { _%>
406
+ <%_ if (!reactive) { _%>
378
407
  implementation "org.hibernate:hibernate-entitymanager"
379
- <%_ } _%>
408
+ <%_ } _%>
380
409
  implementation "org.hibernate.validator:hibernate-validator"
381
410
  implementation "org.liquibase:liquibase-core"
382
- <%_ if (!reactive) { _%>
411
+ <%_ if (!reactive) { _%>
383
412
  liquibaseRuntime "org.liquibase:liquibase-core"
384
413
  liquibaseRuntime "org.liquibase.ext:liquibase-hibernate5:${liquibaseHibernate5Version}"
385
414
  liquibaseRuntime sourceSets.main.compileClasspath
386
- <%_ } _%>
387
- <%_ } _%>
415
+ <%_ } _%>
416
+ <%_ } _%>
388
417
  implementation "org.springframework.boot:spring-boot-loader-tools"
389
418
  implementation "org.springframework.boot:spring-boot-starter-mail"
390
419
  implementation "org.springframework.boot:spring-boot-starter-logging"
391
420
  implementation "org.springframework.boot:spring-boot-starter-actuator"
392
- <%_ if (databaseType === 'sql') { _%>
393
- <%_ if (!reactive) { _%>
421
+ <%_ if (databaseTypeSql) { _%>
422
+ <%_ if (!reactive) { _%>
394
423
  implementation "org.springframework.boot:spring-boot-starter-data-jpa"
395
- <%_ } else { _%>
424
+ <%_ } else { _%>
396
425
  implementation "org.springframework.boot:spring-boot-starter-data-r2dbc"
397
- <%_ } _%>
398
- <%_ } _%>
399
- <%_ if (searchEngine === 'elasticsearch') { _%>
426
+ <%_ } _%>
427
+ <%_ } _%>
428
+ <%_ if (searchEngineElasticsearch) { _%>
400
429
  implementation "org.springframework.boot:spring-boot-starter-data-elasticsearch"
401
- <%_ } _%>
402
- <%_ if (['mongodb', 'cassandra', 'couchbase'].includes(databaseType)) { _%>
430
+ <%_ } _%>
431
+ <%_ if (databaseTypeMongodb || databaseTypeCassandra || databaseTypeCouchbase) { _%>
403
432
  implementation "org.springframework.boot:spring-boot-starter-data-<%= databaseType %><% if (reactive) { %>-reactive<% } %>"
404
- <%_ } _%>
405
- <%_ if (databaseType === 'mongodb' && reactive) { _%>
433
+ <%_ } _%>
434
+ <%_ if (databaseTypeMongodb && reactive) { _%>
406
435
  // Mongock doesn't support reactive yet, so this dependency is necessary.
407
436
  // See https://github.com/jhipster/generator-jhipster/pull/12536#issuecomment-696683592 for more information.
408
437
  implementation "org.springframework.boot:spring-boot-starter-data-mongodb"
409
- <%_ } _%>
410
- <%_ if (databaseType === 'neo4j') { _%>
438
+ <%_ } _%>
439
+ <%_ if (databaseTypeNeo4j) { _%>
411
440
  implementation "org.springframework.boot:spring-boot-starter-data-neo4j"
412
441
  implementation "eu.michael-simons.neo4j:neo4j-migrations-spring-boot-starter"
413
442
  // This is done here explicitly as dependency resolution seems to have changed recently such that the validation starter
@@ -415,97 +444,97 @@ dependencies {
415
444
  implementation "org.springframework.boot:spring-boot-starter-validation"
416
445
  testImplementation "org.testcontainers:neo4j"
417
446
  testImplementation 'org.testcontainers:junit-jupiter'
418
- <%_ } _%>
419
- <%_ if (prodDatabaseType === 'mysql') { _%>
447
+ <%_ } _%>
448
+ <%_ if (prodDatabaseTypeMysql) { _%>
420
449
  testImplementation "org.testcontainers:mysql"
421
- <%_ } _%>
422
- <%_ if (prodDatabaseType === 'mariadb') { _%>
450
+ <%_ } _%>
451
+ <%_ if (prodDatabaseTypeMariadb) { _%>
423
452
  testImplementation "org.testcontainers:mariadb"
424
- <%_ } _%>
425
- <%_ if (prodDatabaseType === 'postgresql') { _%>
453
+ <%_ } _%>
454
+ <%_ if (prodDatabaseTypePostgres) { _%>
426
455
  testImplementation "org.testcontainers:postgresql"
427
- <%_ } _%>
428
- <%_ if (prodDatabaseType === 'mssql') { _%>
456
+ <%_ } _%>
457
+ <%_ if (prodDatabaseTypeMssql) { _%>
429
458
  testImplementation "org.testcontainers:mssqlserver"
430
- <%_ } _%>
431
- <%_ if (prodDatabaseType === 'oracle' && !reactive) { _%>
459
+ <%_ } _%>
460
+ <%_ if (prodDatabaseTypeOracle && !reactive) { _%>
432
461
  testImplementation "org.testcontainers:oracle-xe"
433
- <%_ } _%>
434
- <%_ if (messageBroker === 'kafka') { _%>
435
- <%_ if (!reactive) { _%>
462
+ <%_ } _%>
463
+ <%_ if (messageBrokerKafka) { _%>
464
+ <%_ if (!reactive) { _%>
436
465
  implementation "org.apache.kafka:kafka-clients"
437
- <%_ } else { _%>
466
+ <%_ } else { _%>
438
467
  implementation "io.projectreactor.kafka:reactor-kafka"
439
- <%_ } _%>
440
- <%_ } _%>
468
+ <%_ } _%>
469
+ <%_ } _%>
441
470
  implementation "org.springframework.boot:spring-boot-starter-security"
442
471
  implementation ("org.springframework.boot:spring-boot-starter-web<% if (reactive) { %>flux<% } %>") {
443
472
  exclude module: "spring-boot-starter-tomcat"
444
473
  }
445
- <%_ if (!reactive) { _%>
474
+ <%_ if (!reactive) { _%>
446
475
  implementation "org.springframework.boot:spring-boot-starter-undertow"
447
- <%_ } _%>
448
- <%_ if (reactive) { _%>
476
+ <%_ } _%>
477
+ <%_ if (reactive) { _%>
449
478
  implementation "org.springframework.boot:spring-boot-starter-validation"
450
479
  implementation "io.netty:netty-tcnative-boringssl-static"
451
- <%_ } _%>
452
- <%_ if (websocket === 'spring-websocket') { _%>
480
+ <%_ } _%>
481
+ <%_ if (communicationSpringWebsocket) { _%>
453
482
  implementation "org.springframework.boot:spring-boot-starter-websocket"
454
- <%_ } _%>
483
+ <%_ } _%>
455
484
  implementation "org.springframework.boot:spring-boot-starter-thymeleaf"
456
485
  implementation "org.zalando:problem-spring-web<% if (reactive) { %>flux<% } %>"
457
- <%_ if (databaseType === 'cassandra') { _%>
486
+ <%_ if (databaseTypeCassandra) { _%>
458
487
  implementation "com.datastax.oss:java-driver-mapper-runtime"
459
- <%_ } _%>
460
- <%_ if (applicationType === 'gateway') { _%>
488
+ <%_ } _%>
489
+ <%_ if (applicationTypeGateway) { _%>
461
490
  implementation "org.springframework.cloud:spring-cloud-starter-gateway"
462
491
  implementation "com.github.vladimir-bukhtoyarov:bucket4j-core"
463
492
  implementation "com.github.vladimir-bukhtoyarov:bucket4j-jcache"
464
- <%_ } _%>
465
- <%_ if (applicationType === 'microservice' || applicationType === 'gateway') { _%>
493
+ <%_ } _%>
494
+ <%_ if (applicationTypeMicroservice || applicationTypeGateway) { _%>
466
495
  implementation "org.springframework.cloud:spring-cloud-starter"
467
- <%_ if (reactive) { _%>
496
+ <%_ if (reactive) { _%>
468
497
  implementation "org.springframework.cloud:spring-cloud-starter-circuitbreaker-reactor-resilience4j"
469
- <%_ } else { _%>
498
+ <%_ } else { _%>
470
499
  implementation "org.springframework.cloud:spring-cloud-starter-circuitbreaker-resilience4j"
471
- <%_ } _%>
500
+ <%_ } _%>
472
501
  implementation "org.springframework.retry:spring-retry"
473
- <%_ } _%>
474
- <%_ if (serviceDiscoveryType) { _%>
502
+ <%_ } _%>
503
+ <%_ if (serviceDiscoveryType) { _%>
475
504
  implementation "org.springframework.cloud:spring-cloud-starter-bootstrap"
476
- <%_ } _%>
477
- <%_ if (serviceDiscoveryType === 'eureka') { _%>
505
+ <%_ if (serviceDiscoveryEureka) { _%>
478
506
  implementation "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client"
479
507
  implementation "org.springframework.cloud:spring-cloud-starter-config"
480
- <%_ } _%>
481
- <%_ if (serviceDiscoveryType === 'consul') { _%>
508
+ <%_ } _%>
509
+ <%_ if (serviceDiscoveryConsul) { _%>
482
510
  implementation "org.springframework.cloud:spring-cloud-starter-consul-discovery"
483
511
  implementation "org.springframework.cloud:spring-cloud-starter-consul-config"
484
- <%_ } _%>
485
- <%_ if (applicationType === 'gateway' && authenticationType === 'oauth2' && reactive) { _%>
512
+ <%_ } _%>
513
+ <%_ } _%>
514
+ <%_ if (applicationTypeGateway && authenticationTypeOauth2 && reactive) { _%>
486
515
  implementation "org.springframework.cloud:spring-cloud-starter-security"
487
- <%_ } _%>
488
- <%_ if (applicationType === 'microservice' || applicationType === 'gateway') { _%>
516
+ <%_ } _%>
517
+ <%_ if (applicationTypeMicroservice || applicationTypeGateway) { _%>
489
518
  implementation "org.springframework.cloud:spring-cloud-starter-openfeign"
490
- <%_ } _%>
491
- <%_ if (applicationTypeGateway || (applicationTypeMicroservice && reactive)) { _%>
519
+ <%_ } _%>
520
+ <%_ if (applicationTypeGateway || (applicationTypeMicroservice && reactive)) { _%>
492
521
  implementation "com.playtika.reactivefeign:feign-reactor-webclient"
493
522
  implementation "com.playtika.reactivefeign:feign-reactor-cloud"
494
523
  implementation "com.playtika.reactivefeign:feign-reactor-spring-configuration"
495
- <%_ } _%>
524
+ <%_ } _%>
496
525
  implementation "org.springframework.security:spring-security-config"
497
- <%_ if (!reactive) { _%><%# Can remove when Spring Security 5.5 is released https://github.com/spring-projects/spring-security/issues/8958 -%>
526
+ <%_ if (!reactive) { _%><%# Can remove when Spring Security 5.5 is released https://github.com/spring-projects/spring-security/issues/8958 -%>
498
527
  implementation "org.springframework.security:spring-security-data"
499
- <%_ } _%>
528
+ <%_ } _%>
500
529
  implementation "org.springframework.security:spring-security-web"
501
- <%_ if (websocket === 'spring-websocket') { _%>
530
+ <%_ if (communicationSpringWebsocket) { _%>
502
531
  implementation "org.springframework.security:spring-security-messaging"
503
- <%_ } _%>
504
- <%_ if (authenticationType === 'oauth2') { _%>
532
+ <%_ } _%>
533
+ <%_ if (authenticationTypeOauth2) { _%>
505
534
  implementation "org.springframework.boot:spring-boot-starter-oauth2-client"
506
535
  implementation "org.springframework.boot:spring-boot-starter-oauth2-resource-server"
507
- <%_ } _%>
508
- <%_ if (authenticationType === 'jwt') { _%>
536
+ <%_ } _%>
537
+ <%_ if (authenticationTypeJwt) { _%>
509
538
  implementation "io.jsonwebtoken:jjwt-api"
510
539
  if (!project.hasProperty("gae")) {
511
540
  runtimeOnly "io.jsonwebtoken:jjwt-impl"
@@ -514,110 +543,110 @@ dependencies {
514
543
  implementation "io.jsonwebtoken:jjwt-impl"
515
544
  implementation "io.jsonwebtoken:jjwt-jackson"
516
545
  }
517
- <%_ } _%>
518
- <%_ if (databaseType === 'mongodb') { _%>
546
+ <%_ } _%>
547
+ <%_ if (databaseTypeMongodb) { _%>
519
548
  implementation "com.github.cloudyrock.mongock:mongock-spring-v5"
520
549
  implementation "com.github.cloudyrock.mongock:mongodb-springdata-v3-driver"
521
- <%_ } _%>
522
- <%_ if (databaseType === 'couchbase') { _%>
550
+ <%_ } _%>
551
+ <%_ if (databaseTypeCouchbase) { _%>
523
552
  implementation "com.github.differentway:couchmove"
524
553
  implementation "com.couchbase.client:java-client"
525
- <%_ } _%>
526
- implementation ("io.springfox:springfox-oas")
527
- implementation ("io.springfox:springfox-swagger2")
528
- implementation "io.springfox:springfox-bean-validators"
529
- <%_ if (prodDatabaseType === 'mysql') { _%>
554
+ <%_ } _%>
555
+ implementation ("org.springdoc:springdoc-openapi-webmvc-core")
556
+ <%_ if (prodDatabaseTypeMysql) { _%>
530
557
  implementation "mysql:mysql-connector-java"
531
- <%_ if (!reactive) { _%>
558
+ <%_ if (!reactive) { _%>
532
559
  liquibaseRuntime "mysql:mysql-connector-java"
533
- <%_ } else { _%>
560
+ <%_ } else { _%>
534
561
  implementation "dev.miku:r2dbc-mysql"
535
- <%_ } _%>
536
- <%_ } _%>
537
- <%_ if (prodDatabaseType === 'postgresql') { _%>
562
+ <%_ } _%>
563
+ <%_ } _%>
564
+ <%_ if (prodDatabaseTypePostgres) { _%>
538
565
  implementation "org.postgresql:postgresql"
539
- <%_ if (!reactive) { _%>
566
+ <%_ if (!reactive) { _%>
540
567
  liquibaseRuntime "org.postgresql:postgresql"
541
- <%_ } else { _%>
568
+ <%_ } else { _%>
542
569
  implementation "io.r2dbc:r2dbc-postgresql"
543
- <%_ } _%>
544
- <%_ } _%>
545
- <%_ if (prodDatabaseType === 'mariadb') { _%>
570
+ <%_ } _%>
571
+ <%_ } _%>
572
+ <%_ if (prodDatabaseTypeMariadb) { _%>
546
573
  implementation "org.mariadb.jdbc:mariadb-java-client"
547
- <%_ if (!reactive) { _%>
574
+ <%_ if (!reactive) { _%>
548
575
  liquibaseRuntime "org.mariadb.jdbc:mariadb-java-client"
549
- <%_ } else { _%>
576
+ <%_ } else { _%>
550
577
  implementation "org.mariadb:r2dbc-mariadb"
551
- <%_ } _%>
552
- <%_ } _%>
553
- <%_ if (prodDatabaseType === 'mssql') { _%>
578
+ <%_ } _%>
579
+ <%_ } _%>
580
+ <%_ if (prodDatabaseTypeMssql) { _%>
554
581
  implementation "com.microsoft.sqlserver:mssql-jdbc"
555
582
  implementation "org.liquibase.ext:liquibase-mssql:<%= LIQUIBASE_VERSION %>"
556
- <%_ if (reactive) { _%>
583
+ <%_ if (reactive) { _%>
557
584
  implementation "io.r2dbc:r2dbc-mssql"
558
- <%_ } _%>
585
+ <%_ } _%>
559
586
  liquibaseRuntime "com.microsoft.sqlserver:mssql-jdbc"
560
587
  liquibaseRuntime "org.liquibase.ext:liquibase-mssql:<%= LIQUIBASE_VERSION %>"
561
- <%_ } _%>
588
+ <%_ } _%>
562
589
  implementation "org.mapstruct:mapstruct:${mapstructVersion}"
563
590
  annotationProcessor "org.mapstruct:mapstruct-processor:${mapstructVersion}"
564
- <%_ if (databaseType === 'sql') { _%>
591
+ <%_ if (databaseTypeSql) { _%>
565
592
  annotationProcessor "org.hibernate:hibernate-jpamodelgen:${hibernateVersion}"
566
593
  annotationProcessor "org.glassfish.jaxb:jaxb-runtime:${jaxbRuntimeVersion}"
567
- <%_ } _%>
568
- <%_ if (databaseType === 'cassandra') { _%>
594
+ <%_ } _%>
595
+ <%_ if (databaseTypeCassandra) { _%>
569
596
  annotationProcessor "com.datastax.oss:java-driver-mapper-processor:${cassandraDriverVersion}"
570
- <%_ } _%>
597
+ <%_ } _%>
571
598
  annotationProcessor "org.springframework.boot:spring-boot-configuration-processor:${springBootVersion}"
572
- <%_ if (databaseType === 'cassandra') { _%>
599
+ <%_ if (databaseTypeCassandra) { _%>
573
600
  testImplementation ("org.cassandraunit:cassandra-unit-spring") {
574
601
  exclude(group: "org.slf4j")
575
602
  }
576
603
  testImplementation "org.testcontainers:database-commons"
577
- <%_ } _%>
578
- <%_ if (cucumberTests) { _%>
579
- testImplementation "io.cucumber:cucumber-junit"
604
+ <%_ } _%>
605
+ <%_ if (cucumberTests) { _%>
606
+ testImplementation "org.junit.platform:junit-platform-console"
607
+ testImplementation "io.cucumber:cucumber-junit-platform-engine"
580
608
  testImplementation "io.cucumber:cucumber-java"
581
609
  testImplementation "io.cucumber:cucumber-spring"
582
- <%_ } _%>
610
+ testImplementation "org.testng:testng"
611
+ <%_ } _%>
583
612
  testImplementation "org.springframework.boot:spring-boot-starter-test"
584
613
  testImplementation "org.springframework.security:spring-security-test"
585
614
  testImplementation "org.springframework.boot:spring-boot-test"
586
- <%_ if (reactive) { _%>
615
+ <%_ if (reactive) { _%>
587
616
  testImplementation "io.projectreactor.tools:blockhound-junit-platform:${blockhoundJunitPlatformVersion}"
588
617
  testRuntimeOnly 'org.junit.platform:junit-platform-launcher:${junitPlatformLauncherVersion}'
589
- <%_ } _%>
618
+ <%_ } _%>
590
619
  testImplementation "com.tngtech.archunit:archunit-junit5-api:${archunitJunit5Version}"
591
620
  testRuntimeOnly "com.tngtech.archunit:archunit-junit5-engine:${archunitJunit5Version}"
592
- <%_ if (databaseType === 'mongodb') { _%>
621
+ <%_ if (databaseTypeMongodb) { _%>
593
622
  testImplementation "de.flapdoodle.embed:de.flapdoodle.embed.mongo"
594
- <%_ } _%>
595
- <%_ if (databaseType === 'couchbase') { _%>
623
+ <%_ } _%>
624
+ <%_ if (databaseTypeCouchbase) { _%>
596
625
  testImplementation "org.testcontainers:couchbase"
597
- <%_ } _%>
598
- <%_ if (databaseType === 'sql') { _%>
626
+ <%_ } _%>
627
+ <%_ if (databaseTypeSql) { _%>
599
628
  testImplementation "com.h2database:h2"
600
- <%_ if (reactive) { _%>
629
+ <%_ if (reactive) { _%>
601
630
  testImplementation "io.r2dbc:r2dbc-h2"
602
- <%_ } _%>
603
- <%_ } _%>
604
- <%_ if (devDatabaseType === 'h2Disk' || devDatabaseType === 'h2Memory') { _%>
605
- <%_ if (!reactive) { _%>
631
+ <%_ } _%>
632
+ <%_ } _%>
633
+ <%_ if (devDatabaseTypeH2Any) { _%>
634
+ <%_ if (!reactive) { _%>
606
635
  liquibaseRuntime "com.h2database:h2"
607
- <%_ } else { _%>
636
+ <%_ } else { _%>
608
637
  implementation "io.r2dbc:r2dbc-h2"
609
- <%_ } _%>
610
- <%_ } _%>
611
- <%_ if (prodDatabaseType === 'oracle') { _%>
638
+ <%_ } _%>
639
+ <%_ } _%>
640
+ <%_ if (prodDatabaseTypeOracle) { _%>
612
641
  implementation "com.oracle.database.jdbc:ojdbc8"
613
642
  liquibaseRuntime "com.oracle.database.jdbc:ojdbc8"
614
- <%_ } _%>
615
- <%_ if (messageBroker === 'kafka') { _%>
643
+ <%_ } _%>
644
+ <%_ if (messageBrokerKafka) { _%>
616
645
  testImplementation "org.testcontainers:kafka"
617
- <%_ } _%>
618
- <%_ if (cacheProvider === 'redis') { %>
646
+ <%_ } _%>
647
+ <%_ if (cacheProviderRedis) { %>
619
648
  testImplementation "org.testcontainers:testcontainers"
620
- <%_ } _%>
649
+ <%_ } _%>
621
650
  developmentOnly "org.springframework.boot:spring-boot-devtools:${springBootVersion}"
622
651
  //jhipster-needle-gradle-dependency - JHipster will add additional dependencies here
623
652
  }
@@ -654,6 +683,19 @@ if (project.hasProperty("nodeInstall")) {
654
683
  npmVersion = "<%= NPM_VERSION %>"
655
684
  download = downloadNode
656
685
  }
686
+
687
+ // Copy local node and npm to a fixed location for npmw
688
+ def fixedNode = tasks.register("fixedNode", Copy) {
689
+ from nodeSetup
690
+ into '<%= BUILD_DIR %>node'
691
+ }
692
+ tasks.named("nodeSetup").configure { finalizedBy fixedNode }
693
+
694
+ def fixedNpm = tasks.register("fixedNpm", Copy) {
695
+ from npmSetup
696
+ into '<%= BUILD_DIR %>node'
697
+ }
698
+ tasks.named("npmSetup").configure { finalizedBy fixedNpm }
657
699
  }
658
700
  <%_ } _%>
659
701
  <%_ if (embeddableLaunchScript) { _%>