generator-jhipster 7.9.2 → 7.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/environment-builder.js +15 -1
- package/generators/app/index.js +12 -1
- package/generators/bootstrap/index.js +33 -1
- package/generators/ci-cd/templates/circle.yml.ejs +3 -13
- package/generators/client/files-angular.js +1 -1
- package/generators/client/files-react.js +5 -2
- package/generators/client/files-vue.js +3 -2
- package/generators/client/templates/angular/jest.conf.js.ejs +6 -3
- package/generators/client/templates/angular/package.json +18 -18
- package/generators/client/templates/angular/package.json.ejs +3 -7
- package/generators/client/templates/angular/src/main/webapp/app/admin/admin-routing.module.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.model.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +17 -15
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.model.ts.ejs +2 -2
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.route.ts.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/core/request/request-util.ts.ejs +4 -2
- package/generators/client/templates/angular/src/main/webapp/app/core/util/data-util.service.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/core/util/parse-links.service.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.html.ejs +8 -6
- package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.ts.ejs +6 -11
- package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.spec.ts.ejs +227 -25
- package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.ts.ejs +104 -43
- package/generators/client/templates/angular/src/main/webapp/content/scss/global.scss.ejs +8 -0
- package/generators/client/templates/angular/tsconfig.json.ejs +0 -1
- package/generators/client/templates/angular/tsconfig.spec.json.ejs +2 -3
- package/generators/client/templates/angular/webpack/webpack.microfrontend.js.ejs +0 -3
- package/generators/client/templates/common/package.json +4 -4
- package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +1 -1
- package/generators/client/templates/react/jest.conf.js.ejs +2 -2
- package/generators/client/templates/react/package.json +23 -23
- package/generators/client/templates/react/package.json.ejs +3 -7
- package/generators/client/templates/react/src/main/webapp/app/config/store.ts.ejs +0 -6
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/administration.reducer.spec.ts.ejs +7 -7
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/administration.reducer.ts.ejs +6 -6
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/index.tsx.ejs +2 -2
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/admin.tsx.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/authentication.spec.ts.ejs +17 -8
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/authentication.ts.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.spec.ts.ejs +176 -19
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.ts.ejs +46 -13
- package/generators/client/templates/react/webpack/webpack.microfrontend.js.jhi.react.ejs +1 -1
- package/generators/client/templates/vue/package.json +17 -17
- package/generators/client/templates/vue/package.json.ejs +3 -7
- package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +2 -1
- package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +1 -1
- package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +2 -2
- package/generators/client/templates/vue/src/main/webapp/app/router/admin.ts.ejs +2 -2
- package/generators/client/templates/vue/src/test/javascript/e2e/modules/administration/administration.spec.ts.ejs +1 -1
- package/generators/client/templates/vue/src/test/javascript/e2e/page-objects/administration-page.ts.ejs +1 -1
- package/generators/client/templates/vue/src/test/javascript/e2e/page-objects/navbar-page.ts.ejs +2 -2
- package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +5 -6
- package/generators/client/templates/vue/src/test/javascript/spec/app/account/account.service.spec.ts.ejs +4 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/shared/alert/alert.service.spec.ts.ejs +106 -3
- package/generators/client/templates/vue/src/test/javascript/spec/app/shared/config/axios-interceptor.spec.ts.ejs +12 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/shared/config/formatter.spec.ts.ejs +6 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/shared/sort/sorts.spec.ts.ejs +10 -0
- package/generators/client/templates/vue/webpack/webpack.common.js.ejs +1 -1
- package/generators/client/templates/vue/webpack/webpack.dev.js.ejs +2 -2
- package/generators/common/files.js +5 -4
- package/generators/common/templates/package.json +1 -1
- package/generators/common/templates/sonar-project.properties.ejs +19 -11
- package/generators/cypress/index.js +1 -1
- package/generators/docker-compose/templates/README-DOCKER-COMPOSE.md.ejs +3 -3
- package/generators/docker-compose/templates/docker-compose.yml.ejs +1 -1
- package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +32 -14
- package/generators/entity/index.js +4 -3
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +18 -6
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +23 -19
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +3 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.ts.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-form.service.ts.ejs +1 -1
- package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.component.ts.ejs +2 -2
- package/generators/entity-server/templates/src/main/java/package/common/delete_template.ejs +7 -3
- package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +2 -2
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +15 -5
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_persistable.ejs +8 -1
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +5 -0
- package/generators/entity-server/templates/src/main/java/package/service/EntityQueryService.java.ejs +4 -4
- package/generators/entity-server/templates/src/main/java/package/service/EntityService.java.ejs +6 -4
- package/generators/entity-server/templates/src/main/java/package/service/criteria/EntityCriteria.java.ejs +3 -26
- package/generators/entity-server/templates/src/main/java/package/service/dto/EntityDTO.java.ejs +1 -0
- package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +1 -1
- package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +33 -28
- package/generators/generate-blueprint/constants.mjs +46 -6
- package/generators/generate-blueprint/files.mjs +7 -5
- package/generators/generate-blueprint/generator.mjs +73 -19
- package/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +1 -1
- package/generators/generator-base-blueprint.js +23 -1
- package/generators/generator-base-entities.cjs +5 -1
- package/generators/generator-base.js +82 -15
- package/generators/generator-constants.js +17 -23
- package/generators/kubernetes/templates/deployment.yml.ejs +1 -1
- package/generators/kubernetes/templates/ingress.yml.ejs +1 -1
- package/generators/kubernetes/templates/istio/gateway.yml.ejs +1 -1
- package/generators/kubernetes/templates/kustomize/kustomization.yml.ejs +1 -1
- package/generators/kubernetes/templates/service.yml.ejs +1 -1
- package/generators/kubernetes-knative/templates/istio/gateway.yml.ejs +1 -1
- package/generators/kubernetes-knative/templates/service.yml.ejs +3 -3
- package/generators/languages/templates/src/main/webapp/i18n/al/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ar-ly/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/bg/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/bn/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/by/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ca/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/cs/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/da/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/de/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/el/activate.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/el/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/el/password.json +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/el/register.json +3 -3
- package/generators/languages/templates/src/main/webapp/i18n/el/tracker.json +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/el/user-management.json +9 -9
- package/generators/languages/templates/src/main/webapp/i18n/en/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/es/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/et/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/fa/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/fi/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/fr/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/gl/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/hi/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/hr/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/hu/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/hy/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/in/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/it/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ja/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ko/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/mr/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/my/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/nl/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/pa/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/pl/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/pt-br/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/pt-pt/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ro/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ru/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/si/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/sk/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/sr/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/sv/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ta/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/te/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/th/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/tr/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/ua/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/vi/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/zh-cn/health.json.ejs +1 -1
- package/generators/languages/templates/src/main/webapp/i18n/zh-tw/health.json.ejs +1 -1
- package/generators/openshift/templates/deployment.yml.ejs +2 -2
- package/generators/server/cleanup-elasticsearch.js +5 -0
- package/generators/server/files.js +17 -8
- package/generators/server/index.js +0 -2
- package/generators/server/templates/build.gradle.ejs +6 -14
- package/generators/server/templates/gradle/profile_dev.gradle.ejs +1 -1
- package/generators/server/templates/gradle/profile_prod.gradle.ejs +1 -1
- package/generators/server/templates/gradle.properties.ejs +6 -4
- package/generators/server/templates/npmw.cmd +31 -29
- package/generators/server/templates/package.json.ejs +2 -2
- package/generators/server/templates/pom.xml.ejs +12 -23
- package/generators/server/templates/sql/common/src/test/java/package/config/MsSqlTestContainer.java.ejs +2 -3
- package/generators/server/templates/src/main/docker/app.yml.ejs +7 -1
- package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +32 -14
- package/generators/server/templates/src/main/docker/jhipster-control-center.yml.ejs +1 -1
- package/generators/server/templates/src/main/docker/prometheus/prometheus.yml.ejs +1 -1
- package/generators/server/templates/src/main/java/package/Application.java.ejs +11 -4
- package/generators/server/templates/src/main/java/package/config/CRLFLogConverter.java.ejs +57 -0
- package/generators/server/templates/src/main/java/package/config/EurekaWorkaroundConfiguration.java.ejs +49 -0
- package/generators/server/templates/src/main/java/package/config/LoggingConfiguration.java.ejs +4 -4
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +17 -18
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +13 -5
- package/generators/server/templates/src/main/java/package/domain/AbstractAuditingEntity.java.ejs +5 -6
- package/generators/server/templates/src/main/java/package/domain/User.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +13 -6
- package/generators/server/templates/src/main/java/package/service/dto/AdminUserDTO.java.ejs +3 -1
- package/generators/server/templates/src/main/java/package/service/dto/PasswordChangeDTO.java.ejs +5 -1
- package/generators/server/templates/src/main/java/package/service/dto/UserDTO.java.ejs +3 -1
- package/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +15 -42
- package/generators/server/templates/src/main/java/package/web/rest/errors/BadRequestAlertException.java.ejs +1 -0
- package/generators/server/templates/src/main/java/package/web/rest/errors/EmailAlreadyUsedException.java.ejs +1 -0
- package/generators/server/templates/src/main/java/package/web/rest/errors/InvalidPasswordException.java.ejs +1 -0
- package/generators/server/templates/src/main/java/package/web/rest/errors/LoginAlreadyUsedException.java.ejs +1 -0
- package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +1 -1
- package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +2 -2
- package/generators/server/templates/src/main/resources/config/application.yml.ejs +4 -2
- package/generators/server/templates/src/main/resources/config/liquibase/master.xml.ejs +3 -8
- package/generators/server/templates/src/main/resources/logback-spring.xml.ejs +5 -0
- package/generators/server/templates/src/test/java/package/config/{ElasticsearchReactiveTestConfiguration.java.ejs → ElasticsearchTestConfiguration.java.ejs} +3 -3
- package/generators/server/templates/src/test/java/package/config/ElasticsearchTestContainer.java.ejs +1 -0
- package/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +3 -0
- package/generators/server/templates/src/test/java/package/config/TestContainersSpringContextCustomizerFactory.java.ejs +2 -2
- package/generators/sql-constants.js +5 -2
- package/generators/utils.js +43 -3
- package/generators/workspaces/index.js +2 -1
- package/jdl/exporters/jdl-exporter.js +6 -1
- package/jdl/jhipster/application-options.js +2 -1
- package/jdl/jhipster/binary-options.js +2 -2
- package/jdl/jhipster/default-application-options.js +11 -8
- package/jdl/jhipster/entity-options.js +1 -0
- package/jdl/jhipster/search-engine-types.js +1 -0
- package/lib/constants/priorities.cjs +16 -0
- package/lib/constants/priorities.mjs +1 -0
- package/lib/index.js +2 -0
- package/lib/support/base.cjs +2 -1
- package/package.json +7 -6
- package/utils/blueprint.js +10 -0
- package/utils/field.js +3 -1
- package/generators/client/templates/react/src/main/webapp/app/config/translation-middleware.ts.ejs +0 -58
- package/generators/server/templates/.npmrc.ejs +0 -1
|
@@ -1,29 +1,31 @@
|
|
|
1
|
-
@echo off
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
set NPMW_DIR=%~dp0
|
|
6
|
-
|
|
7
|
-
if exist "%NPMW_DIR
|
|
8
|
-
set NODE_EXE
|
|
9
|
-
set
|
|
10
|
-
set
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
set
|
|
14
|
-
set
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
call
|
|
29
|
-
)
|
|
1
|
+
@echo off
|
|
2
|
+
|
|
3
|
+
setlocal
|
|
4
|
+
|
|
5
|
+
set NPMW_DIR=%~dp0
|
|
6
|
+
|
|
7
|
+
if exist "%NPMW_DIR%mvnw.cmd" (
|
|
8
|
+
set NODE_EXE=^"^"
|
|
9
|
+
set NODE_PATH=%NPMW_DIR%target\node\
|
|
10
|
+
set NPM_EXE=^"%NPMW_DIR%target\node\npm.cmd^"
|
|
11
|
+
set INSTALL_NPM_COMMAND=^"%NPMW_DIR%mvnw.cmd^" -Pwebapp frontend:install-node-and-npm@install-node-and-npm
|
|
12
|
+
) else (
|
|
13
|
+
set NODE_EXE=^"%NPMW_DIR%build\node\bin\node.exe^"
|
|
14
|
+
set NODE_PATH=%NPMW_DIR%build\node\bin\
|
|
15
|
+
set NPM_EXE=^"%NPMW_DIR%build\node\lib\node_modules\npm\bin\npm-cli.js^"
|
|
16
|
+
set INSTALL_NPM_COMMAND=^"%NPMW_DIR%gradlew.bat^" npmSetup
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
if not exist %NPM_EXE% (
|
|
20
|
+
call %INSTALL_NPM_COMMAND%
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
if exist %NODE_EXE% (
|
|
24
|
+
Rem execute local npm with local node, whilst adding local node location to the PATH for this CMD session
|
|
25
|
+
endlocal & echo "%PATH%"|find /i "%NODE_PATH%;">nul || set "PATH=%NODE_PATH%;%PATH%" & call %NODE_EXE% %NPM_EXE% %*
|
|
26
|
+
) else if exist %NPM_EXE% (
|
|
27
|
+
Rem execute local npm, whilst adding local npm location to the PATH for this CMD session
|
|
28
|
+
endlocal & echo "%PATH%"|find /i "%NODE_PATH%;">nul || set "PATH=%NODE_PATH%;%PATH%" & call %NPM_EXE% %*
|
|
29
|
+
) else (
|
|
30
|
+
call npm %*
|
|
31
|
+
)
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"default_environment": "prod"
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
|
-
"prettier:check": "prettier --check \"{,src/**/}*.{<%= getPrettierExtensions() %>}\"",
|
|
47
|
-
"prettier:format": "prettier --write \"{,src/**/}*.{<%= getPrettierExtensions() %>}\""
|
|
46
|
+
"prettier:check": "prettier --check \"{,src/**/,.blueprint/**/}*.{<%= getPrettierExtensions() %>}\"",
|
|
47
|
+
"prettier:format": "prettier --write \"{,src/**/,.blueprint/**/}*.{<%= getPrettierExtensions() %>}\""
|
|
48
48
|
}
|
|
49
49
|
}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
<groupId><%= packageName %></groupId>
|
|
27
27
|
<artifactId><%= dasherizedBaseName %></artifactId>
|
|
28
|
-
<version
|
|
28
|
+
<version><%= projectVersion %></version>
|
|
29
29
|
<packaging>jar</packaging>
|
|
30
30
|
<name><%= humanizedBaseName %></name>
|
|
31
31
|
<description><%= projectDescription %></description>
|
|
@@ -102,12 +102,6 @@
|
|
|
102
102
|
<liquibase.version><%= LIQUIBASE_VERSION %></liquibase.version>
|
|
103
103
|
<%_ if (!reactive) { _%>
|
|
104
104
|
<liquibase-hibernate5.version><%= LIQUIBASE_VERSION %></liquibase-hibernate5.version>
|
|
105
|
-
<%_ } _%>
|
|
106
|
-
<%_ if (devDatabaseTypeH2Any && (prodDatabaseTypeMysql || reactive)) { _%>
|
|
107
|
-
<h2.version><%= H2_VERSION %></h2.version>
|
|
108
|
-
<%_ if (reactive) { _%>
|
|
109
|
-
<h2-r2dbc.version><%= H2_R2DBC_VERSION %></h2-r2dbc.version>
|
|
110
|
-
<%_ } _%>
|
|
111
105
|
<%_ } _%>
|
|
112
106
|
<validation-api.version>2.0.1.Final</validation-api.version>
|
|
113
107
|
<%_ if (reactive) { _%>
|
|
@@ -130,15 +124,17 @@
|
|
|
130
124
|
<%_ if (enableSwaggerCodegen) { _%>
|
|
131
125
|
<jackson-databind-nullable.version><%= JACKSON_DATABIND_NULLABLE_VERSION %></jackson-databind-nullable.version>
|
|
132
126
|
<%_ } _%>
|
|
133
|
-
<%_ if (cacheProviderCaffeine) { _%>
|
|
127
|
+
<%_ if (cacheProviderCaffeine || (authenticationTypeOauth2 && !cacheProviderInfinispan)) { _%>
|
|
134
128
|
<caffeine.version>3.1.1</caffeine.version>
|
|
129
|
+
<%_ } _%>
|
|
130
|
+
<%_ if (cacheProviderCaffeine) { _%>
|
|
135
131
|
<typesafe.version>1.4.2</typesafe.version>
|
|
136
132
|
<%_ } _%>
|
|
137
133
|
<!-- Plugin versions -->
|
|
138
134
|
<maven-clean-plugin.version>3.2.0</maven-clean-plugin.version>
|
|
139
|
-
<maven-site-plugin.version>3.12.
|
|
135
|
+
<maven-site-plugin.version>3.12.1</maven-site-plugin.version>
|
|
140
136
|
<maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
|
|
141
|
-
<maven-javadoc-plugin.version>3.4.
|
|
137
|
+
<maven-javadoc-plugin.version>3.4.1</maven-javadoc-plugin.version>
|
|
142
138
|
<maven-eclipse-plugin.version>2.10</maven-eclipse-plugin.version>
|
|
143
139
|
<maven-enforcer-plugin.version>3.1.0</maven-enforcer-plugin.version>
|
|
144
140
|
<maven-failsafe-plugin.version>3.0.0-M7</maven-failsafe-plugin.version>
|
|
@@ -148,7 +144,7 @@
|
|
|
148
144
|
<maven-surefire-plugin.version>3.0.0-M7</maven-surefire-plugin.version>
|
|
149
145
|
<maven-war-plugin.version>3.3.2</maven-war-plugin.version>
|
|
150
146
|
<maven-checkstyle-plugin.version>3.1.2</maven-checkstyle-plugin.version>
|
|
151
|
-
<checkstyle.version>10.3.
|
|
147
|
+
<checkstyle.version>10.3.2</checkstyle.version>
|
|
152
148
|
<nohttp-checkstyle.version>0.0.10</nohttp-checkstyle.version>
|
|
153
149
|
<%_ if (!skipClient) { _%>
|
|
154
150
|
<frontend-maven-plugin.version>1.12.1</frontend-maven-plugin.version>
|
|
@@ -408,12 +404,14 @@
|
|
|
408
404
|
</dependency>
|
|
409
405
|
<%_ } _%>
|
|
410
406
|
<%_ } _%>
|
|
411
|
-
<%_ if (cacheProviderCaffeine) { _%>
|
|
407
|
+
<%_ if (cacheProviderCaffeine || (authenticationTypeOauth2 && !cacheProviderInfinispan)) { _%>
|
|
412
408
|
<dependency>
|
|
413
409
|
<groupId>com.github.ben-manes.caffeine</groupId>
|
|
414
410
|
<artifactId>caffeine</artifactId>
|
|
415
411
|
<version>${caffeine.version}</version>
|
|
416
412
|
</dependency>
|
|
413
|
+
<%_ } _%>
|
|
414
|
+
<%_ if (cacheProviderCaffeine) { _%>
|
|
417
415
|
<dependency>
|
|
418
416
|
<groupId>com.github.ben-manes.caffeine</groupId>
|
|
419
417
|
<artifactId>jcache</artifactId>
|
|
@@ -763,7 +761,7 @@
|
|
|
763
761
|
<artifactId>spring-cloud-starter-openfeign</artifactId>
|
|
764
762
|
</dependency>
|
|
765
763
|
<%_ } _%>
|
|
766
|
-
<%_ if (
|
|
764
|
+
<%_ if (serviceDiscoveryAny) { _%>
|
|
767
765
|
<dependency>
|
|
768
766
|
<groupId>org.springframework.cloud</groupId>
|
|
769
767
|
<artifactId>spring-cloud-starter-bootstrap</artifactId>
|
|
@@ -1581,17 +1579,11 @@
|
|
|
1581
1579
|
<dependency>
|
|
1582
1580
|
<groupId>com.h2database</groupId>
|
|
1583
1581
|
<artifactId>h2</artifactId>
|
|
1584
|
-
<%_ if (prodDatabaseTypeMysql || reactive) { _%>
|
|
1585
|
-
<version>${h2.version}</version>
|
|
1586
|
-
<%_ } _%>
|
|
1587
1582
|
</dependency>
|
|
1588
1583
|
<%_ if (reactive) { _%>
|
|
1589
1584
|
<dependency>
|
|
1590
1585
|
<groupId>io.r2dbc</groupId>
|
|
1591
1586
|
<artifactId>r2dbc-h2</artifactId>
|
|
1592
|
-
<%_ if (prodDatabaseTypeMysql) { _%>
|
|
1593
|
-
<version>${h2-r2dbc.version}</version>
|
|
1594
|
-
<%_ } _%>
|
|
1595
1587
|
</dependency>
|
|
1596
1588
|
<%_ } _%>
|
|
1597
1589
|
<%_ } _%>
|
|
@@ -1780,9 +1772,6 @@
|
|
|
1780
1772
|
<dependency>
|
|
1781
1773
|
<groupId>com.h2database</groupId>
|
|
1782
1774
|
<artifactId>h2</artifactId>
|
|
1783
|
-
<%_ if (prodDatabaseTypeMysql || reactive) { _%>
|
|
1784
|
-
<version>${h2.version}</version>
|
|
1785
|
-
<%_ } _%>
|
|
1786
1775
|
</dependency>
|
|
1787
1776
|
<%_ } _%>
|
|
1788
1777
|
</dependencies>
|
|
@@ -2073,7 +2062,7 @@
|
|
|
2073
2062
|
</plugins>
|
|
2074
2063
|
</build>
|
|
2075
2064
|
</profile>
|
|
2076
|
-
<%_ if (
|
|
2065
|
+
<%_ if (serviceDiscoveryAny || applicationTypeGateway || applicationTypeMicroservice) { _%>
|
|
2077
2066
|
<profile>
|
|
2078
2067
|
<!--
|
|
2079
2068
|
Profile for tracing requests with Zipkin.
|
|
@@ -26,9 +26,9 @@ import org.testcontainers.containers.output.Slf4jLogConsumer;
|
|
|
26
26
|
|
|
27
27
|
import java.util.Collections;
|
|
28
28
|
|
|
29
|
-
public class
|
|
29
|
+
public class MsSqlTestContainer implements SqlTestContainer {
|
|
30
30
|
|
|
31
|
-
private static final Logger log = LoggerFactory.getLogger(
|
|
31
|
+
private static final Logger log = LoggerFactory.getLogger(MsSqlTestContainer.class);
|
|
32
32
|
|
|
33
33
|
private MSSQLServerContainer<?> mSSQLServerContainer;
|
|
34
34
|
|
|
@@ -42,7 +42,6 @@ public class MsSqlServerContainer implements SqlTestContainer {
|
|
|
42
42
|
public void afterPropertiesSet() {
|
|
43
43
|
if (null == mSSQLServerContainer) {
|
|
44
44
|
mSSQLServerContainer = new MSSQLServerContainer<>("<%= DOCKER_MSSQL %>")
|
|
45
|
-
.withDatabaseName("<%= baseName %>")
|
|
46
45
|
.withTmpFs(Collections.singletonMap("/testtmpfs", "rw"))
|
|
47
46
|
.withLogConsumer(new Slf4jLogConsumer(log))
|
|
48
47
|
.withReuse(true);
|
|
@@ -78,7 +78,13 @@ _%>
|
|
|
78
78
|
- SPRING_DATA_CASSANDRA_CONTACTPOINTS=<%= baseName.toLowerCase() %>-cassandra
|
|
79
79
|
<%_ } _%>
|
|
80
80
|
<%_ if (applicationTypeGateway) { _%>
|
|
81
|
-
|
|
81
|
+
<%_ if (authenticationTypeOauth2) { _%>
|
|
82
|
+
- JHIPSTER_SLEEP=80 # gives time for microservices, dependencies to boot before the gateway, the entire stack will be ready to accept incoming requests.
|
|
83
|
+
<%_ } else { _%>
|
|
84
|
+
- JHIPSTER_SLEEP=60 # gives time for microservices to boot before the gateway, the entire stack will be ready to accept incoming requests.
|
|
85
|
+
<%_ } _%>
|
|
86
|
+
<%_ } else if (applicationTypeMicroservice && authenticationTypeOauth2) { _%>
|
|
87
|
+
- JHIPSTER_SLEEP=60 # gives time for other services to boot before the application
|
|
82
88
|
<%_ } else { _%>
|
|
83
89
|
- JHIPSTER_SLEEP=30 # gives time for other services to boot before the application
|
|
84
90
|
<%_ } _%>
|
package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "jhipster",
|
|
3
3
|
"realm": "jhipster",
|
|
4
|
+
"displayName": "JHipster",
|
|
4
5
|
"notBefore": 0,
|
|
5
6
|
"defaultSignatureAlgorithm": "RS256",
|
|
6
7
|
"revokeRefreshToken": false,
|
|
@@ -496,15 +497,8 @@
|
|
|
496
497
|
"disableableCredentialTypes": [],
|
|
497
498
|
"requiredActions": [],
|
|
498
499
|
"realmRoles": [
|
|
499
|
-
"
|
|
500
|
-
"uma_authorization"
|
|
500
|
+
"default-roles-jhipster"
|
|
501
501
|
],
|
|
502
|
-
"clientRoles": {
|
|
503
|
-
"account": [
|
|
504
|
-
"view-profile",
|
|
505
|
-
"manage-account"
|
|
506
|
-
]
|
|
507
|
-
},
|
|
508
502
|
"notBefore": 0,
|
|
509
503
|
"groups": []
|
|
510
504
|
}
|
|
@@ -553,7 +547,9 @@
|
|
|
553
547
|
"publicClient": false,
|
|
554
548
|
"frontchannelLogout": false,
|
|
555
549
|
"protocol": "openid-connect",
|
|
556
|
-
"attributes": {
|
|
550
|
+
"attributes": {
|
|
551
|
+
"post.logout.redirect.uris": "+"
|
|
552
|
+
},
|
|
557
553
|
"authenticationFlowBindingOverrides": {},
|
|
558
554
|
"fullScopeAllowed": false,
|
|
559
555
|
"nodeReRegistrationTimeout": 0,
|
|
@@ -596,6 +592,7 @@
|
|
|
596
592
|
"frontchannelLogout": false,
|
|
597
593
|
"protocol": "openid-connect",
|
|
598
594
|
"attributes": {
|
|
595
|
+
"post.logout.redirect.uris": "+",
|
|
599
596
|
"pkce.code.challenge.method": "S256"
|
|
600
597
|
},
|
|
601
598
|
"authenticationFlowBindingOverrides": {},
|
|
@@ -645,7 +642,9 @@
|
|
|
645
642
|
"publicClient": true,
|
|
646
643
|
"frontchannelLogout": false,
|
|
647
644
|
"protocol": "openid-connect",
|
|
648
|
-
"attributes": {
|
|
645
|
+
"attributes": {
|
|
646
|
+
"post.logout.redirect.uris": "+"
|
|
647
|
+
},
|
|
649
648
|
"authenticationFlowBindingOverrides": {},
|
|
650
649
|
"fullScopeAllowed": false,
|
|
651
650
|
"nodeReRegistrationTimeout": 0,
|
|
@@ -683,7 +682,9 @@
|
|
|
683
682
|
"publicClient": false,
|
|
684
683
|
"frontchannelLogout": false,
|
|
685
684
|
"protocol": "openid-connect",
|
|
686
|
-
"attributes": {
|
|
685
|
+
"attributes": {
|
|
686
|
+
"post.logout.redirect.uris": "+"
|
|
687
|
+
},
|
|
687
688
|
"authenticationFlowBindingOverrides": {},
|
|
688
689
|
"fullScopeAllowed": false,
|
|
689
690
|
"nodeReRegistrationTimeout": 0,
|
|
@@ -725,6 +726,7 @@
|
|
|
725
726
|
"saml.force.post.binding": "false",
|
|
726
727
|
"saml.multivalued.roles": "false",
|
|
727
728
|
"saml.encrypt": "false",
|
|
729
|
+
"post.logout.redirect.uris": "+",
|
|
728
730
|
"saml.server.signature": "false",
|
|
729
731
|
"saml.server.signature.keyinfo.ext": "false",
|
|
730
732
|
"exclude.session.state.from.auth.response": "false",
|
|
@@ -833,6 +835,7 @@
|
|
|
833
835
|
"saml.force.post.binding": "false",
|
|
834
836
|
"saml.multivalued.roles": "false",
|
|
835
837
|
"saml.encrypt": "false",
|
|
838
|
+
"post.logout.redirect.uris": "+",
|
|
836
839
|
"saml.server.signature": "false",
|
|
837
840
|
"saml.server.signature.keyinfo.ext": "false",
|
|
838
841
|
"exclude.session.state.from.auth.response": "false",
|
|
@@ -893,6 +896,7 @@
|
|
|
893
896
|
"saml.force.post.binding": "false",
|
|
894
897
|
"saml.multivalued.roles": "false",
|
|
895
898
|
"saml.encrypt": "false",
|
|
899
|
+
"post.logout.redirect.uris": "+",
|
|
896
900
|
"saml.server.signature": "false",
|
|
897
901
|
"saml.server.signature.keyinfo.ext": "false",
|
|
898
902
|
"exclude.session.state.from.auth.response": "false",
|
|
@@ -941,7 +945,9 @@
|
|
|
941
945
|
"publicClient": false,
|
|
942
946
|
"frontchannelLogout": false,
|
|
943
947
|
"protocol": "openid-connect",
|
|
944
|
-
"attributes": {
|
|
948
|
+
"attributes": {
|
|
949
|
+
"post.logout.redirect.uris": "+"
|
|
950
|
+
},
|
|
945
951
|
"authenticationFlowBindingOverrides": {},
|
|
946
952
|
"fullScopeAllowed": false,
|
|
947
953
|
"nodeReRegistrationTimeout": 0,
|
|
@@ -986,6 +992,7 @@
|
|
|
986
992
|
"frontchannelLogout": false,
|
|
987
993
|
"protocol": "openid-connect",
|
|
988
994
|
"attributes": {
|
|
995
|
+
"post.logout.redirect.uris": "+",
|
|
989
996
|
"pkce.code.challenge.method": "S256"
|
|
990
997
|
},
|
|
991
998
|
"authenticationFlowBindingOverrides": {},
|
|
@@ -1057,6 +1064,7 @@
|
|
|
1057
1064
|
"saml.force.post.binding": "false",
|
|
1058
1065
|
"saml.multivalued.roles": "false",
|
|
1059
1066
|
"saml.encrypt": "false",
|
|
1067
|
+
"post.logout.redirect.uris": "+",
|
|
1060
1068
|
"saml.server.signature": "false",
|
|
1061
1069
|
"saml.server.signature.keyinfo.ext": "false",
|
|
1062
1070
|
"exclude.session.state.from.auth.response": "false",
|
|
@@ -1768,6 +1776,14 @@
|
|
|
1768
1776
|
"config": {}
|
|
1769
1777
|
}
|
|
1770
1778
|
],
|
|
1779
|
+
"org.keycloak.userprofile.UserProfileProvider": [
|
|
1780
|
+
{
|
|
1781
|
+
"id": "b05ccf0d-d8ac-4695-bd60-37018f8f94b4",
|
|
1782
|
+
"providerId": "declarative-user-profile",
|
|
1783
|
+
"subComponents": {},
|
|
1784
|
+
"config": {}
|
|
1785
|
+
}
|
|
1786
|
+
],
|
|
1771
1787
|
"org.keycloak.keys.KeyProvider": [
|
|
1772
1788
|
{
|
|
1773
1789
|
"id": "62707fae-58f9-4fc2-89fb-0c5d212dc3dc",
|
|
@@ -2488,9 +2504,11 @@
|
|
|
2488
2504
|
"clientSessionMaxLifespan": "0",
|
|
2489
2505
|
"parRequestUriLifespan": "60",
|
|
2490
2506
|
"clientOfflineSessionIdleTimeout": "0",
|
|
2491
|
-
"cibaInterval": "5"
|
|
2507
|
+
"cibaInterval": "5",
|
|
2508
|
+
"frontendUrl": "",
|
|
2509
|
+
"acr.loa.map": "[]"
|
|
2492
2510
|
},
|
|
2493
|
-
"keycloakVersion": "
|
|
2511
|
+
"keycloakVersion": "19.0.1",
|
|
2494
2512
|
"userManagedAccessAllowed": false,
|
|
2495
2513
|
"clientProfiles": {
|
|
2496
2514
|
"profiles": []
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
# - In Eureka mode, the ports are in the jhipster-registry.yml file.
|
|
49
49
|
|
|
50
50
|
|
|
51
|
-
<%_ let discoveryProfile =
|
|
51
|
+
<%_ let discoveryProfile = serviceDiscoveryAny ? serviceDiscoveryAny : 'static'; _%>
|
|
52
52
|
version: '<%= DOCKER_COMPOSE_FORMAT_VERSION %>'
|
|
53
53
|
services:
|
|
54
54
|
jhipster-control-center:
|
|
@@ -42,7 +42,7 @@ scrape_configs:
|
|
|
42
42
|
#basic_auth:
|
|
43
43
|
# username: admin
|
|
44
44
|
# password: admin
|
|
45
|
-
metrics_path: <% if (applicationTypeMicroservice && !
|
|
45
|
+
metrics_path: <% if (applicationTypeMicroservice && !serviceDiscoveryAny) { %>/services/<%= baseName %><% } %>/management/prometheus
|
|
46
46
|
static_configs:
|
|
47
47
|
- targets:
|
|
48
48
|
# On MacOS, replace localhost by host.docker.internal
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
package <%= packageName %>;
|
|
20
20
|
|
|
21
21
|
import <%= packageName %>.config.ApplicationProperties;
|
|
22
|
+
import <%= packageName %>.config.CRLFLogConverter;
|
|
22
23
|
|
|
23
24
|
import tech.jhipster.config.DefaultProfileUtil;
|
|
24
25
|
import tech.jhipster.config.JHipsterConstants;
|
|
@@ -95,7 +96,9 @@ public class <%= mainClass %> {
|
|
|
95
96
|
} catch (UnknownHostException e) {
|
|
96
97
|
log.warn("The host name could not be determined, using `localhost` as fallback");
|
|
97
98
|
}
|
|
98
|
-
log.info(
|
|
99
|
+
log.info(
|
|
100
|
+
CRLFLogConverter.CRLF_SAFE_MARKER,
|
|
101
|
+
"\n----------------------------------------------------------\n\t" +
|
|
99
102
|
"Application '{}' is running! Access URLs:\n\t" +
|
|
100
103
|
"Local: \t\t{}://localhost:{}{}\n\t" +
|
|
101
104
|
"External: \t{}://{}:{}{}\n\t" +
|
|
@@ -110,14 +113,18 @@ public class <%= mainClass %> {
|
|
|
110
113
|
contextPath,
|
|
111
114
|
env.getActiveProfiles().length == 0 ? env.getDefaultProfiles() : env.getActiveProfiles()
|
|
112
115
|
);
|
|
113
|
-
<%_ if (
|
|
116
|
+
<%_ if (serviceDiscoveryAny && (applicationTypeMicroservice || applicationTypeGateway)) { _%>
|
|
114
117
|
|
|
115
118
|
String configServerStatus = env.getProperty("configserver.status");
|
|
116
119
|
if (configServerStatus == null) {
|
|
117
120
|
configServerStatus = "Not found or not setup for this application";
|
|
118
121
|
}
|
|
119
|
-
log.info(
|
|
120
|
-
|
|
122
|
+
log.info(
|
|
123
|
+
CRLFLogConverter.CRLF_SAFE_MARKER,
|
|
124
|
+
"\n----------------------------------------------------------\n\t" +
|
|
125
|
+
"Config Server: \t{}\n----------------------------------------------------------",
|
|
126
|
+
configServerStatus
|
|
127
|
+
);
|
|
121
128
|
<%_ } _%>
|
|
122
129
|
}
|
|
123
130
|
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
package <%= packageName %>.config;
|
|
2
|
+
|
|
3
|
+
import ch.qos.logback.classic.spi.ILoggingEvent;
|
|
4
|
+
import ch.qos.logback.core.pattern.CompositeConverter;
|
|
5
|
+
|
|
6
|
+
import java.util.Collections;
|
|
7
|
+
import java.util.HashMap;
|
|
8
|
+
import java.util.Map;
|
|
9
|
+
|
|
10
|
+
import org.slf4j.Marker;
|
|
11
|
+
import org.slf4j.MarkerFactory;
|
|
12
|
+
import org.springframework.boot.ansi.AnsiColor;
|
|
13
|
+
import org.springframework.boot.ansi.AnsiElement;
|
|
14
|
+
import org.springframework.boot.ansi.AnsiOutput;
|
|
15
|
+
import org.springframework.boot.ansi.AnsiStyle;
|
|
16
|
+
|
|
17
|
+
public class CRLFLogConverter extends CompositeConverter<ILoggingEvent> {
|
|
18
|
+
public static final Marker CRLF_SAFE_MARKER = MarkerFactory.getMarker("CRLF_SAFE");
|
|
19
|
+
|
|
20
|
+
private static final String[] SAFE_LOGGERS = { "org.hibernate" };
|
|
21
|
+
private static final Map<String, AnsiElement> ELEMENTS;
|
|
22
|
+
|
|
23
|
+
static {
|
|
24
|
+
Map<String, AnsiElement> ansiElements = new HashMap<>();
|
|
25
|
+
ansiElements.put("faint", AnsiStyle.FAINT);
|
|
26
|
+
ansiElements.put("red", AnsiColor.RED);
|
|
27
|
+
ansiElements.put("green", AnsiColor.GREEN);
|
|
28
|
+
ansiElements.put("yellow", AnsiColor.YELLOW);
|
|
29
|
+
ansiElements.put("blue", AnsiColor.BLUE);
|
|
30
|
+
ansiElements.put("magenta", AnsiColor.MAGENTA);
|
|
31
|
+
ansiElements.put("cyan", AnsiColor.CYAN);
|
|
32
|
+
ELEMENTS = Collections.unmodifiableMap(ansiElements);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@Override
|
|
36
|
+
protected String transform(ILoggingEvent event, String in) {
|
|
37
|
+
AnsiElement element = ELEMENTS.get(getFirstOption());
|
|
38
|
+
if ((event.getMarker() != null && event.getMarker().contains(CRLF_SAFE_MARKER)) || isLoggerSafe(event)) {
|
|
39
|
+
return in;
|
|
40
|
+
}
|
|
41
|
+
String replacement = element == null ? "_" : toAnsiString("_", element);
|
|
42
|
+
return in.replaceAll("[\n\r\t]", replacement);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
protected boolean isLoggerSafe(ILoggingEvent event) {
|
|
46
|
+
for (String safeLogger : SAFE_LOGGERS) {
|
|
47
|
+
if (event.getLoggerName().startsWith(safeLogger)) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
protected String toAnsiString(String in, AnsiElement element) {
|
|
55
|
+
return AnsiOutput.toString(element, in);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<%#
|
|
2
|
+
Copyright 2013-2022 the original author or authors from the JHipster project.
|
|
3
|
+
|
|
4
|
+
This file is part of the JHipster project, see https://www.jhipster.tech/
|
|
5
|
+
for more information.
|
|
6
|
+
|
|
7
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
you may not use this file except in compliance with the License.
|
|
9
|
+
You may obtain a copy of the License at
|
|
10
|
+
|
|
11
|
+
https://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
|
|
13
|
+
Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
See the License for the specific language governing permissions and
|
|
17
|
+
limitations under the License.
|
|
18
|
+
-%>
|
|
19
|
+
// This is a workaround for
|
|
20
|
+
// https://github.com/jhipster/jhipster-registry/issues/537
|
|
21
|
+
// https://github.com/jhipster/generator-jhipster/issues/18533
|
|
22
|
+
// The original issue will be fixed with spring cloud 2021.0.4
|
|
23
|
+
// https://github.com/spring-cloud/spring-cloud-netflix/issues/3941
|
|
24
|
+
package <%= packageName %>.config;
|
|
25
|
+
|
|
26
|
+
import org.springframework.boot.actuate.health.HealthIndicator;
|
|
27
|
+
import org.springframework.boot.actuate.health.Health;
|
|
28
|
+
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
|
29
|
+
import org.springframework.context.event.EventListener;
|
|
30
|
+
import org.springframework.stereotype.Component;
|
|
31
|
+
|
|
32
|
+
@Component
|
|
33
|
+
public class EurekaWorkaroundConfiguration implements HealthIndicator {
|
|
34
|
+
|
|
35
|
+
private boolean applicationIsUp = false;
|
|
36
|
+
|
|
37
|
+
@EventListener(ApplicationReadyEvent.class)
|
|
38
|
+
public void onStartup() {
|
|
39
|
+
this.applicationIsUp = true;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@Override
|
|
43
|
+
public Health health() {
|
|
44
|
+
if (!applicationIsUp) {
|
|
45
|
+
return Health.down().build();
|
|
46
|
+
}
|
|
47
|
+
return Health.up().build();
|
|
48
|
+
}
|
|
49
|
+
}
|
package/generators/server/templates/src/main/java/package/config/LoggingConfiguration.java.ejs
CHANGED
|
@@ -23,11 +23,11 @@ import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
23
23
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
24
24
|
import tech.jhipster.config.JHipsterProperties;
|
|
25
25
|
import org.slf4j.LoggerFactory;
|
|
26
|
-
<%_ if (serviceDiscoveryConsul || (
|
|
26
|
+
<%_ if (serviceDiscoveryConsul || (serviceDiscoveryAny && applicationTypeGateway || applicationTypeMicroservice)) { _%>
|
|
27
27
|
import org.springframework.beans.factory.ObjectProvider;
|
|
28
28
|
<%_ } _%>
|
|
29
29
|
import org.springframework.beans.factory.annotation.Value;
|
|
30
|
-
<%_ if (
|
|
30
|
+
<%_ if (serviceDiscoveryAny && (applicationTypeGateway || applicationTypeMicroservice)) { _%>
|
|
31
31
|
import org.springframework.boot.info.BuildProperties;
|
|
32
32
|
<%_ } _%>
|
|
33
33
|
<%_ if (serviceDiscoveryConsul) { _%>
|
|
@@ -58,7 +58,7 @@ public class LoggingConfiguration {
|
|
|
58
58
|
<%_ if (serviceDiscoveryConsul) { _%>
|
|
59
59
|
ObjectProvider<ConsulRegistration> consulRegistration,
|
|
60
60
|
<%_ } _%>
|
|
61
|
-
<%_ if (
|
|
61
|
+
<%_ if (serviceDiscoveryAny && (applicationTypeMicroservice || applicationTypeGateway)) { _%>
|
|
62
62
|
ObjectProvider<BuildProperties> buildProperties,
|
|
63
63
|
<%_ } _%>
|
|
64
64
|
ObjectMapper mapper) throws JsonProcessingException {
|
|
@@ -68,7 +68,7 @@ public class LoggingConfiguration {
|
|
|
68
68
|
Map<String, String> map = new HashMap<>();
|
|
69
69
|
map.put("app_name", appName);
|
|
70
70
|
map.put("app_port", serverPort);
|
|
71
|
-
<%_ if (
|
|
71
|
+
<%_ if (serviceDiscoveryAny && (applicationTypeMicroservice || applicationTypeGateway)) { _%>
|
|
72
72
|
buildProperties.ifAvailable(it -> map.put("version", it.getVersion()));
|
|
73
73
|
<%_ } _%>
|
|
74
74
|
<%_ if (serviceDiscoveryConsul) { _%>
|
package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs
CHANGED
|
@@ -37,13 +37,6 @@ import org.springframework.http.HttpMethod;
|
|
|
37
37
|
<%_ } _%>
|
|
38
38
|
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
|
|
39
39
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
|
40
|
-
<%_ if (!applicationTypeMicroservice || !authenticationTypeOauth2) { _%>
|
|
41
|
-
import org.springframework.security.config.annotation.web.builders.WebSecurity;
|
|
42
|
-
<%_ } else { _%>
|
|
43
|
-
<%_ if (devDatabaseTypeH2Any) { _%>
|
|
44
|
-
import org.springframework.security.config.annotation.web.builders.WebSecurity;
|
|
45
|
-
<%_ } _%>
|
|
46
|
-
<%_ } _%>
|
|
47
40
|
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
|
48
41
|
import org.springframework.security.web.SecurityFilterChain;
|
|
49
42
|
<%_ if (authenticationTypeJwt || (authenticationTypeOauth2 && applicationTypeMicroservice)) { _%>
|
|
@@ -91,7 +84,9 @@ import org.springframework.security.oauth2.client.registration.ClientRegistratio
|
|
|
91
84
|
import org.springframework.boot.web.client.RestTemplateBuilder;
|
|
92
85
|
import <%= packageName %>.security.oauth2.CustomClaimConverter;
|
|
93
86
|
<%_ } _%>
|
|
87
|
+
<%_ if(!skipClient) { _%>
|
|
94
88
|
import org.springframework.security.web.header.writers.ReferrerPolicyHeaderWriter;
|
|
89
|
+
<%_ } _%>
|
|
95
90
|
<%_ if (!applicationTypeMicroservice) { _%>
|
|
96
91
|
import org.springframework.web.filter.CorsFilter;
|
|
97
92
|
<%_ } _%>
|
|
@@ -165,6 +160,9 @@ public class SecurityConfiguration {
|
|
|
165
160
|
// @formatter:off
|
|
166
161
|
http
|
|
167
162
|
.csrf()
|
|
163
|
+
<%_ if (devDatabaseTypeH2Any) { _%>
|
|
164
|
+
.ignoringAntMatchers("/h2-console/**")
|
|
165
|
+
<%_ } _%>
|
|
168
166
|
<%_ if ((authenticationTypeOauth2 || authenticationTypeSession) && !applicationTypeMicroservice) { _%>
|
|
169
167
|
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
|
|
170
168
|
.and()
|
|
@@ -201,22 +199,23 @@ public class SecurityConfiguration {
|
|
|
201
199
|
.logoutSuccessHandler(ajaxLogoutSuccessHandler())
|
|
202
200
|
.permitAll()
|
|
203
201
|
<%_ } _%>
|
|
202
|
+
<%_ if (!skipClient) { _%>
|
|
204
203
|
.and()
|
|
205
204
|
.headers()
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
.and()
|
|
205
|
+
.contentSecurityPolicy(jHipsterProperties.getSecurity().getContentSecurityPolicy())
|
|
206
|
+
.and()
|
|
207
|
+
.referrerPolicy(ReferrerPolicyHeaderWriter.ReferrerPolicy.STRICT_ORIGIN_WHEN_CROSS_ORIGIN)
|
|
208
|
+
.and()
|
|
209
|
+
.permissionsPolicy().policy("camera=(), fullscreen=(self), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), sync-xhr=()")
|
|
210
|
+
.and()
|
|
211
|
+
.frameOptions().sameOrigin()
|
|
212
|
+
<%_ } _%>
|
|
215
213
|
<%_ if (authenticationTypeJwt || (authenticationTypeOauth2 && applicationTypeMicroservice)) { _%>
|
|
216
|
-
.sessionManagement()
|
|
217
|
-
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
|
|
218
214
|
.and()
|
|
215
|
+
.sessionManagement()
|
|
216
|
+
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
|
|
219
217
|
<%_ } _%>
|
|
218
|
+
.and()
|
|
220
219
|
.authorizeRequests()
|
|
221
220
|
<%_ if (!applicationTypeMicroservice) { _%>
|
|
222
221
|
.antMatchers(HttpMethod.OPTIONS, "/**").permitAll()
|