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