generator-jhipster 7.4.1 → 7.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/generators/app/index.js +11 -1
  2. package/generators/cleanup.js +27 -171
  3. package/generators/client/files-angular.js +6 -1
  4. package/generators/client/files-vue.js +5 -1
  5. package/generators/client/index.js +2 -1
  6. package/generators/client/templates/angular/angular.json.ejs +5 -0
  7. package/generators/client/templates/angular/jest.conf.js.ejs +2 -0
  8. package/generators/client/templates/angular/package.json +24 -24
  9. package/generators/client/templates/angular/package.json.ejs +3 -1
  10. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.ts.ejs +4 -4
  11. package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +1 -1
  12. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.ts.ejs +4 -4
  13. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +4 -4
  14. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.spec.ts.ejs +10 -9
  15. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.ts.ejs +1 -1
  16. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +8 -6
  17. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.ts.ejs +4 -4
  18. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +4 -4
  19. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +4 -4
  20. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +8 -8
  21. package/generators/client/templates/angular/src/main/webapp/app/app-routing.module.ts.ejs +14 -3
  22. package/generators/client/templates/angular/src/main/webapp/app/app.module.ts.ejs +8 -29
  23. package/generators/client/templates/angular/src/main/webapp/app/config/datepicker-adapter.ts.ejs +1 -1
  24. package/generators/client/templates/angular/src/main/webapp/app/config/dayjs.ts.ejs +4 -4
  25. package/generators/client/templates/angular/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +14 -9
  26. package/generators/client/templates/angular/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +6 -6
  27. package/generators/client/templates/angular/src/main/webapp/app/core/util/parse-links.service.ts.ejs +1 -1
  28. package/generators/client/templates/angular/src/main/webapp/app/entities/entity-navbar-items.ts.ejs +29 -0
  29. package/generators/client/templates/angular/src/main/webapp/app/home/home.component.spec.ts.ejs +14 -4
  30. package/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.ts.ejs +1 -1
  31. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +20 -0
  32. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +10 -4
  33. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs +41 -2
  34. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.spec.ts.ejs +3 -2
  35. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.ts.ejs +4 -4
  36. package/generators/client/templates/angular/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +4 -4
  37. package/generators/client/templates/angular/src/main/webapp/app/shared/date/duration.pipe.ts.ejs +1 -1
  38. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-date.pipe.spec.ts.ejs +1 -1
  39. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-date.pipe.ts.ejs +1 -1
  40. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-datetime.pipe.spec.ts.ejs +1 -1
  41. package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-datetime.pipe.ts.ejs +1 -1
  42. package/generators/client/templates/angular/src/main/webapp/app/shared/language/translate.directive.ts.ejs +6 -6
  43. package/generators/client/templates/angular/src/main/webapp/app/shared/language/translation.module.ts.ejs +83 -0
  44. package/generators/client/templates/angular/src/main/webapp/declarations.d.ts.ejs +16 -2
  45. package/generators/client/templates/angular/tsconfig.json.ejs +2 -0
  46. package/generators/client/templates/angular/tsconfig.spec.json.ejs +0 -1
  47. package/generators/client/templates/angular/webpack/proxy.conf.js.ejs +0 -2
  48. package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +0 -16
  49. package/generators/client/templates/angular/webpack/webpack.microfrontend.js.ejs +12 -5
  50. package/generators/client/templates/common/package.json +2 -2
  51. package/generators/client/templates/common/src/main/webapp/robots.txt.ejs +0 -1
  52. package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +86 -56
  53. package/generators/client/templates/react/package.json +27 -27
  54. package/generators/client/templates/react/package.json.ejs +2 -0
  55. package/generators/client/templates/react/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +3 -2
  56. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.scss.ejs +9 -0
  57. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.tsx.ejs +1 -1
  58. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/authentication.spec.ts.ejs +1 -1
  59. package/generators/client/templates/react/webpack/webpack.dev.js.ejs +0 -2
  60. package/generators/client/templates/vue/package.json +22 -22
  61. package/generators/client/templates/vue/package.json.ejs +3 -3
  62. package/generators/client/templates/vue/src/main/webapp/app/account/account.service.ts.ejs +19 -9
  63. package/generators/client/templates/vue/src/main/webapp/app/entities/entities.component.ts.ejs +6 -0
  64. package/generators/client/templates/vue/src/main/webapp/app/entities/user/{user.oauth2.service.ts.ejs → user.service.ts.ejs} +1 -1
  65. package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +0 -8
  66. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-edit.component.spec.ts.ejs +4 -4
  67. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management.component.spec.ts.ejs +2 -2
  68. package/generators/client/templates/vue/webpack/webpack.common.js.ejs +0 -2
  69. package/generators/common/templates/README.md.jhi.ejs +1 -3
  70. package/generators/common/templates/package.json +3 -3
  71. package/generators/cypress/templates/cypress.json.ejs +9 -2
  72. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/login-page.spec.ts.ejs +3 -14
  73. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/password-page.spec.ts.ejs +33 -39
  74. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/register-page.spec.ts.ejs +52 -62
  75. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/reset-password-page.spec.ts.ejs +2 -10
  76. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/settings-page.spec.ts.ejs +25 -34
  77. package/generators/cypress/templates/src/test/javascript/cypress/integration/administration/administration.spec.ts.ejs +1 -22
  78. package/generators/cypress/templates/src/test/javascript/cypress/support/commands.ts.ejs +38 -6
  79. package/generators/cypress/templates/src/test/javascript/cypress/support/index.ts.ejs +1 -6
  80. package/generators/cypress/templates/src/test/javascript/cypress/support/navbar.ts.ejs +7 -7
  81. package/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +0 -9
  82. package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +1 -1
  83. package/generators/entity/index.js +45 -3
  84. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.spec.ts.ejs +1 -1
  85. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +1 -1
  86. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs +1 -35
  87. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.model.ts.ejs +1 -1
  88. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +4 -4
  89. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +8 -8
  90. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +1 -1
  91. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/infinite-scroll-template.ejs +8 -8
  92. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/no-pagination-template.ejs +8 -8
  93. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/pagination-template.ejs +8 -8
  94. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +15 -6
  95. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +1 -1
  96. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.ts.ejs +1 -1
  97. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.spec.ts.ejs +12 -5
  98. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +5 -5
  99. package/generators/entity-client/templates/angular/src/test/javascript/e2e/entities/entity.spec.ts.ejs +1 -1
  100. package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +14 -37
  101. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.reducer.ts.ejs +5 -4
  102. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.component.ts.ejs +23 -19
  103. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity-update.component.spec.ts.ejs +4 -6
  104. package/generators/entity-server/files.js +10 -0
  105. package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +2 -2
  106. package/generators/entity-server/templates/src/main/java/package/common/search_template.ejs +1 -1
  107. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +5 -8
  108. package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +18 -2
  109. package/generators/entity-server/templates/src/main/java/package/repository/search/SortToFieldSortBuilderConverter.java.ejs +24 -0
  110. package/generators/entity-server/templates/src/main/java/package/service/dto/EntityDTO.java.ejs +4 -6
  111. package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +2 -2
  112. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +2 -2
  113. package/generators/generator-base-private.js +2 -1
  114. package/generators/generator-base.js +13 -3
  115. package/generators/generator-constants.js +7 -7
  116. package/generators/server/__snapshots__/generator.spec.mjs.snap +16 -15
  117. package/generators/server/cleanup.js +151 -0
  118. package/generators/server/files.js +16 -14
  119. package/generators/server/index.js +34 -23
  120. package/generators/server/templates/build.gradle.ejs +214 -188
  121. package/generators/server/templates/gradle.properties.ejs +8 -8
  122. package/generators/server/templates/npmw +7 -5
  123. package/generators/server/templates/npmw.cmd +12 -7
  124. package/generators/server/templates/pom.xml.ejs +419 -329
  125. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +2 -2
  126. package/generators/server/templates/src/main/java/package/config/LocaleConfiguration.java.ejs +3 -2
  127. package/generators/server/templates/src/main/java/package/config/OpenApiConfiguration.java.ejs +17 -54
  128. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +5 -5
  129. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +3 -5
  130. package/generators/server/templates/src/main/java/package/config/WebConfigurer.java.ejs +0 -2
  131. package/generators/server/templates/src/main/java/package/config/neo4j/Neo4jMigrations.java.ejs +19 -9
  132. package/generators/server/templates/src/main/java/package/repository/AuthorityRepository.java.ejs +2 -2
  133. package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +0 -2
  134. package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +6 -4
  135. package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +2 -2
  136. package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +3 -3
  137. package/generators/server/templates/src/main/java/package/service/dto/UserDTO.java.ejs +6 -6
  138. package/generators/server/templates/src/main/java/package/web/filter/ModifyServersOpenApiFilter.java.ejs +3 -2
  139. package/generators/server/templates/src/main/java/package/web/filter/SpaWebFilter.java.ejs +1 -1
  140. package/generators/server/templates/src/main/java/package/web/rest/PublicUserResource.java.ejs +2 -2
  141. package/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +2 -2
  142. package/generators/server/templates/src/main/resources/config/application.yml.ejs +17 -3
  143. package/generators/server/templates/src/main/resources/logback-spring.xml.ejs +1 -2
  144. package/generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs +2 -6
  145. package/generators/server/templates/src/test/java/package/cucumber/CucumberTestContextConfiguration.java.ejs +2 -3
  146. package/generators/server/templates/src/test/java/package/cucumber/stepdefs/UserStepDefs.java.ejs +41 -6
  147. package/generators/server/templates/src/test/java/package/management/SecurityMetersServiceTests.java.ejs +7 -7
  148. package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderSecurityMetersTests.java.ejs +10 -10
  149. package/generators/server/templates/src/test/java/package/security/oauth2/AuthorizationHeaderUtilTest.java.ejs +1 -1
  150. package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +1 -1
  151. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +2 -3
  152. package/generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerTest.java.ejs +9 -0
  153. package/generators/server/templates/src/test/resources/junit-platform.properties.ejs +2 -0
  154. package/generators/server/templates/src/test/resources/logback.xml.ejs +1 -1
  155. package/generators/server/templates/src/test/{features → resources/package/features}/gitkeep +0 -0
  156. package/generators/server/templates/src/test/{features → resources/package/features}/user/user.feature.ejs +0 -0
  157. package/generators/spring-controller/templates/src/test/java/package/web/rest/ResourceIT.java.ejs +1 -1
  158. package/package.json +9 -9
  159. package/utils/entity.js +1 -5
  160. package/generators/server/templates/src/main/java/package/config/apidocs/GatewaySwaggerResourcesProvider.java.ejs +0 -91
  161. package/generators/server/templates/src/test/java/package/config/apidocs/GatewaySwaggerResourcesProviderTest.java.ejs +0 -79
  162. package/generators/server/templates/src/test/resources/cucumber.properties.ejs +0 -1
@@ -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
  }
@@ -158,13 +158,13 @@ task integrationTest(type: Test) {
158
158
  events 'FAILED', 'SKIPPED'
159
159
  }
160
160
  jvmArgs += '-Djava.security.egd=file:/dev/./urandom -Xmx256m'
161
- <%_ if (databaseType === 'sql') { _%>
161
+ <%_ if (databaseTypeSql) { _%>
162
162
  if (project.hasProperty('testcontainers')) {
163
- <%_ if (!reactive) { _%>
163
+ <%_ if (!reactive) { _%>
164
164
  environment 'spring.profiles.active', 'testcontainers'
165
- <%_ } else { _%>
165
+ <%_ } else { _%>
166
166
  environment 'SPRING_PROFILES_ACTIVE', 'testcontainers'
167
- <%_ } _%>
167
+ <%_ } _%>
168
168
  }
169
169
  <%_ } _%>
170
170
 
@@ -183,7 +183,19 @@ task integrationTest(type: Test) {
183
183
  }
184
184
  <%_ if (cucumberTests) { _%>
185
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
+
186
197
  task cucumberTest(type: Test) {
198
+ dependsOn(consoleLauncherTest)
187
199
  description = "Execute cucumber BDD tests."
188
200
  group = "verification"
189
201
  include "**/*CucumberIT*"
@@ -215,7 +227,7 @@ task cucumberTestReport(type: TestReport) {
215
227
  }
216
228
 
217
229
  <%_ } _%>
218
- <%_ if (databaseType === 'sql' && !reactive) { _%>
230
+ <%_ if (databaseTypeSql && !reactive) { _%>
219
231
  if (!project.hasProperty("runList")) {
220
232
  project.ext.runList = "main"
221
233
  }
@@ -225,28 +237,28 @@ project.ext.diffChangelogFile = "<%= SERVER_MAIN_RES_DIR %>config/liquibase/chan
225
237
  liquibase {
226
238
  activities {
227
239
  main {
228
- 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<% } %>"
229
- 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}) %><% } %>"
230
- username "<% if (devDatabaseType === 'mysql') { %>root<% } else if (devDatabaseType === 'postgresql' || devDatabaseType === 'h2Disk' || devDatabaseType === 'h2Memory') { %><%= baseName %><% } else if (devDatabaseType === 'mssql') { %>SA<% } %>"
231
- 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<% } %>"
232
244
  changeLogFile "<%= SERVER_MAIN_RES_DIR %>config/liquibase/master.xml"
233
- defaultSchemaName "<% if (devDatabaseType === 'mysql') { %><%= baseName %><% } else if (devDatabaseType === 'postgresql') { %><% } %>"
245
+ defaultSchemaName "<% if (devDatabaseTypeMysql) { %><%= baseName %><% } else if (devDatabaseTypePostgres) { %><% } %>"
234
246
  logLevel "debug"
235
247
  classpath "<%= SERVER_MAIN_RES_DIR %>"
236
248
  }
237
249
  diffLog {
238
- 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<% } %>"
239
- 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}) %><% } %>"
240
- username "<% if (devDatabaseType === 'mysql') { %>root<% } else if (devDatabaseType === 'postgresql' || devDatabaseType === 'h2Disk' || devDatabaseType === 'h2Memory') { %><%= baseName %><% } else if (devDatabaseType === 'mssql') { %>SA<% } %>"
241
- 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<% } %>"
242
254
  changeLogFile project.ext.diffChangelogFile
243
- 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"
244
- 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) { %><% } %>"
245
257
  logLevel "debug"
246
258
  classpath "$buildDir/classes/java/main"
247
- <%_ if (authenticationType === 'oauth2') { _%>
259
+ <%_ if (authenticationTypeOauth2) { _%>
248
260
  excludeObjects "oauth_access_token, oauth_approvals, oauth_client_details, oauth_client_token, oauth_code, oauth_refresh_token"
249
- <%_ } _%>
261
+ <%_ } _%>
250
262
  }
251
263
  }
252
264
 
@@ -281,7 +293,8 @@ configurations {
281
293
  }
282
294
 
283
295
  repositories {
284
- 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()
285
298
  mavenCentral()
286
299
  <%_ if (SPRING_BOOT_VERSION.indexOf('M') > -1 || SPRING_BOOT_VERSION.indexOf('RC') > -1) { _%>
287
300
  maven { url 'https://repo.spring.io/milestone' }
@@ -308,122 +321,122 @@ dependencies {
308
321
  implementation group: "tech.jhipster", name: "jhipster-framework"<% if (reactive) { %>, {
309
322
  exclude group: "org.springframework", module: "spring-webmvc"
310
323
  }<% } %>
311
- <%_ // This is useful for major Spring Boot migration
312
- 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) { _%>
313
326
  runtime "org.springframework.boot:spring-boot-properties-migrator"
314
- <%_ } _%>
327
+ <%_ } _%>
315
328
  implementation "javax.annotation:javax.annotation-api"
316
- <%_ if (cacheProvider !== 'no') { _%>
329
+ <%_ if (!cacheProviderNo) { _%>
317
330
  implementation "org.springframework.boot:spring-boot-starter-cache"
318
- <%_ } _%>
331
+ <%_ } _%>
319
332
  implementation "io.dropwizard.metrics:metrics-core"
320
333
  implementation "io.micrometer:micrometer-registry-prometheus"
321
334
  implementation "com.fasterxml.jackson.datatype:jackson-datatype-hppc"
322
335
  implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310"
323
- <%_ if (databaseType === 'sql') { _%>
336
+ <%_ if (databaseTypeSql) { _%>
324
337
  implementation "com.fasterxml.jackson.module:jackson-module-jaxb-annotations"
325
- <%_ if (!reactive) { _%>
338
+ <%_ if (!reactive) { _%>
326
339
  implementation "com.fasterxml.jackson.datatype:jackson-datatype-hibernate5"
327
- <%_ } _%>
328
- <%_ } _%>
340
+ <%_ } _%>
341
+ <%_ } _%>
329
342
  implementation "com.fasterxml.jackson.core:jackson-annotations"
330
343
  implementation "com.fasterxml.jackson.core:jackson-databind"
331
- <%_ if (cacheProvider === 'hazelcast') { _%>
344
+ <%_ if (cacheProviderHazelcast) { _%>
332
345
  implementation "com.hazelcast:hazelcast"
333
- <%_ } _%>
334
- <%_ if (cacheProvider === 'hazelcast' && enableHibernateCache) { _%>
346
+ <%_ } _%>
347
+ <%_ if (cacheProviderHazelcast && enableHibernateCache) { _%>
335
348
  implementation "com.hazelcast:hazelcast-hibernate53"
336
- <%_ } _%>
337
- <%_ if (cacheProvider === 'hazelcast') { _%>
349
+ <%_ } _%>
350
+ <%_ if (cacheProviderHazelcast) { _%>
338
351
  implementation "com.hazelcast:hazelcast-spring"
339
- <%_ } _%>
340
- <%_ if (cacheProvider === 'infinispan') { _%>
352
+ <%_ } _%>
353
+ <%_ if (cacheProviderInfinispan) { _%>
341
354
  implementation "org.infinispan:infinispan-hibernate-cache-v53"
342
355
  implementation "org.infinispan:infinispan-spring-boot-starter-embedded"
343
356
  implementation "org.infinispan:infinispan-core"
344
357
  implementation "org.infinispan:infinispan-jcache"
345
- <%_ } _%>
346
- <%_ if (cacheProvider === 'memcached') { _%>
358
+ <%_ } _%>
359
+ <%_ if (cacheProviderMemcached) { _%>
347
360
  implementation "com.google.code.simple-spring-memcached:spring-cache"
348
361
  implementation "com.google.code.simple-spring-memcached:xmemcached-provider"
349
362
  implementation "com.googlecode.xmemcached:xmemcached"
350
- <%_ } _%>
351
- <%_ if (cacheProvider === 'redis') { _%>
363
+ <%_ } _%>
364
+ <%_ if (cacheProviderRedis) { _%>
352
365
  implementation "org.redisson:redisson"
353
- <%_ if (enableHibernateCache) { _%>
366
+ <%_ if (enableHibernateCache) { _%>
354
367
  implementation "org.hibernate:hibernate-jcache"
355
- <%_ } _%>
356
- <%_ } _%>
357
- <%_ if (['ehcache', 'caffeine', 'hazelcast', 'infinispan', 'redis'].includes(cacheProvider) || applicationType === 'gateway') { _%>
368
+ <%_ } _%>
369
+ <%_ } _%>
370
+ <%_ if (cacheProviderEhCache || cacheProviderCaffeine || cacheProviderHazelcast || cacheProviderInfinispan || cacheProviderMemcached) { _%>
358
371
  implementation "javax.cache:cache-api"
359
- <%_ } _%>
360
- <%_ if (databaseType === 'sql') { _%>
372
+ <%_ } _%>
373
+ <%_ if (databaseTypeSql) { _%>
361
374
  implementation "org.hibernate:hibernate-core"
362
375
  implementation "com.zaxxer:HikariCP"
363
- <%_ if (reactive) { _%>
376
+ <%_ if (reactive) { _%>
364
377
  implementation "commons-beanutils:commons-beanutils:${commonsBeanutilsVersion}"
365
- <%_ } _%>
366
- <%_ } _%>
378
+ <%_ } _%>
379
+ <%_ } _%>
367
380
  implementation "org.apache.commons:commons-lang3"
368
- <%_ if (databaseType === 'cassandra' || databaseType === 'couchbase' || applicationType === 'gateway') { _%>
381
+ <%_ if (databaseTypeCassandra || databaseTypeCouchbase) { _%>
369
382
  implementation "commons-codec:commons-codec"
370
- <%_ } _%>
371
- <%_ if (enableSwaggerCodegen) { _%>
383
+ <%_ } _%>
384
+ <%_ if (enableSwaggerCodegen) { _%>
372
385
  implementation "org.openapitools:jackson-databind-nullable:${jacksonDatabindNullableVersion}"
373
- <%_ } _%>
386
+ <%_ } _%>
374
387
  implementation "javax.transaction:javax.transaction-api"
375
- <%_ if (databaseType === 'cassandra') { _%>
388
+ <%_ if (databaseTypeCassandra) { _%>
376
389
  implementation "org.lz4:lz4-java"
377
- <%_ } _%>
378
- <%_ if (cacheProvider === 'ehcache') { _%>
390
+ <%_ } _%>
391
+ <%_ if (cacheProviderEhCache) { _%>
379
392
  implementation "org.ehcache:ehcache"
380
- <%_ if (enableHibernateCache) { _%>
393
+ <%_ if (enableHibernateCache) { _%>
381
394
  implementation "org.hibernate:hibernate-jcache"
382
- <%_ } _%>
383
- <%_ } _%>
384
- <%_ if (cacheProvider === 'caffeine') { _%>
395
+ <%_ } _%>
396
+ <%_ } _%>
397
+ <%_ if (cacheProviderCaffeine) { _%>
385
398
  implementation "com.github.ben-manes.caffeine:caffeine:${caffeineVersion}"
386
399
  implementation "com.github.ben-manes.caffeine:jcache:${caffeineVersion}"
387
400
  implementation "com.typesafe:config:${typesafeConfigVersion}"
388
- <%_ if (enableHibernateCache) { _%>
401
+ <%_ if (enableHibernateCache) { _%>
389
402
  implementation "org.hibernate:hibernate-jcache"
390
- <%_ } _%>
391
- <%_ } _%>
392
- <%_ if (databaseType === 'sql') { _%>
393
- <%_ if (!reactive) { _%>
403
+ <%_ } _%>
404
+ <%_ } _%>
405
+ <%_ if (databaseTypeSql) { _%>
406
+ <%_ if (!reactive) { _%>
394
407
  implementation "org.hibernate:hibernate-entitymanager"
395
- <%_ } _%>
408
+ <%_ } _%>
396
409
  implementation "org.hibernate.validator:hibernate-validator"
397
410
  implementation "org.liquibase:liquibase-core"
398
- <%_ if (!reactive) { _%>
411
+ <%_ if (!reactive) { _%>
399
412
  liquibaseRuntime "org.liquibase:liquibase-core"
400
413
  liquibaseRuntime "org.liquibase.ext:liquibase-hibernate5:${liquibaseHibernate5Version}"
401
414
  liquibaseRuntime sourceSets.main.compileClasspath
402
- <%_ } _%>
403
- <%_ } _%>
415
+ <%_ } _%>
416
+ <%_ } _%>
404
417
  implementation "org.springframework.boot:spring-boot-loader-tools"
405
418
  implementation "org.springframework.boot:spring-boot-starter-mail"
406
419
  implementation "org.springframework.boot:spring-boot-starter-logging"
407
420
  implementation "org.springframework.boot:spring-boot-starter-actuator"
408
- <%_ if (databaseType === 'sql') { _%>
409
- <%_ if (!reactive) { _%>
421
+ <%_ if (databaseTypeSql) { _%>
422
+ <%_ if (!reactive) { _%>
410
423
  implementation "org.springframework.boot:spring-boot-starter-data-jpa"
411
- <%_ } else { _%>
424
+ <%_ } else { _%>
412
425
  implementation "org.springframework.boot:spring-boot-starter-data-r2dbc"
413
- <%_ } _%>
414
- <%_ } _%>
415
- <%_ if (searchEngine === 'elasticsearch') { _%>
426
+ <%_ } _%>
427
+ <%_ } _%>
428
+ <%_ if (searchEngineElasticsearch) { _%>
416
429
  implementation "org.springframework.boot:spring-boot-starter-data-elasticsearch"
417
- <%_ } _%>
418
- <%_ if (['mongodb', 'cassandra', 'couchbase'].includes(databaseType)) { _%>
430
+ <%_ } _%>
431
+ <%_ if (databaseTypeMongodb || databaseTypeCassandra || databaseTypeCouchbase) { _%>
419
432
  implementation "org.springframework.boot:spring-boot-starter-data-<%= databaseType %><% if (reactive) { %>-reactive<% } %>"
420
- <%_ } _%>
421
- <%_ if (databaseType === 'mongodb' && reactive) { _%>
433
+ <%_ } _%>
434
+ <%_ if (databaseTypeMongodb && reactive) { _%>
422
435
  // Mongock doesn't support reactive yet, so this dependency is necessary.
423
436
  // See https://github.com/jhipster/generator-jhipster/pull/12536#issuecomment-696683592 for more information.
424
437
  implementation "org.springframework.boot:spring-boot-starter-data-mongodb"
425
- <%_ } _%>
426
- <%_ if (databaseType === 'neo4j') { _%>
438
+ <%_ } _%>
439
+ <%_ if (databaseTypeNeo4j) { _%>
427
440
  implementation "org.springframework.boot:spring-boot-starter-data-neo4j"
428
441
  implementation "eu.michael-simons.neo4j:neo4j-migrations-spring-boot-starter"
429
442
  // This is done here explicitly as dependency resolution seems to have changed recently such that the validation starter
@@ -431,97 +444,97 @@ dependencies {
431
444
  implementation "org.springframework.boot:spring-boot-starter-validation"
432
445
  testImplementation "org.testcontainers:neo4j"
433
446
  testImplementation 'org.testcontainers:junit-jupiter'
434
- <%_ } _%>
435
- <%_ if (prodDatabaseType === 'mysql') { _%>
447
+ <%_ } _%>
448
+ <%_ if (prodDatabaseTypeMysql) { _%>
436
449
  testImplementation "org.testcontainers:mysql"
437
- <%_ } _%>
438
- <%_ if (prodDatabaseType === 'mariadb') { _%>
450
+ <%_ } _%>
451
+ <%_ if (prodDatabaseTypeMariadb) { _%>
439
452
  testImplementation "org.testcontainers:mariadb"
440
- <%_ } _%>
441
- <%_ if (prodDatabaseType === 'postgresql') { _%>
453
+ <%_ } _%>
454
+ <%_ if (prodDatabaseTypePostgres) { _%>
442
455
  testImplementation "org.testcontainers:postgresql"
443
- <%_ } _%>
444
- <%_ if (prodDatabaseType === 'mssql') { _%>
456
+ <%_ } _%>
457
+ <%_ if (prodDatabaseTypeMssql) { _%>
445
458
  testImplementation "org.testcontainers:mssqlserver"
446
- <%_ } _%>
447
- <%_ if (prodDatabaseType === 'oracle' && !reactive) { _%>
459
+ <%_ } _%>
460
+ <%_ if (prodDatabaseTypeOracle && !reactive) { _%>
448
461
  testImplementation "org.testcontainers:oracle-xe"
449
- <%_ } _%>
450
- <%_ if (messageBroker === 'kafka') { _%>
451
- <%_ if (!reactive) { _%>
462
+ <%_ } _%>
463
+ <%_ if (messageBrokerKafka) { _%>
464
+ <%_ if (!reactive) { _%>
452
465
  implementation "org.apache.kafka:kafka-clients"
453
- <%_ } else { _%>
466
+ <%_ } else { _%>
454
467
  implementation "io.projectreactor.kafka:reactor-kafka"
455
- <%_ } _%>
456
- <%_ } _%>
468
+ <%_ } _%>
469
+ <%_ } _%>
457
470
  implementation "org.springframework.boot:spring-boot-starter-security"
458
471
  implementation ("org.springframework.boot:spring-boot-starter-web<% if (reactive) { %>flux<% } %>") {
459
472
  exclude module: "spring-boot-starter-tomcat"
460
473
  }
461
- <%_ if (!reactive) { _%>
474
+ <%_ if (!reactive) { _%>
462
475
  implementation "org.springframework.boot:spring-boot-starter-undertow"
463
- <%_ } _%>
464
- <%_ if (reactive) { _%>
476
+ <%_ } _%>
477
+ <%_ if (reactive) { _%>
465
478
  implementation "org.springframework.boot:spring-boot-starter-validation"
466
479
  implementation "io.netty:netty-tcnative-boringssl-static"
467
- <%_ } _%>
468
- <%_ if (websocket === 'spring-websocket') { _%>
480
+ <%_ } _%>
481
+ <%_ if (communicationSpringWebsocket) { _%>
469
482
  implementation "org.springframework.boot:spring-boot-starter-websocket"
470
- <%_ } _%>
483
+ <%_ } _%>
471
484
  implementation "org.springframework.boot:spring-boot-starter-thymeleaf"
472
485
  implementation "org.zalando:problem-spring-web<% if (reactive) { %>flux<% } %>"
473
- <%_ if (databaseType === 'cassandra') { _%>
486
+ <%_ if (databaseTypeCassandra) { _%>
474
487
  implementation "com.datastax.oss:java-driver-mapper-runtime"
475
- <%_ } _%>
476
- <%_ if (applicationType === 'gateway') { _%>
488
+ <%_ } _%>
489
+ <%_ if (applicationTypeGateway) { _%>
477
490
  implementation "org.springframework.cloud:spring-cloud-starter-gateway"
478
491
  implementation "com.github.vladimir-bukhtoyarov:bucket4j-core"
479
492
  implementation "com.github.vladimir-bukhtoyarov:bucket4j-jcache"
480
- <%_ } _%>
481
- <%_ if (applicationType === 'microservice' || applicationType === 'gateway') { _%>
493
+ <%_ } _%>
494
+ <%_ if (applicationTypeMicroservice || applicationTypeGateway) { _%>
482
495
  implementation "org.springframework.cloud:spring-cloud-starter"
483
- <%_ if (reactive) { _%>
496
+ <%_ if (reactive) { _%>
484
497
  implementation "org.springframework.cloud:spring-cloud-starter-circuitbreaker-reactor-resilience4j"
485
- <%_ } else { _%>
498
+ <%_ } else { _%>
486
499
  implementation "org.springframework.cloud:spring-cloud-starter-circuitbreaker-resilience4j"
487
- <%_ } _%>
500
+ <%_ } _%>
488
501
  implementation "org.springframework.retry:spring-retry"
489
- <%_ } _%>
490
- <%_ if (serviceDiscoveryType) { _%>
502
+ <%_ } _%>
503
+ <%_ if (serviceDiscoveryType) { _%>
491
504
  implementation "org.springframework.cloud:spring-cloud-starter-bootstrap"
492
- <%_ } _%>
493
- <%_ if (serviceDiscoveryType === 'eureka') { _%>
505
+ <%_ if (serviceDiscoveryEureka) { _%>
494
506
  implementation "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client"
495
507
  implementation "org.springframework.cloud:spring-cloud-starter-config"
496
- <%_ } _%>
497
- <%_ if (serviceDiscoveryType === 'consul') { _%>
508
+ <%_ } _%>
509
+ <%_ if (serviceDiscoveryConsul) { _%>
498
510
  implementation "org.springframework.cloud:spring-cloud-starter-consul-discovery"
499
511
  implementation "org.springframework.cloud:spring-cloud-starter-consul-config"
500
- <%_ } _%>
501
- <%_ if (applicationType === 'gateway' && authenticationType === 'oauth2' && reactive) { _%>
512
+ <%_ } _%>
513
+ <%_ } _%>
514
+ <%_ if (applicationTypeGateway && authenticationTypeOauth2 && reactive) { _%>
502
515
  implementation "org.springframework.cloud:spring-cloud-starter-security"
503
- <%_ } _%>
504
- <%_ if (applicationType === 'microservice' || applicationType === 'gateway') { _%>
516
+ <%_ } _%>
517
+ <%_ if (applicationTypeMicroservice || applicationTypeGateway) { _%>
505
518
  implementation "org.springframework.cloud:spring-cloud-starter-openfeign"
506
- <%_ } _%>
507
- <%_ if (applicationTypeGateway || (applicationTypeMicroservice && reactive)) { _%>
519
+ <%_ } _%>
520
+ <%_ if (applicationTypeGateway || (applicationTypeMicroservice && reactive)) { _%>
508
521
  implementation "com.playtika.reactivefeign:feign-reactor-webclient"
509
522
  implementation "com.playtika.reactivefeign:feign-reactor-cloud"
510
523
  implementation "com.playtika.reactivefeign:feign-reactor-spring-configuration"
511
- <%_ } _%>
524
+ <%_ } _%>
512
525
  implementation "org.springframework.security:spring-security-config"
513
- <%_ 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 -%>
514
527
  implementation "org.springframework.security:spring-security-data"
515
- <%_ } _%>
528
+ <%_ } _%>
516
529
  implementation "org.springframework.security:spring-security-web"
517
- <%_ if (websocket === 'spring-websocket') { _%>
530
+ <%_ if (communicationSpringWebsocket) { _%>
518
531
  implementation "org.springframework.security:spring-security-messaging"
519
- <%_ } _%>
520
- <%_ if (authenticationType === 'oauth2') { _%>
532
+ <%_ } _%>
533
+ <%_ if (authenticationTypeOauth2) { _%>
521
534
  implementation "org.springframework.boot:spring-boot-starter-oauth2-client"
522
535
  implementation "org.springframework.boot:spring-boot-starter-oauth2-resource-server"
523
- <%_ } _%>
524
- <%_ if (authenticationType === 'jwt') { _%>
536
+ <%_ } _%>
537
+ <%_ if (authenticationTypeJwt) { _%>
525
538
  implementation "io.jsonwebtoken:jjwt-api"
526
539
  if (!project.hasProperty("gae")) {
527
540
  runtimeOnly "io.jsonwebtoken:jjwt-impl"
@@ -530,110 +543,110 @@ dependencies {
530
543
  implementation "io.jsonwebtoken:jjwt-impl"
531
544
  implementation "io.jsonwebtoken:jjwt-jackson"
532
545
  }
533
- <%_ } _%>
534
- <%_ if (databaseType === 'mongodb') { _%>
546
+ <%_ } _%>
547
+ <%_ if (databaseTypeMongodb) { _%>
535
548
  implementation "com.github.cloudyrock.mongock:mongock-spring-v5"
536
549
  implementation "com.github.cloudyrock.mongock:mongodb-springdata-v3-driver"
537
- <%_ } _%>
538
- <%_ if (databaseType === 'couchbase') { _%>
550
+ <%_ } _%>
551
+ <%_ if (databaseTypeCouchbase) { _%>
539
552
  implementation "com.github.differentway:couchmove"
540
553
  implementation "com.couchbase.client:java-client"
541
- <%_ } _%>
542
- implementation ("io.springfox:springfox-oas")
543
- implementation ("io.springfox:springfox-swagger2")
544
- implementation "io.springfox:springfox-bean-validators"
545
- <%_ if (prodDatabaseType === 'mysql') { _%>
554
+ <%_ } _%>
555
+ implementation ("org.springdoc:springdoc-openapi-webmvc-core")
556
+ <%_ if (prodDatabaseTypeMysql) { _%>
546
557
  implementation "mysql:mysql-connector-java"
547
- <%_ if (!reactive) { _%>
558
+ <%_ if (!reactive) { _%>
548
559
  liquibaseRuntime "mysql:mysql-connector-java"
549
- <%_ } else { _%>
560
+ <%_ } else { _%>
550
561
  implementation "dev.miku:r2dbc-mysql"
551
- <%_ } _%>
552
- <%_ } _%>
553
- <%_ if (prodDatabaseType === 'postgresql') { _%>
562
+ <%_ } _%>
563
+ <%_ } _%>
564
+ <%_ if (prodDatabaseTypePostgres) { _%>
554
565
  implementation "org.postgresql:postgresql"
555
- <%_ if (!reactive) { _%>
566
+ <%_ if (!reactive) { _%>
556
567
  liquibaseRuntime "org.postgresql:postgresql"
557
- <%_ } else { _%>
568
+ <%_ } else { _%>
558
569
  implementation "io.r2dbc:r2dbc-postgresql"
559
- <%_ } _%>
560
- <%_ } _%>
561
- <%_ if (prodDatabaseType === 'mariadb') { _%>
570
+ <%_ } _%>
571
+ <%_ } _%>
572
+ <%_ if (prodDatabaseTypeMariadb) { _%>
562
573
  implementation "org.mariadb.jdbc:mariadb-java-client"
563
- <%_ if (!reactive) { _%>
574
+ <%_ if (!reactive) { _%>
564
575
  liquibaseRuntime "org.mariadb.jdbc:mariadb-java-client"
565
- <%_ } else { _%>
576
+ <%_ } else { _%>
566
577
  implementation "org.mariadb:r2dbc-mariadb"
567
- <%_ } _%>
568
- <%_ } _%>
569
- <%_ if (prodDatabaseType === 'mssql') { _%>
578
+ <%_ } _%>
579
+ <%_ } _%>
580
+ <%_ if (prodDatabaseTypeMssql) { _%>
570
581
  implementation "com.microsoft.sqlserver:mssql-jdbc"
571
582
  implementation "org.liquibase.ext:liquibase-mssql:<%= LIQUIBASE_VERSION %>"
572
- <%_ if (reactive) { _%>
583
+ <%_ if (reactive) { _%>
573
584
  implementation "io.r2dbc:r2dbc-mssql"
574
- <%_ } _%>
585
+ <%_ } _%>
575
586
  liquibaseRuntime "com.microsoft.sqlserver:mssql-jdbc"
576
587
  liquibaseRuntime "org.liquibase.ext:liquibase-mssql:<%= LIQUIBASE_VERSION %>"
577
- <%_ } _%>
588
+ <%_ } _%>
578
589
  implementation "org.mapstruct:mapstruct:${mapstructVersion}"
579
590
  annotationProcessor "org.mapstruct:mapstruct-processor:${mapstructVersion}"
580
- <%_ if (databaseType === 'sql') { _%>
591
+ <%_ if (databaseTypeSql) { _%>
581
592
  annotationProcessor "org.hibernate:hibernate-jpamodelgen:${hibernateVersion}"
582
593
  annotationProcessor "org.glassfish.jaxb:jaxb-runtime:${jaxbRuntimeVersion}"
583
- <%_ } _%>
584
- <%_ if (databaseType === 'cassandra') { _%>
594
+ <%_ } _%>
595
+ <%_ if (databaseTypeCassandra) { _%>
585
596
  annotationProcessor "com.datastax.oss:java-driver-mapper-processor:${cassandraDriverVersion}"
586
- <%_ } _%>
597
+ <%_ } _%>
587
598
  annotationProcessor "org.springframework.boot:spring-boot-configuration-processor:${springBootVersion}"
588
- <%_ if (databaseType === 'cassandra') { _%>
599
+ <%_ if (databaseTypeCassandra) { _%>
589
600
  testImplementation ("org.cassandraunit:cassandra-unit-spring") {
590
601
  exclude(group: "org.slf4j")
591
602
  }
592
603
  testImplementation "org.testcontainers:database-commons"
593
- <%_ } _%>
594
- <%_ if (cucumberTests) { _%>
595
- 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"
596
608
  testImplementation "io.cucumber:cucumber-java"
597
609
  testImplementation "io.cucumber:cucumber-spring"
598
- <%_ } _%>
610
+ testImplementation "org.testng:testng"
611
+ <%_ } _%>
599
612
  testImplementation "org.springframework.boot:spring-boot-starter-test"
600
613
  testImplementation "org.springframework.security:spring-security-test"
601
614
  testImplementation "org.springframework.boot:spring-boot-test"
602
- <%_ if (reactive) { _%>
615
+ <%_ if (reactive) { _%>
603
616
  testImplementation "io.projectreactor.tools:blockhound-junit-platform:${blockhoundJunitPlatformVersion}"
604
617
  testRuntimeOnly 'org.junit.platform:junit-platform-launcher:${junitPlatformLauncherVersion}'
605
- <%_ } _%>
618
+ <%_ } _%>
606
619
  testImplementation "com.tngtech.archunit:archunit-junit5-api:${archunitJunit5Version}"
607
620
  testRuntimeOnly "com.tngtech.archunit:archunit-junit5-engine:${archunitJunit5Version}"
608
- <%_ if (databaseType === 'mongodb') { _%>
621
+ <%_ if (databaseTypeMongodb) { _%>
609
622
  testImplementation "de.flapdoodle.embed:de.flapdoodle.embed.mongo"
610
- <%_ } _%>
611
- <%_ if (databaseType === 'couchbase') { _%>
623
+ <%_ } _%>
624
+ <%_ if (databaseTypeCouchbase) { _%>
612
625
  testImplementation "org.testcontainers:couchbase"
613
- <%_ } _%>
614
- <%_ if (databaseType === 'sql') { _%>
626
+ <%_ } _%>
627
+ <%_ if (databaseTypeSql) { _%>
615
628
  testImplementation "com.h2database:h2"
616
- <%_ if (reactive) { _%>
629
+ <%_ if (reactive) { _%>
617
630
  testImplementation "io.r2dbc:r2dbc-h2"
618
- <%_ } _%>
619
- <%_ } _%>
620
- <%_ if (devDatabaseType === 'h2Disk' || devDatabaseType === 'h2Memory') { _%>
621
- <%_ if (!reactive) { _%>
631
+ <%_ } _%>
632
+ <%_ } _%>
633
+ <%_ if (devDatabaseTypeH2Any) { _%>
634
+ <%_ if (!reactive) { _%>
622
635
  liquibaseRuntime "com.h2database:h2"
623
- <%_ } else { _%>
636
+ <%_ } else { _%>
624
637
  implementation "io.r2dbc:r2dbc-h2"
625
- <%_ } _%>
626
- <%_ } _%>
627
- <%_ if (prodDatabaseType === 'oracle') { _%>
638
+ <%_ } _%>
639
+ <%_ } _%>
640
+ <%_ if (prodDatabaseTypeOracle) { _%>
628
641
  implementation "com.oracle.database.jdbc:ojdbc8"
629
642
  liquibaseRuntime "com.oracle.database.jdbc:ojdbc8"
630
- <%_ } _%>
631
- <%_ if (messageBroker === 'kafka') { _%>
643
+ <%_ } _%>
644
+ <%_ if (messageBrokerKafka) { _%>
632
645
  testImplementation "org.testcontainers:kafka"
633
- <%_ } _%>
634
- <%_ if (cacheProvider === 'redis') { %>
646
+ <%_ } _%>
647
+ <%_ if (cacheProviderRedis) { %>
635
648
  testImplementation "org.testcontainers:testcontainers"
636
- <%_ } _%>
649
+ <%_ } _%>
637
650
  developmentOnly "org.springframework.boot:spring-boot-devtools:${springBootVersion}"
638
651
  //jhipster-needle-gradle-dependency - JHipster will add additional dependencies here
639
652
  }
@@ -670,6 +683,19 @@ if (project.hasProperty("nodeInstall")) {
670
683
  npmVersion = "<%= NPM_VERSION %>"
671
684
  download = downloadNode
672
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 }
673
699
  }
674
700
  <%_ } _%>
675
701
  <%_ if (embeddableLaunchScript) { _%>