From c19c8bf1687c4941785f2a304d41c8689955dcb4 Mon Sep 17 00:00:00 2001 From: liaozan <378024053@qq.com> Date: Wed, 11 May 2022 14:25:27 +0800 Subject: [PATCH] update --- .../initializer/config/WebConfiguration.java | 33 +++++++++---------- .../properties/ArchetypeProperties.java | 16 +++++++++ .../initializer/runner/ArchetypePreparer.java | 11 +++++-- .../initializer/service/ArchetypeService.java | 6 ---- .../src/main/resources/application.yaml | 4 ++- initializer-ui/package.json | 14 ++++---- initializer-ui/pom.xml | 2 +- 7 files changed, 51 insertions(+), 35 deletions(-) create mode 100644 initializer-backend/src/main/java/com/schbrain/archetype/initializer/config/properties/ArchetypeProperties.java diff --git a/initializer-backend/src/main/java/com/schbrain/archetype/initializer/config/WebConfiguration.java b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/config/WebConfiguration.java index 1e7a6a1..910edb4 100644 --- a/initializer-backend/src/main/java/com/schbrain/archetype/initializer/config/WebConfiguration.java +++ b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/config/WebConfiguration.java @@ -1,10 +1,10 @@ package com.schbrain.archetype.initializer.config; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.cloud.CloudPlatform; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.env.Environment; -import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; +import org.springframework.web.filter.CorsFilter; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** @@ -14,20 +14,19 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration(proxyBeanMethods = false) public class WebConfiguration implements WebMvcConfigurer { - @Autowired - private Environment environment; + @Bean + public CorsFilter corsFilter() { + CorsConfiguration corsConfiguration = new CorsConfiguration(); + corsConfiguration.setAllowCredentials(true); + corsConfiguration.addAllowedOriginPattern("*"); + corsConfiguration.addAllowedHeader("*"); + corsConfiguration.addExposedHeader("*"); + corsConfiguration.addAllowedMethod("*"); - @Override - public void addCorsMappings(CorsRegistry registry) { - if (CloudPlatform.KUBERNETES.isActive(environment)) { - return; - } - registry.addMapping("/**") - .allowedOrigins("*") - .allowedMethods("*") - .allowedHeaders("*") - .exposedHeaders("*") - .maxAge(3600); + UrlBasedCorsConfigurationSource configurationSource = new UrlBasedCorsConfigurationSource(); + configurationSource.registerCorsConfiguration("/**", corsConfiguration); + + return new CorsFilter(configurationSource); } } \ No newline at end of file diff --git a/initializer-backend/src/main/java/com/schbrain/archetype/initializer/config/properties/ArchetypeProperties.java b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/config/properties/ArchetypeProperties.java new file mode 100644 index 0000000..b05abf9 --- /dev/null +++ b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/config/properties/ArchetypeProperties.java @@ -0,0 +1,16 @@ +package com.schbrain.archetype.initializer.config.properties; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; + +/** + * @author liaozan + * @since 2022/5/11 + */ +@Data +@ConfigurationProperties(prefix = "archetype") +public class ArchetypeProperties { + + private String sourceUrl; + +} \ No newline at end of file diff --git a/initializer-backend/src/main/java/com/schbrain/archetype/initializer/runner/ArchetypePreparer.java b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/runner/ArchetypePreparer.java index cdd7b5e..69ffbfd 100644 --- a/initializer-backend/src/main/java/com/schbrain/archetype/initializer/runner/ArchetypePreparer.java +++ b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/runner/ArchetypePreparer.java @@ -2,14 +2,17 @@ package com.schbrain.archetype.initializer.runner; import cn.hutool.core.io.FileUtil; import cn.hutool.system.SystemUtil; +import com.schbrain.archetype.initializer.config.properties.ArchetypeProperties; import com.schbrain.archetype.initializer.maven.MavenUtils; import com.schbrain.common.exception.BaseException; import lombok.extern.slf4j.Slf4j; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.transport.TagOpt; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; +import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.stereotype.Component; import java.io.File; @@ -20,9 +23,11 @@ import java.io.File; */ @Slf4j @Component +@EnableConfigurationProperties(ArchetypeProperties.class) public class ArchetypePreparer implements ApplicationRunner { - private static final String ARCHETYPE_REPO_URL = "http://gitlab.schbrain.com/gitlab/tools/schbrain-archetype.git"; + @Autowired + private ArchetypeProperties archetypeProperties; @Override public void run(ApplicationArguments args) { @@ -47,9 +52,9 @@ public class ArchetypePreparer implements ApplicationRunner { .setTagOption(TagOpt.FETCH_TAGS) .setNoCheckout(false) .setDirectory(archetypeTemplateDirectory) - .setURI(ARCHETYPE_REPO_URL) + .setURI(archetypeProperties.getSourceUrl()) .call()) { - log.info("Success checkout archetype source from {}", ARCHETYPE_REPO_URL); + log.info("Success checkout archetype source from {}", archetypeProperties.getSourceUrl()); } catch (GitAPIException e) { throw new BaseException("Failed to checkout archetype source from git repository", e); } diff --git a/initializer-backend/src/main/java/com/schbrain/archetype/initializer/service/ArchetypeService.java b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/service/ArchetypeService.java index 6bae63a..baeeddf 100644 --- a/initializer-backend/src/main/java/com/schbrain/archetype/initializer/service/ArchetypeService.java +++ b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/service/ArchetypeService.java @@ -3,13 +3,11 @@ package com.schbrain.archetype.initializer.service; import cn.hutool.cache.impl.TimedCache; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ZipUtil; -import com.schbrain.archetype.initializer.config.properties.GitProperties; import com.schbrain.archetype.initializer.maven.MavenUtils; import com.schbrain.archetype.initializer.param.ArchetypeGenerateParam; import com.schbrain.archetype.initializer.response.PreviewFileTree; import com.schbrain.archetype.initializer.runner.ArchetypePreparer; import com.schbrain.common.util.ServletUtils; -import org.gitlab4j.api.GitLabApi; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ContentDisposition; import org.springframework.http.HttpHeaders; @@ -40,10 +38,6 @@ public class ArchetypeService { @Autowired private ArchetypePreparer archetypePreparer; - @Autowired - private GitLabApi gitLabApi; - @Autowired - private GitProperties gitProperties; public String generate(ArchetypeGenerateParam param) { String generateId = MavenUtils.generate(param); diff --git a/initializer-backend/src/main/resources/application.yaml b/initializer-backend/src/main/resources/application.yaml index 2a1bdfe..2f74af6 100644 --- a/initializer-backend/src/main/resources/application.yaml +++ b/initializer-backend/src/main/resources/application.yaml @@ -6,4 +6,6 @@ spring: add-mappings: true gitlab: server-url: http://gitlab.schbrain.com/gitlab - personal-access-token: AzRH1rZ2HysUkHeycsaU \ No newline at end of file + personal-access-token: AzRH1rZ2HysUkHeycsaU +archetype: + source-url: http://gitlab.schbrain.com/gitlab/tools/schbrain-archetype.git \ No newline at end of file diff --git a/initializer-ui/package.json b/initializer-ui/package.json index f4014f4..2baab52 100644 --- a/initializer-ui/package.json +++ b/initializer-ui/package.json @@ -6,16 +6,16 @@ "build": "vite build --mode production" }, "dependencies": { - "vue": "^3.2.33", + "vue": "^3.2.37", "axios": "^0.27.2", - "ant-design-vue": "^3.2.2", - "highlight.js": "^11.5.1", + "ant-design-vue": "^3.2.10", + "highlight.js": "^11.6.0", "@highlightjs/vue-plugin": "^2.1.0" }, "devDependencies": { - "@vitejs/plugin-vue": "^2.3.1", - "typescript": "^4.6.4", - "vite": "^2.9.7", - "vue-tsc": "^0.34.11" + "@vitejs/plugin-vue": "^3.0.1", + "typescript": "^4.7.4", + "vite": "^3.0.4", + "vue-tsc": "^0.39.4" } } \ No newline at end of file diff --git a/initializer-ui/pom.xml b/initializer-ui/pom.xml index 35d263f..33ef794 100644 --- a/initializer-ui/pom.xml +++ b/initializer-ui/pom.xml @@ -20,7 +20,7 @@ frontend-maven-plugin ${frontend-maven-plugin.version} - v17.9.0 + v18.7.0 https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/ -- GitLab