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