generator-fedhipster
Version:
Spring Boot + Angular/React in one handy generator
194 lines (185 loc) • 11.1 kB
JavaScript
/**
* Copyright 2013-2019 the original author or authors from the JHipster project.
*
* This file is part of the JHipster project, see https://www.jhipster.tech/
* for more information.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
const constants = require('./generator-constants');
const ANGULAR_DIR = constants.ANGULAR_DIR;
const CLIENT_MAIN_SRC_DIR = constants.CLIENT_MAIN_SRC_DIR;
const CLIENT_TEST_SRC_DIR = constants.CLIENT_TEST_SRC_DIR;
module.exports = {
cleanupOldFiles,
cleanupOldServerFiles
};
/**
* Removes files that where generated in previous JHipster versions and therefore
* need to be removed.
*
* WARNING this only removes files created by the main generator. Each sub-generator
* should clean-up its own files: see the `cleanup` method in entity/index.js for cleaning
* up entities.
*
* @param {any} generator - reference to generator
*/
function cleanupOldFiles(generator) {
if (generator.isJhipsterVersionLessThan('3.2.0')) {
// removeFile and removeFolder methods should be called here for files and folders to cleanup
generator.removeFile(`${ANGULAR_DIR}components/form/uib-pager.config.js`);
generator.removeFile(`${ANGULAR_DIR}components/form/uib-pagination.config.js`);
}
if (generator.isJhipsterVersionLessThan('5.0.0')) {
generator.removeFile(`${ANGULAR_DIR}/app.route.ts`);
generator.removeFile(`${ANGULAR_DIR}shared/auth/account.service.ts`);
generator.removeFile(`${ANGULAR_DIR}shared/auth/auth-jwt.service.ts`);
generator.removeFile(`${ANGULAR_DIR}shared/auth/auth-session.service.ts`);
generator.removeFile(`${ANGULAR_DIR}shared/auth/csrf.service.ts`);
generator.removeFile(`${ANGULAR_DIR}shared/auth/state-storage.service.ts`);
generator.removeFile(`${ANGULAR_DIR}shared/auth/user-route-access-service.ts`);
generator.removeFile(`${ANGULAR_DIR}shared/language/language.constants.ts`);
generator.removeFile(`${ANGULAR_DIR}shared/language/language.helper.ts`);
generator.removeFile(`${ANGULAR_DIR}shared/login/login-modal.service.ts`);
generator.removeFile(`${ANGULAR_DIR}shared/login/login.service.ts`);
generator.removeFile(`${ANGULAR_DIR}shared/model/base-entity.ts`);
generator.removeFile(`${ANGULAR_DIR}shared/model/request-util.ts`);
generator.removeFile(`${ANGULAR_DIR}shared/user/account.model.ts`);
generator.removeFile(`${ANGULAR_DIR}shared/user/user.model.ts`);
generator.removeFile(`${ANGULAR_DIR}shared/user/user.service.ts`);
generator.removeFile(`${ANGULAR_DIR}admin/user-management/user-management-dialog.component.ts`);
generator.removeFile(`${ANGULAR_DIR}admin/user-management/user-modal.service.ts`);
generator.removeFile(`${ANGULAR_DIR}admin/user-management/user-modal.service.ts`);
generator.removeFile(`${CLIENT_TEST_SRC_DIR}spec/app/shared/user/user.service.spec.ts`);
generator.removeFile(`${CLIENT_TEST_SRC_DIR}spec/app/admin/user-management/user-management-dialog.component.spec.ts`);
generator.removeFile(`${CLIENT_TEST_SRC_DIR}spec/entry.ts`);
generator.removeFile(`${CLIENT_TEST_SRC_DIR}karma.conf.js`);
}
if (generator.isJhipsterVersionLessThan('5.8.0')) {
generator.removeFile(`${ANGULAR_DIR}admin/metrics/metrics-modal.component.html`);
generator.removeFile(`${ANGULAR_DIR}admin/metrics/metrics-modal.component.ts`);
generator.removeFile(`${CLIENT_TEST_SRC_DIR}spec/app/admin/metrics/metrics-modal.component.spec.ts`);
}
}
/**
* Removes server files that where generated in previous JHipster versions and therefore
* need to be removed.
*
* @param {any} generator - reference to generator
* @param {string} javaDir - Java directory
* @param {string} testDir - Java tests directory
* @param {string} mainResourceDir - Main resources directory
* @param {string} testResourceDir - Test resources directory
*/
function cleanupOldServerFiles(generator, javaDir, testDir, mainResourceDir, testResourceDir) {
if (generator.isJhipsterVersionLessThan('3.5.0')) {
generator.removeFile(`${javaDir}domain/util/JSR310DateTimeSerializer.java`);
generator.removeFile(`${javaDir}domain/util/JSR310LocalDateDeserializer.java`);
}
if (generator.isJhipsterVersionLessThan('3.6.0')) {
generator.removeFile(`${javaDir}config/HerokuDatabaseConfiguration.java`);
}
if (generator.isJhipsterVersionLessThan('3.10.0')) {
generator.removeFile(`${javaDir}config/CloudMongoDbConfiguration.java`);
generator.removeFile(`${javaDir}security/CustomAccessDeniedHandler.java`);
generator.removeFile(`${javaDir}web/filter/CsrfCookieGeneratorFilter.java`);
}
if (generator.isJhipsterVersionLessThan('3.11.0')) {
generator.removeFile(`${CLIENT_MAIN_SRC_DIR}app/layouts/navbar/active-link.directive.js`);
}
if (generator.isJhipsterVersionLessThan('3.12.0')) {
generator.removeFile(`${javaDir}config/hazelcast/HazelcastCacheRegionFactory.java`);
generator.removeFile(`${javaDir}config/hazelcast/package-info.java`);
}
if (generator.isJhipsterVersionLessThan('4.0.0')) {
generator.removeFile(`${javaDir}async/ExceptionHandlingAsyncTaskExecutor.java`);
generator.removeFile(`${javaDir}async/package-info.java`);
generator.removeFile(`${javaDir}config/jHipsterProperties.java`);
generator.removeFile(`${javaDir}config/LoadBalancedResourceDetails.java`);
generator.removeFile(`${javaDir}config/ElasticSearchConfiguration.java`);
generator.removeFile(`${javaDir}config/apidoc/package-info.java`);
generator.removeFile(`${javaDir}config/apidoc/PageableParameterBuilderPlugin.java`);
generator.removeFile(`${javaDir}config/apidoc/SwaggerConfiguration.java`);
generator.removeFile(`${javaDir}config/jcache/SpringCacheRegionFactory.java`);
generator.removeFile(`${javaDir}config/jcache/SpringCacheRegionFactory.java`);
generator.removeFile(`${javaDir}config/liquibase/AsyncSpringLiquibase.java`);
generator.removeFile(`${javaDir}config/liquibase/package-info.java`);
generator.removeFile(`${javaDir}config/locale/AngularCookieLocaleResolver.java`);
generator.removeFile(`${javaDir}config/locale/package-info.java`);
generator.removeFile(`${javaDir}domain/util/FixedH2Dialect.java`);
generator.removeFile(`${javaDir}domain/util/FixedPostgreSQL82Dialect`);
generator.removeFile(`${javaDir}domain/util/JSR310DateConverters.java`);
generator.removeFile(`${javaDir}domain/util/JSR310PersistenceConverters.java`);
generator.removeFile(`${javaDir}security/AjaxAuthenticationFailureHandler.java`);
generator.removeFile(`${javaDir}security/AjaxAuthenticationSuccessHandler.java`);
generator.removeFile(`${javaDir}security/AjaxLogoutSuccessHandler.java`);
generator.removeFile(`${javaDir}security/CustomPersistentRememberMeServices.java`);
generator.removeFile(`${javaDir}security/Http401UnauthorizedEntryPoint.java`);
generator.removeFile(`${javaDir}security/UserDetailsService.java`);
generator.removeFile(`${javaDir}web/filter/CachingHttpHeadersFilter.java`);
generator.removeFile(`${javaDir}web/filter/package-info.java`);
}
if (generator.isJhipsterVersionLessThan('4.3.0')) {
generator.removeFile(`${javaDir}gateway/ratelimiting/RateLimitingRepository.java`);
generator.removeFile(`${javaDir}config/cassandra/CustomZonedDateTimeCodec.java`);
}
if (generator.isJhipsterVersionLessThan('4.7.1')) {
generator.removeFile(`${javaDir}web/rest/errors/ErrorVM.java`);
generator.removeFile(`${javaDir}web/rest/errors/ParameterizedErrorVM.java`);
}
if (generator.isJhipsterVersionLessThan('4.11.1')) {
generator.removeFile(`${CLIENT_MAIN_SRC_DIR}app/app.main-aot.ts`);
}
if (generator.isJhipsterVersionLessThan('4.13.1')) {
generator.config.delete('hibernateCache');
}
if (generator.isJhipsterVersionLessThan('5.0.0')) {
generator.removeFile(`${javaDir}config/ThymeleafConfiguration.java`);
generator.removeFile(`${javaDir}web/rest/ProfileInfoResource.java`);
generator.removeFile(`${mainResourceDir}mails/activationEmail.html`);
generator.removeFile(`${mainResourceDir}mails/creationEmail.html`);
generator.removeFile(`${mainResourceDir}mails/passwordResetEmail.html`);
generator.removeFile(`${mainResourceDir}mails/socialRegistrationValidationEmail.html`);
generator.removeFile(`${testResourceDir}mail/testEmail.html`);
generator.removeFile(`${testDir}web/rest/ProfileInfoResourceIT.java`);
generator.removeFile('gradle/mapstruct.gradle');
}
if (generator.isJhipsterVersionLessThan('5.2.2')) {
generator.removeFile(`${javaDir}config/ElasticsearchConfiguration.java`);
generator.removeFile('gradle/liquibase.gradle');
if (generator.authenticationType === 'oauth2' && generator.applicationType === 'microservice') {
generator.removeFolder(`${constants.DOCKER_DIR}realm-config`);
generator.removeFile(`${constants.DOCKER_DIR}keycloak.yml`);
}
}
if (generator.isJhipsterVersionLessThan('5.8.0')) {
generator.removeFile(`${javaDir}config/MetricsConfiguration.java`);
if (generator.databaseType === 'cassandra') {
generator.removeFile(`${testResourceDir}cassandra-random-port.yml`);
}
}
if (generator.isJhipsterVersionLessThan('6.0.0')) {
generator.removeFile(`${javaDir}web/rest/errors/CustomParameterizedException.java`);
generator.removeFile(`${javaDir}web/rest/errors/InternalServerErrorException.java`);
generator.removeFile(`${javaDir}web/rest/util/PaginationUtil.java`);
generator.removeFile(`${javaDir}web/rest/util/HeaderUtil.java`);
generator.removeFile(`${testDir}web/rest/util/PaginationUtilUnitTest.java`);
generator.removeFile(`${javaDir}web/rest/vm/LoggerVM.java`);
generator.removeFile(`${javaDir}web/rest/LogsResource.java`);
generator.removeFile(`${testDir}web/rest/LogsResourceIT.java`);
generator.removeFile(`${javaDir}config/OAuth2Configuration.java`);
generator.removeFile(`${javaDir}security/OAuth2AuthenticationSuccessHandler.java`);
generator.removeFolder(`${CLIENT_MAIN_SRC_DIR}app/shared/layout/header/menus`);
generator.removeFolder(`${CLIENT_TEST_SRC_DIR}spec/app/shared/layout/header/menus`);
}
}