generator-jhipster 8.2.1 → 8.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. package/dist/cli/environment-builder.mjs +3 -3
  2. package/dist/cli/jhipster-command.mjs +1 -2
  3. package/dist/cli/jhipster.cjs +0 -0
  4. package/dist/generators/angular/command.js +5 -0
  5. package/dist/generators/angular/generator.js +70 -9
  6. package/dist/generators/angular/index.js +1 -0
  7. package/dist/generators/angular/needle-api/needle-client-angular.js +3 -3
  8. package/dist/generators/angular/resources/package.json +15 -12
  9. package/dist/generators/angular/support/index.js +0 -1
  10. package/dist/generators/angular/support/translate-angular.js +142 -8
  11. package/dist/generators/angular/templates/package.json.ejs +0 -10
  12. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.html.ejs +4 -4
  13. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +1 -1
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.html.ejs +1 -1
  15. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +1 -1
  16. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +19 -27
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +1 -1
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +19 -26
  19. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +1 -1
  20. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +11 -16
  21. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +1 -1
  22. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +32 -47
  23. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +1 -1
  24. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.html.ejs +7 -8
  25. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.ts.ejs +1 -1
  26. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +21 -32
  27. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.ts.ejs +1 -1
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +4 -4
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +1 -1
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +7 -7
  31. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.component.html.ejs +7 -12
  32. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/health.model.ts.ejs +9 -5
  33. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +5 -9
  34. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.html.ejs +5 -5
  35. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +3 -3
  36. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.ts.ejs +3 -3
  37. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.html.ejs +5 -5
  38. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +12 -12
  39. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.ts.ejs +4 -4
  40. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +36 -36
  41. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.ts.ejs +4 -4
  42. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html.ejs +2 -2
  43. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.ts.ejs +3 -3
  44. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +33 -33
  45. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.ts.ejs +3 -3
  46. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +8 -8
  47. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +8 -8
  48. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.ts.ejs +4 -4
  49. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.html.ejs +13 -13
  50. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.ts.ejs +3 -3
  51. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +4 -4
  52. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.html.ejs +6 -6
  53. package/dist/generators/angular/templates/src/main/webapp/app/admin/tracker/tracker.component.ts.ejs +2 -1
  54. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +4 -4
  55. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +26 -26
  56. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +3 -3
  57. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.ts.ejs +2 -2
  58. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +16 -18
  59. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +1 -2
  60. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +21 -35
  61. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +1 -1
  62. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +0 -2
  63. package/dist/generators/angular/templates/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +7 -7
  64. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +4 -4
  65. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +25 -25
  66. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +3 -3
  67. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.ts.ejs +2 -2
  68. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +14 -14
  69. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +0 -2
  70. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +1 -2
  71. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-form.service.ts.ejs +10 -6
  72. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +18 -25
  73. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +0 -2
  74. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.html.ejs +14 -15
  75. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.spec.ts.ejs +1 -5
  76. package/dist/generators/angular/templates/src/main/webapp/app/layouts/error/error.component.html.ejs +1 -1
  77. package/dist/generators/angular/templates/src/main/webapp/app/layouts/footer/footer.component.html.ejs +1 -1
  78. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +11 -18
  79. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.ts.ejs +1 -1
  80. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +21 -21
  81. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +0 -2
  82. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
  83. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.html.ejs +12 -13
  84. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +1 -2
  85. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +1 -1
  86. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +3 -3
  87. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.ts.ejs +1 -1
  88. package/dist/generators/angular/templates/webpack/webpack.custom.js.ejs +1 -1
  89. package/dist/generators/app/generator.js +4 -22
  90. package/dist/generators/app/support/config.js +1 -3
  91. package/dist/generators/base/generator.js +21 -2
  92. package/dist/generators/base/shared-data.js +1 -2
  93. package/dist/generators/base/support/basename.js +1 -2
  94. package/dist/generators/base/support/needles.js +3 -5
  95. package/dist/generators/base/support/string.js +2 -2
  96. package/dist/generators/base-application/generator.js +4 -4
  97. package/dist/generators/base-application/support/entity.js +1 -2
  98. package/dist/generators/base-application/support/enum.js +2 -2
  99. package/dist/generators/base-application/support/prepare-entity.js +1 -1
  100. package/dist/generators/base-application/support/prepare-field.js +6 -7
  101. package/dist/generators/base-application/support/relationship.js +1 -2
  102. package/dist/generators/base-application/support/task-type-inference.js +6 -0
  103. package/dist/generators/base-core/generator.js +86 -14
  104. package/dist/generators/base-entity-changes/generator.js +24 -0
  105. package/dist/generators/base-workspaces/internal/deployments.js +2 -2
  106. package/dist/generators/base-workspaces/internal/docker-dependencies.js +2 -2
  107. package/dist/generators/bootstrap/generator.js +4 -5
  108. package/dist/generators/bootstrap/internal/transform-utils.js +4 -0
  109. package/dist/generators/bootstrap/support/eslint-transform.js +2 -1
  110. package/dist/generators/bootstrap/support/java-unused-imports-transform.js +2 -1
  111. package/dist/generators/bootstrap/support/prettier-worker.js +2 -4
  112. package/dist/generators/bootstrap-application/generator.js +3 -4
  113. package/dist/generators/bootstrap-application-base/generator.js +46 -6
  114. package/dist/generators/bootstrap-application-base/utils.js +3 -3
  115. package/dist/generators/bootstrap-application-client/generator.js +2 -3
  116. package/dist/generators/bootstrap-application-server/generator.js +22 -19
  117. package/dist/generators/bootstrap-workspaces/generator.js +1 -2
  118. package/dist/generators/ci-cd/command.js +1 -2
  119. package/dist/generators/ci-cd/generator.js +2 -7
  120. package/dist/generators/client/command.js +1 -2
  121. package/dist/generators/client/generator.js +11 -33
  122. package/dist/generators/client/needle-api/needle-client-vue.js +2 -2
  123. package/dist/generators/client/resources/package.json +6 -6
  124. package/dist/generators/client/templates/src/main/webapp/index.html.ejs +2 -2
  125. package/dist/generators/common/command.js +13 -0
  126. package/dist/generators/common/generator.js +17 -8
  127. package/dist/generators/common/resources/package.json +1 -1
  128. package/dist/generators/cucumber/generator.js +17 -10
  129. package/dist/generators/cucumber/templates/buildSrc/src/main/groovy/jhipster.cucumber-conventions.gradle.ejs +1 -5
  130. package/dist/generators/cypress/generator.js +2 -3
  131. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/administration/administration.cy.ts.ejs +10 -0
  132. package/dist/generators/docker/generator.js +4 -6
  133. package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +0 -32
  134. package/dist/generators/docker/utils.js +2 -3
  135. package/dist/generators/docker-compose/generator.js +5 -10
  136. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +0 -32
  137. package/dist/generators/entities/generator.js +4 -4
  138. package/dist/generators/entity/generator.js +10 -9
  139. package/dist/generators/entity/prompts.js +12 -12
  140. package/dist/generators/export-jdl/generator.js +0 -5
  141. package/dist/generators/feign-client/generator.js +3 -4
  142. package/dist/generators/gatling/generator.js +2 -3
  143. package/dist/generators/gatling/templates/buildSrc/src/main/groovy/jhipster.gatling-conventions.gradle.ejs +1 -1
  144. package/dist/generators/generate-blueprint/files.js +1 -0
  145. package/dist/generators/generate-blueprint/generator.js +3 -4
  146. package/dist/generators/generate-blueprint/resources/package.json +1 -1
  147. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +3 -2
  148. package/dist/generators/generate-blueprint/templates/generators/generator/command.mjs.ejs +19 -1
  149. package/dist/generators/generate-blueprint/templates/vitest.test-setup.ts.ejs +6 -0
  150. package/dist/generators/generator-constants.js +5 -2
  151. package/dist/generators/git/generator.js +3 -5
  152. package/dist/generators/gradle/command.js +32 -0
  153. package/dist/generators/gradle/constants.js +0 -1
  154. package/dist/generators/gradle/files.js +2 -8
  155. package/dist/generators/gradle/generator.js +85 -13
  156. package/dist/generators/gradle/generators/code-quality/generator.js +86 -0
  157. package/dist/generators/{java/cleanup.js → gradle/generators/code-quality/index.js} +1 -5
  158. package/dist/generators/gradle/generators/jib/generator.js +64 -0
  159. package/dist/generators/{app/prompts.js → gradle/generators/jib/index.js} +1 -15
  160. package/dist/generators/gradle/generators/node-gradle/generator.js +64 -0
  161. package/dist/generators/gradle/generators/node-gradle/index.js +19 -0
  162. package/dist/generators/gradle/generators/node-gradle/templates/buildSrc/src/main/groovy/jhipster.node-gradle-conventions.gradle.ejs +101 -0
  163. package/dist/generators/gradle/index.js +1 -0
  164. package/dist/generators/gradle/internal/needles.js +9 -3
  165. package/dist/generators/gradle/templates/buildSrc/build.gradle.ejs +3 -2
  166. package/dist/generators/gradle/templates/buildSrc/gradle/libs.versions.toml.ejs +8 -1
  167. package/dist/generators/gradle/templates/gradle/wrapper/{gradle-wrapper.properties.ejs → gradle-wrapper.properties} +1 -1
  168. package/dist/generators/heroku/generator.js +2 -7
  169. package/dist/generators/init/generator.js +3 -4
  170. package/dist/generators/init/resources/.node-version +1 -0
  171. package/dist/generators/java/command.js +2 -38
  172. package/dist/generators/java/generator.js +5 -260
  173. package/dist/generators/java/generators/bootstrap/command.js +35 -0
  174. package/dist/generators/java/generators/bootstrap/generator.js +178 -0
  175. package/dist/generators/java/generators/bootstrap/index.js +20 -0
  176. package/dist/generators/java/generators/build-tool/command.js +42 -0
  177. package/dist/generators/java/generators/build-tool/generator.js +143 -0
  178. package/dist/generators/java/generators/build-tool/index.js +20 -0
  179. package/dist/generators/java/generators/code-quality/command.js +5 -0
  180. package/dist/generators/java/generators/code-quality/generator.js +91 -0
  181. package/dist/generators/java/generators/code-quality/index.js +20 -0
  182. package/dist/generators/java/generators/domain/command.js +30 -0
  183. package/dist/generators/java/{entity-files.js → generators/domain/entity-files.js} +1 -1
  184. package/dist/generators/java/generators/domain/generator.js +169 -0
  185. package/dist/generators/java/generators/domain/index.js +20 -0
  186. package/dist/generators/java/generators/jib/command.js +5 -0
  187. package/dist/generators/java/generators/jib/generator.js +97 -0
  188. package/dist/generators/java/generators/jib/index.js +20 -0
  189. package/dist/generators/{server → java/generators/jib}/templates/src/main/docker/jib/entrypoint.sh.ejs +2 -0
  190. package/dist/generators/java/generators/node/command.js +5 -0
  191. package/dist/generators/java/generators/node/generator.js +97 -0
  192. package/dist/generators/java/generators/node/index.js +20 -0
  193. package/dist/generators/java/support/index.js +1 -0
  194. package/dist/generators/jdl/generator.js +6 -13
  195. package/dist/generators/kubernetes/generator.js +1 -6
  196. package/dist/generators/kubernetes/kubernetes-base.js +3 -3
  197. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +0 -32
  198. package/dist/generators/kubernetes-helm/generator.js +1 -6
  199. package/dist/generators/kubernetes-knative/generator.js +1 -6
  200. package/dist/generators/languages/entity-files.js +3 -2
  201. package/dist/generators/languages/files.js +2 -2
  202. package/dist/generators/languages/generator.js +6 -15
  203. package/dist/generators/languages/support/translate.js +34 -9
  204. package/dist/generators/languages/templates/src/main/webapp/i18n/al/home.json.ejs +19 -0
  205. package/dist/generators/languages/templates/src/main/webapp/i18n/ar-ly/home.json.ejs +19 -0
  206. package/dist/generators/languages/templates/src/main/webapp/i18n/az-Latn-az/home.json.ejs +19 -0
  207. package/dist/generators/languages/templates/src/main/webapp/i18n/bg/home.json.ejs +19 -0
  208. package/dist/generators/languages/templates/src/main/webapp/i18n/bn/home.json.ejs +19 -0
  209. package/dist/generators/languages/templates/src/main/webapp/i18n/by/home.json.ejs +19 -0
  210. package/dist/generators/languages/templates/src/main/webapp/i18n/ca/home.json.ejs +19 -0
  211. package/dist/generators/languages/templates/src/main/webapp/i18n/cs/home.json.ejs +19 -0
  212. package/dist/generators/languages/templates/src/main/webapp/i18n/da/home.json.ejs +19 -0
  213. package/dist/generators/languages/templates/src/main/webapp/i18n/de/global.json.ejs +2 -2
  214. package/dist/generators/languages/templates/src/main/webapp/i18n/de/home.json.ejs +19 -0
  215. package/dist/generators/languages/templates/src/main/webapp/i18n/el/home.json.ejs +19 -0
  216. package/dist/generators/languages/templates/src/main/webapp/i18n/en/home.json.ejs +19 -0
  217. package/dist/generators/languages/templates/src/main/webapp/i18n/es/home.json.ejs +19 -0
  218. package/dist/generators/languages/templates/src/main/webapp/i18n/et/home.json.ejs +19 -0
  219. package/dist/generators/languages/templates/src/main/webapp/i18n/fa/home.json.ejs +19 -0
  220. package/dist/generators/languages/templates/src/main/webapp/i18n/fi/home.json.ejs +19 -0
  221. package/dist/generators/languages/templates/src/main/webapp/i18n/fr/home.json.ejs +19 -0
  222. package/dist/generators/languages/templates/src/main/webapp/i18n/gl/home.json.ejs +19 -0
  223. package/dist/generators/languages/templates/src/main/webapp/i18n/hi/home.json.ejs +19 -0
  224. package/dist/generators/languages/templates/src/main/webapp/i18n/hr/home.json.ejs +19 -0
  225. package/dist/generators/languages/templates/src/main/webapp/i18n/hu/home.json.ejs +19 -0
  226. package/dist/generators/languages/templates/src/main/webapp/i18n/hy/home.json.ejs +19 -0
  227. package/dist/generators/languages/templates/src/main/webapp/i18n/id/home.json.ejs +19 -0
  228. package/dist/generators/languages/templates/src/main/webapp/i18n/it/home.json.ejs +19 -0
  229. package/dist/generators/languages/templates/src/main/webapp/i18n/ja/home.json.ejs +19 -0
  230. package/dist/generators/languages/templates/src/main/webapp/i18n/ko/home.json.ejs +19 -0
  231. package/dist/generators/languages/templates/src/main/webapp/i18n/kr-Latn-kr/home.json.ejs +19 -0
  232. package/dist/generators/languages/templates/src/main/webapp/i18n/mr/home.json.ejs +19 -0
  233. package/dist/generators/languages/templates/src/main/webapp/i18n/my/home.json.ejs +19 -0
  234. package/dist/generators/languages/templates/src/main/webapp/i18n/nl/home.json.ejs +19 -0
  235. package/dist/generators/languages/templates/src/main/webapp/i18n/pa/{home.json → home.json.ejs} +2 -2
  236. package/dist/generators/languages/templates/src/main/webapp/i18n/pl/home.json.ejs +19 -0
  237. package/dist/generators/languages/templates/src/main/webapp/i18n/pt-br/home.json.ejs +19 -0
  238. package/dist/generators/languages/templates/src/main/webapp/i18n/pt-pt/home.json.ejs +19 -0
  239. package/dist/generators/languages/templates/src/main/webapp/i18n/ro/home.json.ejs +19 -0
  240. package/dist/generators/languages/templates/src/main/webapp/i18n/ru/home.json.ejs +19 -0
  241. package/dist/generators/languages/templates/src/main/webapp/i18n/si/{home.json → home.json.ejs} +6 -6
  242. package/dist/generators/languages/templates/src/main/webapp/i18n/sk/home.json.ejs +19 -0
  243. package/dist/generators/languages/templates/src/main/webapp/i18n/sr/home.json.ejs +19 -0
  244. package/dist/generators/languages/templates/src/main/webapp/i18n/sv/home.json.ejs +19 -0
  245. package/dist/generators/languages/templates/src/main/webapp/i18n/ta/home.json.ejs +19 -0
  246. package/dist/generators/languages/templates/src/main/webapp/i18n/te/{home.json → home.json.ejs} +1 -1
  247. package/dist/generators/languages/templates/src/main/webapp/i18n/th/home.json.ejs +19 -0
  248. package/dist/generators/languages/templates/src/main/webapp/i18n/tr/home.json.ejs +19 -0
  249. package/dist/generators/languages/templates/src/main/webapp/i18n/ua/home.json.ejs +19 -0
  250. package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/home.json.ejs +19 -0
  251. package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/home.json.ejs +19 -0
  252. package/dist/generators/languages/templates/src/main/webapp/i18n/vi/home.json.ejs +19 -0
  253. package/dist/generators/languages/templates/src/main/webapp/i18n/zh-cn/home.json.ejs +19 -0
  254. package/dist/generators/languages/templates/src/main/webapp/i18n/zh-tw/home.json.ejs +19 -0
  255. package/dist/generators/languages/translation-data.js +4 -5
  256. package/dist/generators/liquibase/generator.js +126 -36
  257. package/dist/generators/liquibase/support/maven-plugin.js +6 -0
  258. package/dist/generators/liquibase/support/prepare-field.js +16 -1
  259. package/dist/generators/liquibase/support/relationship.js +1 -0
  260. package/dist/generators/liquibase/templates/gradle/liquibase.gradle.ejs +3 -6
  261. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs +1 -1
  262. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity.xml.ejs +3 -3
  263. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +26 -1
  264. package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/fake-data/table_entity.csv.ejs +3 -3
  265. package/dist/generators/maven/generator.js +14 -6
  266. package/dist/generators/maven/generators/code-quality/command.js +5 -0
  267. package/dist/generators/maven/generators/code-quality/generator.js +268 -0
  268. package/dist/generators/maven/generators/code-quality/index.js +20 -0
  269. package/dist/generators/maven/generators/frontend-plugin/command.js +5 -0
  270. package/dist/generators/maven/generators/frontend-plugin/generator.js +295 -0
  271. package/dist/generators/maven/generators/frontend-plugin/index.js +20 -0
  272. package/dist/generators/maven/generators/jib/command.js +5 -0
  273. package/dist/generators/maven/generators/jib/generator.js +136 -0
  274. package/dist/generators/maven/generators/jib/index.js +20 -0
  275. package/dist/generators/maven/internal/xml-store.js +1 -2
  276. package/dist/generators/maven/support/dependabot-maven.js +12 -2
  277. package/dist/generators/maven/support/pom-store.js +1 -2
  278. package/dist/generators/project-name/generator.js +9 -11
  279. package/dist/generators/react/generator.js +25 -6
  280. package/dist/generators/react/needle-api/needle-client-react.js +2 -2
  281. package/dist/generators/react/resources/package.json +27 -24
  282. package/dist/generators/react/templates/package.json.ejs +1 -7
  283. package/dist/generators/react/templates/src/main/webapp/app/modules/administration/tracker/tracker.tsx.ejs +2 -2
  284. package/dist/generators/react/templates/src/main/webapp/app/modules/home/home.tsx.ejs +7 -7
  285. package/dist/generators/react/templates/webpack/webpack.microfrontend.js.jhi.react.ejs +0 -8
  286. package/dist/generators/server/command.js +2 -34
  287. package/dist/generators/server/generator.js +35 -204
  288. package/dist/generators/server/jdl/application-definition.js +1 -2
  289. package/dist/generators/server/resources/Dockerfile +13 -13
  290. package/dist/generators/server/resources/build.gradle +1 -0
  291. package/dist/generators/server/resources/gradle/libs.versions.toml +27 -9
  292. package/dist/generators/server/resources/pom.xml +9 -27
  293. package/dist/generators/server/support/prepare-field.js +8 -4
  294. package/dist/generators/server/support/prepare-relationship.js +7 -2
  295. package/dist/generators/server/templates/build.gradle.ejs +29 -143
  296. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +3 -3
  297. package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +2 -2
  298. package/dist/generators/server/templates/gradle.properties.ejs +0 -7
  299. package/dist/generators/server/templates/pom.xml.ejs +23 -448
  300. package/dist/generators/server/templates/settings.gradle.ejs +0 -4
  301. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +71 -9
  302. package/dist/generators/server/templates/src/main/java/_package_/web/filter/SpaWebFilter_imperative.java.ejs +4 -1
  303. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +16 -5
  304. package/dist/generators/server/templates/src/main/resources/config/bootstrap.yml.ejs +1 -1
  305. package/dist/generators/server/templates/src/main/resources/static/index_microservices.html.ejs +8 -8
  306. package/dist/generators/server/templates/src/test/java/_package_/IntegrationTest.java.ejs +0 -2
  307. package/dist/generators/server/templates/src/test/java/_package_/config/TestContainersSpringContextCustomizerFactory.java.ejs +71 -46
  308. package/dist/generators/server/templates/src/test/java/_package_/security/jwt/AuthenticationIntegrationTest.java.ejs +0 -3
  309. package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +1 -1
  310. package/dist/generators/spring-boot/cleanup.js +3 -0
  311. package/dist/generators/spring-boot/command.js +40 -2
  312. package/dist/generators/spring-boot/entity-files.js +2 -2
  313. package/dist/generators/spring-boot/files.js +3 -43
  314. package/dist/generators/spring-boot/generator.js +115 -37
  315. package/dist/generators/{server → spring-boot}/prompts.js +6 -48
  316. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +125 -125
  317. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +2 -2
  318. package/dist/generators/spring-cache/generator.js +11 -6
  319. package/dist/generators/spring-cache/internal/dependencies.js +5 -0
  320. package/dist/generators/spring-cache/resources/build.gradle +1 -0
  321. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +15 -0
  322. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +4 -0
  323. package/dist/generators/spring-cache/templates/src/test/java/_package_/config/RedisTestContainersSpringContextCustomizerFactory.java.ejs +29 -13
  324. package/dist/generators/spring-cloud/generators/gateway/command.js +5 -0
  325. package/dist/generators/spring-cloud/generators/gateway/generator.js +146 -0
  326. package/dist/generators/spring-cloud/generators/gateway/index.js +20 -0
  327. package/dist/generators/spring-cloud-stream/generator.js +2 -3
  328. package/dist/generators/spring-cloud-stream/generators/kafka/generator.js +2 -2
  329. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/config/KafkaTestContainersSpringContextCustomizerFactory.java.ejs +28 -12
  330. package/dist/generators/spring-cloud-stream/generators/pulsar/generator.js +2 -2
  331. package/dist/generators/spring-cloud-stream/generators/pulsar/templates/src/test/java/_package_/config/PulsarTestContainersSpringContextCustomizerFactory.java.ejs +33 -17
  332. package/dist/generators/spring-data-cassandra/generator.js +5 -6
  333. package/dist/generators/spring-data-cassandra/templates/src/test/java/_package_/config/CassandraTestContainersSpringContextCustomizerFactory.java.ejs +33 -17
  334. package/dist/generators/spring-data-couchbase/generator.js +3 -4
  335. package/dist/generators/spring-data-elasticsearch/generator.js +3 -5
  336. package/dist/generators/spring-data-mongodb/generator.js +5 -5
  337. package/dist/generators/spring-data-neo4j/generator.js +11 -5
  338. package/dist/generators/spring-data-neo4j/templates/src/test/java/_package_/config/Neo4jTestContainersSpringContextCustomizerFactory.java.ejs +32 -16
  339. package/dist/generators/spring-data-relational/generator.js +6 -7
  340. package/dist/generators/spring-data-relational/support/h2-reserved-keywords.js +22 -0
  341. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +47 -32
  342. package/dist/generators/spring-websocket/generator.js +2 -3
  343. package/dist/generators/upgrade/generator.js +4 -7
  344. package/dist/generators/vue/generator.js +4 -4
  345. package/dist/generators/vue/resources/package.json +24 -21
  346. package/dist/generators/vue/templates/package.json.ejs +3 -3
  347. package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.spec.ts.ejs +1 -1
  348. package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.ts.ejs +1 -1
  349. package/dist/generators/vue/templates/src/main/webapp/app/account/change-password/change-password.vue.ejs +1 -1
  350. package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.vue.ejs +1 -1
  351. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.vue.ejs +1 -1
  352. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.vue.ejs +1 -1
  353. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/init/reset-password-init.vue.ejs +1 -1
  354. package/dist/generators/vue/templates/src/main/webapp/app/account/settings/settings.vue.ejs +1 -1
  355. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +3 -3
  356. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.vue.ejs +2 -2
  357. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management-edit.vue.ejs +1 -1
  358. package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.vue.ejs +7 -7
  359. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +1 -1
  360. package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +4 -3
  361. package/dist/generators/vue/templates/vite.config.mts.ejs +6 -0
  362. package/dist/generators/vue/templates/vitest.config.mts.ejs +1 -1
  363. package/dist/generators/vue/templates/webpack/webpack.microfrontend.js.jhi.vue.ejs +0 -9
  364. package/dist/generators/workspaces/generator.js +5 -4
  365. package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +2 -2
  366. package/dist/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +3 -3
  367. package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +2 -2
  368. package/dist/jdl/jdl-importer.js +1 -2
  369. package/dist/jdl/jhipster/default-application-options.js +1 -1
  370. package/dist/jdl/jhipster/field-types.js +2 -2
  371. package/dist/jdl/jhipster/relationship-types.js +1 -2
  372. package/dist/jdl/models/jdl-deployment.js +1 -2
  373. package/dist/jdl/parsing/api.js +2 -2
  374. package/dist/jdl/parsing/lexer/token-creator.js +1 -2
  375. package/dist/jdl/parsing/self-checks/parsing-system-checker.js +13 -13
  376. package/dist/jdl/parsing/validator.js +5 -5
  377. package/dist/testing/get-generator.js +1 -1
  378. package/dist/testing/helpers.js +34 -9
  379. package/dist/types/generators/angular/support/index.d.ts +0 -1
  380. package/dist/types/generators/angular/support/translate-angular.d.ts +7 -4
  381. package/dist/types/generators/app/support/config.d.ts +1 -1
  382. package/dist/types/generators/base/api.d.ts +8 -1
  383. package/dist/types/generators/base/generator.d.ts +1 -1
  384. package/dist/types/generators/base-application/generator.d.ts +4 -4
  385. package/dist/types/generators/base-application/support/task-type-inference.d.ts +3 -0
  386. package/dist/types/generators/base-application/support/update-application-entities-transform.d.ts +1 -1
  387. package/dist/types/generators/base-application/types.d.ts +15 -0
  388. package/dist/types/generators/base-core/generator.d.ts +33 -1
  389. package/dist/types/generators/base-entity-changes/types.d.ts +2 -0
  390. package/dist/types/generators/bootstrap/internal/transform-utils.d.ts +1 -0
  391. package/dist/types/generators/bootstrap/support/java-unused-imports-transform.d.ts +1 -1
  392. package/dist/types/generators/bootstrap-application-base/support/export-jdl-transform.d.ts +2 -2
  393. package/dist/types/generators/docker/utils.d.ts +7 -0
  394. package/dist/types/generators/generator-constants.d.ts +2 -20
  395. package/dist/types/generators/gradle/types.d.ts +21 -7
  396. package/dist/types/generators/java/support/index.d.ts +1 -0
  397. package/dist/types/generators/java/types.d.ts +37 -22
  398. package/dist/types/generators/languages/support/translate.d.ts +29 -0
  399. package/dist/types/generators/maven/support/dependabot-maven.d.ts +17 -1
  400. package/dist/types/generators/project-name/support/name-resolver.d.ts +1 -1
  401. package/dist/types/generators/server/types.d.ts +2 -0
  402. package/dist/types/generators/spring-data-relational/support/h2-reserved-keywords.d.ts +20 -0
  403. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +0 -18
  404. package/dist/types/testing/helpers.d.ts +6 -0
  405. package/dist/types/testing/support/matrix-utils.d.ts +1 -1
  406. package/package.json +19 -32
  407. package/dist/generators/java/files.js +0 -20
  408. package/dist/generators/languages/templates/src/main/webapp/i18n/al/home.json +0 -19
  409. package/dist/generators/languages/templates/src/main/webapp/i18n/ar-ly/home.json +0 -19
  410. package/dist/generators/languages/templates/src/main/webapp/i18n/az-Latn-az/home.json +0 -19
  411. package/dist/generators/languages/templates/src/main/webapp/i18n/bg/home.json +0 -19
  412. package/dist/generators/languages/templates/src/main/webapp/i18n/bn/home.json +0 -19
  413. package/dist/generators/languages/templates/src/main/webapp/i18n/by/home.json +0 -19
  414. package/dist/generators/languages/templates/src/main/webapp/i18n/ca/home.json +0 -19
  415. package/dist/generators/languages/templates/src/main/webapp/i18n/cs/home.json +0 -19
  416. package/dist/generators/languages/templates/src/main/webapp/i18n/da/home.json +0 -19
  417. package/dist/generators/languages/templates/src/main/webapp/i18n/de/home.json +0 -19
  418. package/dist/generators/languages/templates/src/main/webapp/i18n/el/home.json +0 -19
  419. package/dist/generators/languages/templates/src/main/webapp/i18n/en/home.json +0 -19
  420. package/dist/generators/languages/templates/src/main/webapp/i18n/es/home.json +0 -19
  421. package/dist/generators/languages/templates/src/main/webapp/i18n/et/home.json +0 -19
  422. package/dist/generators/languages/templates/src/main/webapp/i18n/fa/home.json +0 -19
  423. package/dist/generators/languages/templates/src/main/webapp/i18n/fi/home.json +0 -19
  424. package/dist/generators/languages/templates/src/main/webapp/i18n/fr/home.json +0 -19
  425. package/dist/generators/languages/templates/src/main/webapp/i18n/gl/home.json +0 -19
  426. package/dist/generators/languages/templates/src/main/webapp/i18n/hi/home.json +0 -19
  427. package/dist/generators/languages/templates/src/main/webapp/i18n/hr/home.json +0 -19
  428. package/dist/generators/languages/templates/src/main/webapp/i18n/hu/home.json +0 -19
  429. package/dist/generators/languages/templates/src/main/webapp/i18n/hy/home.json +0 -19
  430. package/dist/generators/languages/templates/src/main/webapp/i18n/id/home.json +0 -19
  431. package/dist/generators/languages/templates/src/main/webapp/i18n/it/home.json +0 -19
  432. package/dist/generators/languages/templates/src/main/webapp/i18n/ja/home.json +0 -19
  433. package/dist/generators/languages/templates/src/main/webapp/i18n/ko/home.json +0 -19
  434. package/dist/generators/languages/templates/src/main/webapp/i18n/kr-Latn-kr/home.json +0 -19
  435. package/dist/generators/languages/templates/src/main/webapp/i18n/mr/home.json +0 -19
  436. package/dist/generators/languages/templates/src/main/webapp/i18n/my/home.json +0 -19
  437. package/dist/generators/languages/templates/src/main/webapp/i18n/nl/home.json +0 -19
  438. package/dist/generators/languages/templates/src/main/webapp/i18n/pl/home.json +0 -19
  439. package/dist/generators/languages/templates/src/main/webapp/i18n/pt-br/home.json +0 -19
  440. package/dist/generators/languages/templates/src/main/webapp/i18n/pt-pt/home.json +0 -19
  441. package/dist/generators/languages/templates/src/main/webapp/i18n/ro/home.json +0 -19
  442. package/dist/generators/languages/templates/src/main/webapp/i18n/ru/home.json +0 -19
  443. package/dist/generators/languages/templates/src/main/webapp/i18n/sk/home.json +0 -19
  444. package/dist/generators/languages/templates/src/main/webapp/i18n/sr/home.json +0 -19
  445. package/dist/generators/languages/templates/src/main/webapp/i18n/sv/home.json +0 -19
  446. package/dist/generators/languages/templates/src/main/webapp/i18n/ta/home.json +0 -19
  447. package/dist/generators/languages/templates/src/main/webapp/i18n/th/home.json +0 -19
  448. package/dist/generators/languages/templates/src/main/webapp/i18n/tr/home.json +0 -19
  449. package/dist/generators/languages/templates/src/main/webapp/i18n/ua/home.json +0 -19
  450. package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/global.json +0 -148
  451. package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/home.json +0 -19
  452. package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/home.json +0 -19
  453. package/dist/generators/languages/templates/src/main/webapp/i18n/vi/home.json +0 -19
  454. package/dist/generators/languages/templates/src/main/webapp/i18n/zh-cn/home.json +0 -19
  455. package/dist/generators/languages/templates/src/main/webapp/i18n/zh-tw/home.json +0 -19
  456. package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_imperative.java.ejs +0 -43
  457. package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_reactive.java.ejs +0 -184
  458. package/dist/generators/statistics.js +0 -223
  459. /package/dist/generators/{server → gradle/generators/code-quality}/templates/buildSrc/src/main/groovy/jhipster.code-quality-conventions.gradle.ejs +0 -0
  460. /package/dist/generators/{server → gradle/generators/jib}/templates/buildSrc/src/main/groovy/jhipster.docker-conventions.gradle.ejs +0 -0
  461. /package/dist/generators/java/{templates → generators/bootstrap/templates}/src/main/java/_package_/GeneratedByJHipster.java.ejs +0 -0
  462. /package/dist/generators/{server → java/generators/code-quality}/templates/checkstyle.xml.ejs +0 -0
  463. /package/dist/generators/java/{templates → generators/domain/templates}/_global_partials_entity_/field_validators.ejs +0 -0
  464. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +0 -0
  465. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jackson_identity_info.ejs +0 -0
  466. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.jakarta_validation.ejs +0 -0
  467. /package/dist/generators/java/{templates → generators/domain/templates}/src/main/java/_package_/_entityPackage_/domain/enumeration/_enumName_.java.ejs +0 -0
  468. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +0 -0
  469. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +0 -0
  470. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/_entityPackage_/domain/_persistClass_TestSamples.java.ejs +0 -0
  471. /package/dist/generators/java/{templates → generators/domain/templates}/src/test/java/_package_/domain/AssertUtils.java.ejs +0 -0
  472. /package/dist/generators/{server → java/generators/node}/templates/npmw +0 -0
  473. /package/dist/generators/{server → java/generators/node}/templates/npmw.cmd +0 -0
  474. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/security/jwt/JWTRelayGatewayFilterFactory.java.ejs +0 -0
  475. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/filter/ModifyServersOpenApiFilter.java.ejs +0 -0
  476. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/rest/GatewayResource.java.ejs +0 -0
  477. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/main/java/_package_/web/rest/vm/RouteVM.java.ejs +0 -0
  478. /package/dist/generators/{server → spring-cloud/generators/gateway}/templates/src/test/java/_package_/web/filter/ModifyServersOpenApiFilterTest.java.ejs +0 -0
@@ -17,9 +17,8 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import fs from 'fs';
20
- import * as _ from 'lodash-es';
20
+ import { escape, min } from 'lodash-es';
21
21
  import BaseEntityChangesGenerator from '../base-entity-changes/index.js';
22
- import { GENERATOR_LIQUIBASE, GENERATOR_BOOTSTRAP_APPLICATION_SERVER } from '../generator-list.js';
23
22
  import { liquibaseFiles } from './files.js';
24
23
  import { prepareField as prepareFieldForLiquibase, postPrepareEntity, prepareRelationshipForLiquibase, liquibaseComment, } from './support/index.js';
25
24
  import { getFKConstraintName, getUXConstraintName, prepareEntity as prepareEntityForServer } from '../server/support/index.js';
@@ -29,7 +28,6 @@ import { addLiquibaseChangelogCallback, addLiquibaseConstraintsChangelogCallback
29
28
  import { prepareSqlApplicationProperties } from '../spring-data-relational/support/index.js';
30
29
  import { addEntityFiles, updateEntityFiles, updateConstraintsFiles, updateMigrateFiles, fakeFiles } from './changelog-files.js';
31
30
  import { fieldTypes } from '../../jdl/jhipster/index.js';
32
- import command from './command.js';
33
31
  const { CommonDBTypes: { LONG: TYPE_LONG, INTEGER: TYPE_INTEGER }, } = fieldTypes;
34
32
  export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
35
33
  recreateInitialChangelog;
@@ -49,21 +47,21 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
49
47
  }
50
48
  async beforeQueue() {
51
49
  if (!this.fromBlueprint) {
52
- await this.composeWithBlueprints(GENERATOR_LIQUIBASE);
50
+ await this.composeWithBlueprints();
53
51
  }
54
52
  if (!this.delegateToBlueprint) {
55
- await this.dependsOnJHipster(GENERATOR_BOOTSTRAP_APPLICATION_SERVER);
53
+ await this.dependsOnBootstrapApplicationServer();
56
54
  }
57
55
  }
58
56
  get initializing() {
59
57
  return this.asInitializingTaskGroup({
60
- loadConfig() {
61
- this.parseJHipsterOptions(command.options);
58
+ async parseCommand() {
59
+ await this.parseCurrentJHipsterCommand();
62
60
  },
63
61
  });
64
62
  }
65
63
  get [BaseEntityChangesGenerator.INITIALIZING]() {
66
- return this.asInitializingTaskGroup(this.delegateTasksToBlueprint(() => this.initializing));
64
+ return this.delegateTasksToBlueprint(() => this.initializing);
67
65
  }
68
66
  get preparing() {
69
67
  return this.asPreparingTaskGroup({
@@ -99,6 +97,11 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
99
97
  prepareFieldForLiquibase(entity, field);
100
98
  }
101
99
  },
100
+ validateConsistencyOfField({ entity, field }) {
101
+ if (field.columnRequired && field.liquibaseDefaultValueAttributeValue) {
102
+ this.handleCheckFailure(`The field ${field.fieldName} in entity ${entity.name} has both columnRequired and a defaultValue, this can lead to unexpected behaviors.`);
103
+ }
104
+ },
102
105
  });
103
106
  }
104
107
  get [BaseEntityChangesGenerator.PREPARING_EACH_ENTITY_FIELD]() {
@@ -164,15 +167,24 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
164
167
  const changes = entityChanges.filter(databaseChangelog => entitiesToWrite.length === 0 || entitiesToWrite.includes(databaseChangelog.entityName));
165
168
  for (const databaseChangelog of changes) {
166
169
  if (databaseChangelog.newEntity) {
167
- this.databaseChangelogs.push(this.prepareChangelog({ databaseChangelog, application }));
170
+ this.databaseChangelogs.push(this.prepareChangelog({
171
+ databaseChangelog: {
172
+ ...databaseChangelog,
173
+ changelogData: { ...databaseChangelog.changelogData },
174
+ },
175
+ application,
176
+ }));
168
177
  }
169
178
  else if (databaseChangelog.addedFields.length > 0 || databaseChangelog.removedFields.length > 0) {
170
179
  this.databaseChangelogs.push(this.prepareChangelog({
171
180
  databaseChangelog: {
172
181
  ...databaseChangelog,
182
+ changelogData: { ...databaseChangelog.changelogData },
173
183
  fieldChangelog: true,
174
184
  addedRelationships: [],
175
185
  removedRelationships: [],
186
+ removedDefaultValueFields: [],
187
+ addedDefaultValueFields: [],
176
188
  relationshipsToRecreateForeignKeysOnly: [],
177
189
  },
178
190
  application,
@@ -182,10 +194,14 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
182
194
  // Relationships needs to be added later to make sure every related field is already added.
183
195
  for (const databaseChangelog of changes) {
184
196
  if (databaseChangelog.incremental &&
185
- (databaseChangelog.addedRelationships.length > 0 || databaseChangelog.removedRelationships.length > 0)) {
197
+ (databaseChangelog.addedRelationships.length > 0 ||
198
+ databaseChangelog.removedRelationships.length > 0 ||
199
+ databaseChangelog.removedDefaultValueFields.length > 0 ||
200
+ databaseChangelog.addedDefaultValueFields.length > 0)) {
186
201
  this.databaseChangelogs.push(this.prepareChangelog({
187
202
  databaseChangelog: {
188
203
  ...databaseChangelog,
204
+ changelogData: { ...databaseChangelog.changelogData },
189
205
  relationshipChangelog: true,
190
206
  addedFields: [],
191
207
  removedFields: [],
@@ -268,36 +284,58 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
268
284
  if (!application.javaDependencies) {
269
285
  throw new Error('Some application fields are be mandatory');
270
286
  }
287
+ const { javaDependencies } = application;
288
+ const checkProperty = (property) => {
289
+ if (!source.hasJavaManagedProperty?.(property) && !source.hasJavaProperty?.(property)) {
290
+ const message = `${property} is required by maven-liquibase-plugin, make sure to add it to your pom.xml`;
291
+ if (this.skipChecks) {
292
+ this.log.warn(message);
293
+ }
294
+ else {
295
+ throw new Error(message);
296
+ }
297
+ }
298
+ };
299
+ const { 'jakarta-validation': validationVersion, h2: h2Version, liquibase: liquibaseVersion } = javaDependencies;
271
300
  const applicationAny = application;
272
301
  const databaseTypeProfile = applicationAny.devDatabaseTypeH2Any ? 'prod' : undefined;
273
302
  let liquibasePluginHibernateDialect;
274
303
  let liquibasePluginJdbcDriver;
304
+ const mavenProperties = [];
275
305
  if (applicationAny.devDatabaseTypeH2Any) {
276
306
  // eslint-disable-next-line no-template-curly-in-string
277
307
  liquibasePluginHibernateDialect = '${liquibase-plugin.hibernate-dialect}';
278
308
  // eslint-disable-next-line no-template-curly-in-string
279
309
  liquibasePluginJdbcDriver = '${liquibase-plugin.driver}';
280
- source.addMavenDefinition?.({
281
- properties: [
282
- { property: 'liquibase-plugin.hibernate-dialect' },
283
- { property: 'liquibase-plugin.driver' },
284
- { property: 'h2.version', value: application.springBootDependencies.h2 },
285
- { inProfile: 'dev', property: 'liquibase-plugin.hibernate-dialect', value: applicationAny.devHibernateDialect },
286
- { inProfile: 'prod', property: 'liquibase-plugin.hibernate-dialect', value: applicationAny.prodHibernateDialect },
287
- { inProfile: 'dev', property: 'liquibase-plugin.driver', value: applicationAny.devJdbcDriver },
288
- { inProfile: 'prod', property: 'liquibase-plugin.driver', value: applicationAny.prodJdbcDriver },
289
- ],
290
- });
310
+ if (h2Version) {
311
+ mavenProperties.push({ property: 'h2.version', value: h2Version });
312
+ }
313
+ else {
314
+ checkProperty('h2.version');
315
+ }
316
+ mavenProperties.push({ property: 'liquibase-plugin.hibernate-dialect' }, { property: 'liquibase-plugin.driver' }, { inProfile: 'dev', property: 'liquibase-plugin.hibernate-dialect', value: applicationAny.devHibernateDialect }, { inProfile: 'prod', property: 'liquibase-plugin.hibernate-dialect', value: applicationAny.prodHibernateDialect }, { inProfile: 'dev', property: 'liquibase-plugin.driver', value: applicationAny.devJdbcDriver }, { inProfile: 'prod', property: 'liquibase-plugin.driver', value: applicationAny.prodJdbcDriver });
291
317
  }
292
318
  else {
293
319
  liquibasePluginHibernateDialect = applicationAny.prodHibernateDialect;
294
320
  liquibasePluginJdbcDriver = applicationAny.prodJdbcDriver;
295
321
  }
322
+ if (validationVersion) {
323
+ mavenProperties.push({ property: 'jakarta-validation.version', value: validationVersion });
324
+ }
325
+ else {
326
+ checkProperty('jakarta-validation.version');
327
+ }
328
+ if (liquibaseVersion) {
329
+ mavenProperties.push({ property: 'liquibase.version', value: liquibaseVersion });
330
+ }
331
+ else {
332
+ checkProperty('liquibase.version');
333
+ }
296
334
  source.addMavenDefinition?.({
297
335
  properties: [
336
+ ...mavenProperties,
298
337
  { inProfile: 'no-liquibase', property: 'profile.no-liquibase', value: ',no-liquibase' },
299
338
  { property: 'profile.no-liquibase' },
300
- { property: 'liquibase.version', value: application.springBootDependencies.liquibase },
301
339
  { property: 'liquibase-plugin.url' },
302
340
  { property: 'liquibase-plugin.username' },
303
341
  { property: 'liquibase-plugin.password' },
@@ -384,18 +422,33 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
384
422
  if (!application.javaDependencies) {
385
423
  throw new Error('Some application fields are be mandatory');
386
424
  }
425
+ const { liquibase: liquibaseVersion, 'gradle-liquibase': gradleLiquibaseVersion } = application.javaDependencies;
426
+ if (!liquibaseVersion) {
427
+ this.log.warn('liquibaseVersion is required by gradle-liquibase-plugin, make sure to add it to your dependencies');
428
+ }
429
+ else {
430
+ source.addGradleProperty?.({ property: 'liquibaseVersion', value: liquibaseVersion });
431
+ }
387
432
  source.addGradleProperty?.({ property: 'liquibaseTaskPrefix', value: 'liquibase' });
388
- source.addGradleProperty?.({ property: 'liquibasePluginVersion', value: application.javaDependencies['gradle-liquibase'] });
389
- source.addGradleProperty?.({ property: 'liquibaseVersion', value: application.springBootDependencies.liquibase });
433
+ source.addGradleProperty?.({ property: 'liquibasePluginVersion', value: gradleLiquibaseVersion });
390
434
  source.applyFromGradle?.({ script: 'gradle/liquibase.gradle' });
391
435
  source.addGradlePlugin?.({ id: 'org.liquibase.gradle' });
392
436
  // eslint-disable-next-line no-template-curly-in-string
393
437
  source.addGradlePluginManagement?.({ id: 'org.liquibase.gradle', version: '${liquibasePluginVersion}' });
438
+ if (application.databaseTypeSql && !application.reactive) {
439
+ source.addGradleDependency?.({
440
+ scope: 'liquibaseRuntime',
441
+ groupId: 'org.liquibase.ext',
442
+ artifactId: 'liquibase-hibernate6',
443
+ // eslint-disable-next-line no-template-curly-in-string
444
+ version: liquibaseVersion ? '${liquibaseVersion}' : "${dependencyManagement.importedProperties['liquibase.version']}",
445
+ }, { gradleFile: 'gradle/liquibase.gradle' });
446
+ }
394
447
  },
395
448
  });
396
449
  }
397
450
  get [BaseEntityChangesGenerator.POST_WRITING]() {
398
- return this.asPostWritingTaskGroup(this.delegateTasksToBlueprint(() => this.postWriting));
451
+ return this.delegateTasksToBlueprint(() => this.postWriting);
399
452
  }
400
453
  get postWritingEntities() {
401
454
  return this.asPostWritingEntitiesTaskGroup({
@@ -447,7 +500,7 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
447
500
  * Write files for updated entities.
448
501
  */
449
502
  _writeUpdateFiles({ context: writeContext, changelogData }) {
450
- const { addedFields, allFields, removedFields, addedRelationships, removedRelationships, hasFieldConstraint, hasRelationshipConstraint, shouldWriteAnyRelationship, relationshipsToRecreateForeignKeysOnly, } = changelogData;
503
+ const { addedFields, allFields, removedFields, addedRelationships, removedRelationships, hasFieldConstraint, hasRelationshipConstraint, shouldWriteAnyRelationship, relationshipsToRecreateForeignKeysOnly, hasDefaultValueChange, removedDefaultValueFields, addedDefaultValueFields, } = changelogData;
451
504
  const context = {
452
505
  ...writeContext,
453
506
  skipFakeData: changelogData.skipFakeData,
@@ -462,29 +515,45 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
462
515
  hasRelationshipConstraint,
463
516
  shouldWriteAnyRelationship,
464
517
  relationshipsToRecreateForeignKeysOnly,
518
+ hasDefaultValueChange,
519
+ removedDefaultValueFields,
520
+ addedDefaultValueFields,
465
521
  };
466
522
  const promises = [];
467
- promises.push(this.writeFiles({ sections: updateEntityFiles, context }));
468
- if (!changelogData.skipFakeData && (changelogData.addedFields.length > 0 || shouldWriteAnyRelationship)) {
523
+ if (this._isBasicEntityUpdate(changelogData)) {
524
+ promises.push(this.writeFiles({ sections: updateEntityFiles, context }));
525
+ }
526
+ if (this._requiresWritingFakeData(changelogData)) {
469
527
  promises.push(this.writeFiles({ sections: fakeFiles, context }));
470
528
  promises.push(this.writeFiles({ sections: updateMigrateFiles, context }));
471
529
  }
472
- if (hasFieldConstraint || shouldWriteAnyRelationship) {
530
+ if (this._requiresConstraintUpdates(changelogData)) {
473
531
  promises.push(this.writeFiles({ sections: updateConstraintsFiles, context }));
474
532
  }
475
533
  return Promise.all(promises);
476
534
  }
535
+ _requiresConstraintUpdates(changelogData) {
536
+ return changelogData.hasFieldConstraint || changelogData.addedRelationships.length > 0 || changelogData.hasDefaultValueChange;
537
+ }
538
+ _isBasicEntityUpdate(changelogData) {
539
+ return changelogData.addedFields.length > 0 || changelogData.removedFields.length > 0 || changelogData.shouldWriteAnyRelationship;
540
+ }
541
+ _requiresWritingFakeData(changelogData) {
542
+ return !changelogData.skipFakeData && (changelogData.addedFields.length || changelogData.addedRelationships.length);
543
+ }
477
544
  /**
478
545
  * Write files for updated entities.
479
546
  */
480
547
  _addUpdateFilesReferences({ entity, databaseChangelog, changelogData, source }) {
481
- source.addLiquibaseIncrementalChangelog({ changelogName: `${databaseChangelog.changelogDate}_updated_entity_${entity.entityClass}` });
482
- if (!changelogData.skipFakeData && (changelogData.addedFields.length > 0 || changelogData.shouldWriteAnyRelationship)) {
548
+ if (this._isBasicEntityUpdate(changelogData)) {
549
+ source.addLiquibaseIncrementalChangelog({ changelogName: `${databaseChangelog.changelogDate}_updated_entity_${entity.entityClass}` });
550
+ }
551
+ if (this._requiresWritingFakeData(changelogData)) {
483
552
  source.addLiquibaseIncrementalChangelog({
484
553
  changelogName: `${databaseChangelog.changelogDate}_updated_entity_migrate_${entity.entityClass}`,
485
554
  });
486
555
  }
487
- if (changelogData.hasFieldConstraint || changelogData.shouldWriteAnyRelationship) {
556
+ if (this._requiresConstraintUpdates(changelogData)) {
488
557
  source.addLiquibaseIncrementalChangelog({
489
558
  changelogName: `${databaseChangelog.changelogDate}_updated_entity_constraints_${entity.entityClass}`,
490
559
  });
@@ -501,6 +570,19 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
501
570
  formatAsLiquibaseRemarks(text, addRemarksTag = false) {
502
571
  return liquibaseComment(text, addRemarksTag);
503
572
  }
573
+ /**
574
+ * @private
575
+ * Create the fitting liquibase default value attribute for a field.
576
+ * @param field
577
+ * @param leadingWhitespace
578
+ * @returns
579
+ */
580
+ createDefaultValueLiquibaseAttribute(field, leadingWhitespace = false) {
581
+ if (field.liquibaseDefaultValueAttributeValue === undefined) {
582
+ return '';
583
+ }
584
+ return `${leadingWhitespace ? ' ' : ''}${field.liquibaseDefaultValueAttributeName}="${escape(field.liquibaseDefaultValueAttributeValue)}"`;
585
+ }
504
586
  prepareChangelog({ databaseChangelog, application }) {
505
587
  if (!databaseChangelog.changelogDate) {
506
588
  databaseChangelog.changelogDate = this.dateFormatForLiquibase();
@@ -527,7 +609,7 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
527
609
  Object.defineProperty(entity, 'fakeDataCount', {
528
610
  get: () => {
529
611
  const uniqueRelationships = entity.relationships.filter(rel => rel.unique && (rel.columnRequired || rel.id));
530
- return _.min([entity.liquibaseFakeData.length, ...uniqueRelationships.map(rel => rel.otherEntity.fakeDataCount)]);
612
+ return min([entity.liquibaseFakeData.length, ...uniqueRelationships.map(rel => rel.otherEntity.fakeDataCount)]);
531
613
  },
532
614
  configurable: true,
533
615
  });
@@ -567,6 +649,8 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
567
649
  entityChanges.addedRelationships = databaseChangelog.addedRelationships;
568
650
  entityChanges.removedRelationships = databaseChangelog.removedRelationships;
569
651
  entityChanges.relationshipsToRecreateForeignKeysOnly = databaseChangelog.relationshipsToRecreateForeignKeysOnly;
652
+ entityChanges.removedDefaultValueFields = databaseChangelog.removedDefaultValueFields;
653
+ entityChanges.addedDefaultValueFields = databaseChangelog.addedDefaultValueFields;
570
654
  }
571
655
  /* Required by the templates */
572
656
  databaseChangelog.writeContext = {
@@ -588,11 +672,17 @@ export default class LiquibaseGenerator extends BaseEntityChangesGenerator {
588
672
  entityChanges.addedFields.length > 0 ||
589
673
  entityChanges.removedFields.length > 0 ||
590
674
  entityChanges.addedRelationships.some(relationship => relationship.shouldWriteRelationship || relationship.shouldWriteJoinTable) ||
591
- entityChanges.removedRelationships.some(relationship => relationship.shouldWriteRelationship || relationship.shouldWriteJoinTable);
675
+ entityChanges.removedRelationships.some(relationship => relationship.shouldWriteRelationship || relationship.shouldWriteJoinTable) ||
676
+ entityChanges.addedDefaultValueFields.length > 0 ||
677
+ entityChanges.removedDefaultValueFields.length > 0;
592
678
  if (entityChanges.requiresUpdateChangelogs) {
593
- entityChanges.hasFieldConstraint = entityChanges.addedFields.some(field => field.unique || !field.nullable);
679
+ entityChanges.hasFieldConstraint = entityChanges.addedFields.some(field => field.unique || (field.columnRequired && !field.liquibaseDefaultValueAttributeValue) || field.shouldCreateContentType);
680
+ entityChanges.hasDefaultValueChange =
681
+ entityChanges.addedDefaultValueFields.length > 0 || entityChanges.removedDefaultValueFields.length > 0;
594
682
  entityChanges.hasRelationshipConstraint = entityChanges.addedRelationships.some(relationship => (relationship.shouldWriteRelationship || relationship.shouldWriteJoinTable) && (relationship.unique || !relationship.nullable));
595
- entityChanges.shouldWriteAnyRelationship = entityChanges.addedRelationships.some(relationship => relationship.shouldWriteRelationship || relationship.shouldWriteJoinTable);
683
+ entityChanges.shouldWriteAnyRelationship =
684
+ entityChanges.addedRelationships.some(relationship => relationship.shouldWriteRelationship || relationship.shouldWriteJoinTable) ||
685
+ entityChanges.removedRelationships.some(relationship => relationship.shouldWriteRelationship || relationship.shouldWriteJoinTable);
596
686
  }
597
687
  return databaseChangelog;
598
688
  }
@@ -25,10 +25,16 @@ export default function mavenPluginContent({ backendTypeSpringBoot, reactive, pa
25
25
  <groupId>org.liquibase.ext</groupId>
26
26
  <artifactId>liquibase-hibernate6</artifactId>
27
27
  <version>\${liquibase.version}</version>
28
+ </dependency>
29
+ <dependency>
30
+ <groupId>jakarta.validation</groupId>
31
+ <artifactId>jakarta.validation-api</artifactId>
32
+ <version>\${jakarta-validation.version}</version>
28
33
  </dependency>${backendTypeSpringBoot ? `
29
34
  <dependency>
30
35
  <groupId>org.springframework.boot</groupId>
31
36
  <artifactId>spring-boot-starter-data-jpa</artifactId>
37
+ <version>\${spring-boot.version}</version>
32
38
  </dependency>` : ''}${devDatabaseTypeH2Any ? `
33
39
  <dependency>
34
40
  <groupId>com.h2database</groupId>
@@ -114,11 +114,26 @@ export default function prepareField(entity, field) {
114
114
  mutateData(field, {
115
115
  __override__: false,
116
116
  columnType: data => parseLiquibaseColumnType(entity, data),
117
- shouldDropDefaultValue: data => data.fieldType === ZONED_DATE_TIME || data.fieldType === INSTANT,
117
+ liquibaseDefaultValueAttributeValue: ({ defaultValue, defaultValueComputed }) => defaultValueComputed ?? defaultValue?.toString(),
118
+ liquibaseDefaultValueAttributeName: ({ defaultValueComputed, liquibaseDefaultValueAttributeValue }) => {
119
+ if (liquibaseDefaultValueAttributeValue === undefined)
120
+ return undefined;
121
+ if (defaultValueComputed)
122
+ return 'defaultValueComputed';
123
+ if (field.fieldTypeNumeric)
124
+ return 'defaultValueNumeric';
125
+ if (field.fieldTypeDateTime)
126
+ return 'defaultValueDate';
127
+ if (field.fieldTypeBoolean)
128
+ return 'defaultValueBoolean';
129
+ return 'defaultValue';
130
+ },
131
+ shouldDropDefaultValue: data => !data.liquibaseDefaultValueAttributeValue && (data.fieldType === ZONED_DATE_TIME || data.fieldType === INSTANT),
118
132
  shouldCreateContentType: data => data.fieldType === BYTES && data.fieldTypeBlobContent !== TEXT,
119
133
  columnRequired: data => data.nullable === false || (data.fieldValidate === true && data.fieldValidateRules.includes('required')),
120
134
  nullable: data => !data.columnRequired,
121
135
  loadColumnType: data => parseLiquibaseLoadColumnType(entity, data),
136
+ liquibaseGenerateFakeData: true,
122
137
  });
123
138
  return field;
124
139
  }
@@ -65,6 +65,7 @@ export function prepareRelationshipForLiquibase(entity, relationship) {
65
65
  __override__: false,
66
66
  columnDataType: data => data.otherEntity.columnType,
67
67
  columnRequired: data => data.nullable === false || data.relationshipRequired,
68
+ liquibaseGenerateFakeData: data => data.columnRequired && data.persistableRelationship && !data.collection,
68
69
  });
69
70
  return relationship;
70
71
  }
@@ -7,10 +7,6 @@ dependencies {
7
7
  liquibaseRuntime "org.liquibase:liquibase-core"
8
8
  // Dependency required to parse options. Refer to https://github.com/liquibase/liquibase-gradle-plugin/tree/Release_2.2.0#news.
9
9
  liquibaseRuntime "info.picocli:picocli:<%- javaDependencies.picocli %>"
10
- <%_ if (databaseTypeSql && !reactive) { _%>
11
-
12
- liquibaseRuntime "org.liquibase.ext:liquibase-hibernate6:${liquibaseVersion}"
13
- <%_ } _%>
14
10
  <%_ if (databaseTypeSql) { _%>
15
11
  <%_ if (prodDatabaseType !== devDatabaseType) { _%>
16
12
  if (project.hasProperty("prod") || project.hasProperty("gae")) {
@@ -26,7 +22,7 @@ dependencies {
26
22
  <%_ } _%>
27
23
  <%_ if (prodDatabaseTypeMssql) { _%>
28
24
  liquibaseRuntime "com.microsoft.sqlserver:mssql-jdbc"
29
- liquibaseRuntime "org.liquibase.ext:liquibase-mssql:${liquibaseVersion}"
25
+ liquibaseRuntime "org.liquibase.ext:liquibase-mssql:${dependencyManagement.importedProperties['liquibase.version']}"
30
26
  <%_ } _%>
31
27
  <%_ if (prodDatabaseTypeOracle) { _%>
32
28
  liquibaseRuntime "com.oracle.database.jdbc:ojdbc8"
@@ -37,12 +33,13 @@ dependencies {
37
33
  <%_ } else if (databaseTypeNeo4j) { _%>
38
34
  // Exclude current neo4j driver and use the one provided by spring-data
39
35
  // See: https://github.com/jhipster/generator-jhipster/pull/24241
40
- implementation ("org.liquibase.ext:liquibase-neo4j:${liquibaseVersion}") {
36
+ implementation ("org.liquibase.ext:liquibase-neo4j:${dependencyManagement.importedProperties['liquibase.version']}") {
41
37
  exclude group: "org.neo4j.driver", module: "neo4j-java-driver"
42
38
  exclude group: "org.slf4j", module: "*"
43
39
  }
44
40
  implementation "org.springframework:spring-jdbc"
45
41
  <%_ } _%>
42
+ // jhipster-needle-gradle-dependency - JHipster will add additional dependencies here
46
43
  }
47
44
 
48
45
  project.ext.diffChangelogFile = "<%= SERVER_MAIN_RES_DIR %>config/liquibase/changelog/" + new Date().format("yyyyMMddHHmmss") + "_changelog.xml"
@@ -30,7 +30,7 @@
30
30
  <changeSet id="<%= changelogDate %>-1" author="jhipster">
31
31
  <createTable tableName="<%= entity.entityTableName %>"<%- this.formatAsLiquibaseRemarks(entity.documentation, true) %>>
32
32
  <%_ for (field of fields) { _%>
33
- <column name="<%= field.columnName %>" type="<%= field.columnType %>"<%- this.formatAsLiquibaseRemarks(field.documentation, true) %><% if (field.id && field.liquibaseAutoIncrement) { %> autoIncrement="true" startWith="1500"<%_ } %>>
33
+ <column name="<%= field.columnName %>" type="<%= field.columnType %>"<%- this.createDefaultValueLiquibaseAttribute(field, true) -%><%- this.formatAsLiquibaseRemarks(field.documentation, true) %><% if (field.id && field.liquibaseAutoIncrement) { %> autoIncrement="true" startWith="1500"<%_ } %>>
34
34
  <%_ if (field.id) { _%>
35
35
  <constraints primaryKey="true" nullable="false"/>
36
36
  <%_ } else if (field.unique) { _%>
@@ -25,15 +25,15 @@
25
25
  <changeSet id="<%= changelogDate %>-1-add-columns" author="jhipster">
26
26
  <addColumn tableName="<%= entity.entityTableName %>">
27
27
  <%_ for (field of addedFields) { _%>
28
- <column name="<%= field.columnName %>" type="<%= field.columnType %>"<%- this.formatAsLiquibaseRemarks(field.documentation, true) %>/>
28
+ <column name="<%= field.columnName %>" type="<%= field.columnType %>"<%- this.createDefaultValueLiquibaseAttribute(field, true) -%><%- this.formatAsLiquibaseRemarks(field.documentation, true) %>/>
29
29
  <%_ if (field.shouldCreateContentType) { _%>
30
30
  <column name="<%= field.columnName %>_content_type" type="varchar(255)"/>
31
31
  <%_ }
32
32
  } // End for (field of addedFields) _%>
33
33
  </addColumn>
34
34
  <%_ for (field of addedFields) {
35
- if (field.fieldType === 'ZonedDateTime' || field.fieldType === 'Instant') { _%>
36
- <dropDefaultValue tableName="<%= entity.entityTableName %>" columnName="<%= field.columnName %>" columnDataType="datetime"/>
35
+ if (field.shouldDropDefaultValue) { _%>
36
+ <dropDefaultValue tableName="<%= entity.entityTableName %>" columnName="<%= field.columnName %>" columnDataType="${datetimeType}"/>
37
37
  <%_ } _%>
38
38
  <%_ } _%>
39
39
  </changeSet>
@@ -48,6 +48,31 @@ if (hasFieldConstraint) { _%>
48
48
  } _%>
49
49
  </changeSet>
50
50
  <% } _%>
51
+ <%_ if (removedDefaultValueFields && removedDefaultValueFields.length) { _%>
52
+ <!--
53
+ Removed the default value for the fields for entity <%= entityClass %>.
54
+ -->
55
+ <changeSet id="<%= changelogDate %>-fields-remove-default-value" author="jhipster">
56
+ <%_ for (field of removedDefaultValueFields) { _%>
57
+ <dropDefaultValue tableName="<%= entityTableName %>"
58
+ columnName="<%= field.columnName %>"
59
+ columnDataType="<%= field.columnType %>"/>
60
+ <%_ } _%>
61
+ </changeSet>
62
+ <% } _%>
63
+ <%_ if (addedDefaultValueFields && addedDefaultValueFields.length) { _%>
64
+ <!--
65
+ Added the default value for the fields for entity <%= entityClass %>.
66
+ -->
67
+ <changeSet id="<%= changelogDate %>-fields-add-default-value" author="jhipster">
68
+ <%_ for (field of addedDefaultValueFields) { _%>
69
+ <addDefaultValue tableName="<%= entityTableName %>"
70
+ columnName="<%= field.columnName %>"
71
+ columnDataType="<%= field.columnType %>"
72
+ <%- this.createDefaultValueLiquibaseAttribute(field) -%>/>
73
+ <%_ } _%>
74
+ </changeSet>
75
+ <% } _%>
51
76
  <%_ if (hasRelationshipConstraint) { _%>
52
77
 
53
78
  <!--
@@ -74,7 +99,7 @@ if (hasFieldConstraint) { _%>
74
99
  } _%>
75
100
  </changeSet>
76
101
  <%_ } _%>
77
- <%_ if (shouldWriteAnyRelationship) { %>
102
+ <%_ if (addedRelationships && addedRelationships.length) { %>
78
103
 
79
104
  <!--
80
105
  Added the relationship constraints for entity <%= entityClass %>.
@@ -21,14 +21,14 @@ let table = [];
21
21
 
22
22
  // Generate CSV header
23
23
  let header = [];
24
- const fieldsToGenerate = [...allFields.filter(f => f.id), ...fields.filter(f => !f.id)];
24
+ const fieldsToGenerate = [...allFields.filter(f => f.id), ...fields.filter(f => !f.id)].filter(field => field.liquibaseGenerateFakeData);
25
25
  for (field of fieldsToGenerate) {
26
26
  header.push(field.columnName);
27
27
  if (field.shouldCreateContentType) {
28
28
  header.push(field.columnName + '_content_type');
29
29
  }
30
30
  }
31
- for (relationship of relationships.filter(relationship => relationship.columnRequired && relationship.persistableRelationship && !relationship.collection)) {
31
+ for (relationship of relationships.filter(relationship => relationship.liquibaseGenerateFakeData)) {
32
32
  const { joinColumnNames } = relationship;
33
33
  header.push(joinColumnNames[0]);
34
34
  }
@@ -57,7 +57,7 @@ for (lineNb = 0; lineNb < entity.fakeDataCount; lineNb++) {
57
57
  }
58
58
  }
59
59
 
60
- for (relationship of relationships.filter(relationship => relationship.columnRequired && relationship.persistableRelationship && !relationship.collection)) {
60
+ for (relationship of relationships.filter(relationship => relationship.liquibaseGenerateFakeData)) {
61
61
  const relationshipType = relationship.relationshipType;
62
62
  const otherLiquibaseFakeData = relationship.otherEntity.liquibaseFakeData;
63
63
  let relationshipRow = lineNb;
@@ -19,7 +19,6 @@
19
19
  /* eslint-disable consistent-return */
20
20
  import assert from 'assert/strict';
21
21
  import BaseApplicationGenerator from '../base-application/index.js';
22
- import { GENERATOR_MAVEN, GENERATOR_BOOTSTRAP_APPLICATION_SERVER } from '../generator-list.js';
23
22
  import files from './files.js';
24
23
  import { MAVEN } from './constants.js';
25
24
  import cleanupOldServerFilesTask from './cleanup.js';
@@ -28,10 +27,10 @@ export default class MavenGenerator extends BaseApplicationGenerator {
28
27
  pomStorage;
29
28
  async beforeQueue() {
30
29
  if (!this.fromBlueprint) {
31
- await this.composeWithBlueprints(GENERATOR_MAVEN);
30
+ await this.composeWithBlueprints();
32
31
  }
33
32
  if (!this.delegateToBlueprint) {
34
- await this.dependsOnJHipster(GENERATOR_BOOTSTRAP_APPLICATION_SERVER);
33
+ await this.dependsOnBootstrapApplicationServer();
35
34
  }
36
35
  }
37
36
  get initializing() {
@@ -63,7 +62,8 @@ export default class MavenGenerator extends BaseApplicationGenerator {
63
62
  async verify({ application }) {
64
63
  assert.equal(application.buildTool, MAVEN);
65
64
  },
66
- addSourceNeddles({ source }) {
65
+ addSourceNeddles({ application, source }) {
66
+ const { javaProperties } = application;
67
67
  function createForEach(callback) {
68
68
  return (arg) => {
69
69
  const argArray = Array.isArray(arg) ? arg : [arg];
@@ -80,7 +80,13 @@ export default class MavenGenerator extends BaseApplicationGenerator {
80
80
  source.addMavenPluginManagement = createForEach(plugin => this.pomStorage.addPluginManagement(plugin));
81
81
  source.addMavenPluginRepository = createForEach(repository => this.pomStorage.addPluginRepository(repository));
82
82
  source.addMavenProfile = createForEach(profile => this.pomStorage.addProfile(profile));
83
- source.addMavenProperty = createForEach(property => this.pomStorage.addProperty(property));
83
+ source.addMavenProperty = properties => {
84
+ properties = Array.isArray(properties) ? properties : [properties];
85
+ for (const property of properties) {
86
+ javaProperties[property.property] = property.value;
87
+ this.pomStorage.addProperty(property);
88
+ }
89
+ };
84
90
  source.addMavenRepository = createForEach(repository => this.pomStorage.addRepository(repository));
85
91
  source.addMavenDefinition = definition => {
86
92
  // profiles should be added first due to inProfile
@@ -92,7 +98,9 @@ export default class MavenGenerator extends BaseApplicationGenerator {
92
98
  definition.distributionManagement?.forEach(distribution => this.pomStorage.addDistributionManagement(distribution));
93
99
  definition.plugins?.forEach(plugin => this.pomStorage.addPlugin(plugin));
94
100
  definition.pluginRepositories?.forEach(repository => this.pomStorage.addPluginRepository(repository));
95
- definition.properties?.forEach(property => this.pomStorage.addProperty(property));
101
+ if (definition.properties) {
102
+ source.addMavenProperty(definition.properties);
103
+ }
96
104
  definition.repositories?.forEach(repository => this.pomStorage.addRepository(repository));
97
105
  definition.annotationProcessors?.forEach(annotation => this.pomStorage.addAnnotationProcessor(annotation));
98
106
  };
@@ -0,0 +1,5 @@
1
+ const command = {
2
+ configs: {},
3
+ import: [],
4
+ };
5
+ export default command;