Commit c19c8bf1 authored by liaozan's avatar liaozan 🏀

update

parent 6af6ef44
package com.schbrain.archetype.initializer.config; package com.schbrain.archetype.initializer.config;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean;
import org.springframework.boot.cloud.CloudPlatform;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment; import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/** /**
...@@ -14,20 +14,19 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; ...@@ -14,20 +14,19 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration(proxyBeanMethods = false) @Configuration(proxyBeanMethods = false)
public class WebConfiguration implements WebMvcConfigurer { public class WebConfiguration implements WebMvcConfigurer {
@Autowired @Bean
private Environment environment; public CorsFilter corsFilter() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.setAllowCredentials(true);
corsConfiguration.addAllowedOriginPattern("*");
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addExposedHeader("*");
corsConfiguration.addAllowedMethod("*");
@Override UrlBasedCorsConfigurationSource configurationSource = new UrlBasedCorsConfigurationSource();
public void addCorsMappings(CorsRegistry registry) { configurationSource.registerCorsConfiguration("/**", corsConfiguration);
if (CloudPlatform.KUBERNETES.isActive(environment)) {
return; return new CorsFilter(configurationSource);
}
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("*")
.allowedHeaders("*")
.exposedHeaders("*")
.maxAge(3600);
} }
} }
\ No newline at end of file
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
...@@ -2,14 +2,17 @@ package com.schbrain.archetype.initializer.runner; ...@@ -2,14 +2,17 @@ package com.schbrain.archetype.initializer.runner;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.system.SystemUtil; import cn.hutool.system.SystemUtil;
import com.schbrain.archetype.initializer.config.properties.ArchetypeProperties;
import com.schbrain.archetype.initializer.maven.MavenUtils; import com.schbrain.archetype.initializer.maven.MavenUtils;
import com.schbrain.common.exception.BaseException; import com.schbrain.common.exception.BaseException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.transport.TagOpt; import org.eclipse.jgit.transport.TagOpt;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner; import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.io.File; import java.io.File;
...@@ -20,9 +23,11 @@ import java.io.File; ...@@ -20,9 +23,11 @@ import java.io.File;
*/ */
@Slf4j @Slf4j
@Component @Component
@EnableConfigurationProperties(ArchetypeProperties.class)
public class ArchetypePreparer implements ApplicationRunner { 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 @Override
public void run(ApplicationArguments args) { public void run(ApplicationArguments args) {
...@@ -47,9 +52,9 @@ public class ArchetypePreparer implements ApplicationRunner { ...@@ -47,9 +52,9 @@ public class ArchetypePreparer implements ApplicationRunner {
.setTagOption(TagOpt.FETCH_TAGS) .setTagOption(TagOpt.FETCH_TAGS)
.setNoCheckout(false) .setNoCheckout(false)
.setDirectory(archetypeTemplateDirectory) .setDirectory(archetypeTemplateDirectory)
.setURI(ARCHETYPE_REPO_URL) .setURI(archetypeProperties.getSourceUrl())
.call()) { .call()) {
log.info("Success checkout archetype source from {}", ARCHETYPE_REPO_URL); log.info("Success checkout archetype source from {}", archetypeProperties.getSourceUrl());
} catch (GitAPIException e) { } catch (GitAPIException e) {
throw new BaseException("Failed to checkout archetype source from git repository", e); throw new BaseException("Failed to checkout archetype source from git repository", e);
} }
......
...@@ -3,13 +3,11 @@ package com.schbrain.archetype.initializer.service; ...@@ -3,13 +3,11 @@ package com.schbrain.archetype.initializer.service;
import cn.hutool.cache.impl.TimedCache; import cn.hutool.cache.impl.TimedCache;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ZipUtil; 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.maven.MavenUtils;
import com.schbrain.archetype.initializer.param.ArchetypeGenerateParam; import com.schbrain.archetype.initializer.param.ArchetypeGenerateParam;
import com.schbrain.archetype.initializer.response.PreviewFileTree; import com.schbrain.archetype.initializer.response.PreviewFileTree;
import com.schbrain.archetype.initializer.runner.ArchetypePreparer; import com.schbrain.archetype.initializer.runner.ArchetypePreparer;
import com.schbrain.common.util.ServletUtils; import com.schbrain.common.util.ServletUtils;
import org.gitlab4j.api.GitLabApi;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ContentDisposition; import org.springframework.http.ContentDisposition;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
...@@ -40,10 +38,6 @@ public class ArchetypeService { ...@@ -40,10 +38,6 @@ public class ArchetypeService {
@Autowired @Autowired
private ArchetypePreparer archetypePreparer; private ArchetypePreparer archetypePreparer;
@Autowired
private GitLabApi gitLabApi;
@Autowired
private GitProperties gitProperties;
public String generate(ArchetypeGenerateParam param) { public String generate(ArchetypeGenerateParam param) {
String generateId = MavenUtils.generate(param); String generateId = MavenUtils.generate(param);
......
...@@ -6,4 +6,6 @@ spring: ...@@ -6,4 +6,6 @@ spring:
add-mappings: true add-mappings: true
gitlab: gitlab:
server-url: http://gitlab.schbrain.com/gitlab server-url: http://gitlab.schbrain.com/gitlab
personal-access-token: AzRH1rZ2HysUkHeycsaU personal-access-token: AzRH1rZ2HysUkHeycsaU
\ No newline at end of file archetype:
source-url: http://gitlab.schbrain.com/gitlab/tools/schbrain-archetype.git
\ No newline at end of file
...@@ -6,16 +6,16 @@ ...@@ -6,16 +6,16 @@
"build": "vite build --mode production" "build": "vite build --mode production"
}, },
"dependencies": { "dependencies": {
"vue": "^3.2.33", "vue": "^3.2.37",
"axios": "^0.27.2", "axios": "^0.27.2",
"ant-design-vue": "^3.2.2", "ant-design-vue": "^3.2.10",
"highlight.js": "^11.5.1", "highlight.js": "^11.6.0",
"@highlightjs/vue-plugin": "^2.1.0" "@highlightjs/vue-plugin": "^2.1.0"
}, },
"devDependencies": { "devDependencies": {
"@vitejs/plugin-vue": "^2.3.1", "@vitejs/plugin-vue": "^3.0.1",
"typescript": "^4.6.4", "typescript": "^4.7.4",
"vite": "^2.9.7", "vite": "^3.0.4",
"vue-tsc": "^0.34.11" "vue-tsc": "^0.39.4"
} }
} }
\ No newline at end of file
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<artifactId>frontend-maven-plugin</artifactId> <artifactId>frontend-maven-plugin</artifactId>
<version>${frontend-maven-plugin.version}</version> <version>${frontend-maven-plugin.version}</version>
<configuration> <configuration>
<nodeVersion>v17.9.0</nodeVersion> <nodeVersion>v18.7.0</nodeVersion>
<nodeDownloadRoot>https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/</nodeDownloadRoot> <nodeDownloadRoot>https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/</nodeDownloadRoot>
</configuration> </configuration>
<executions> <executions>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment