Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
schbrain-archetype-initializer
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tools
schbrain-archetype-initializer
Commits
c19c8bf1
Commit
c19c8bf1
authored
May 11, 2022
by
liaozan
🏀
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
6af6ef44
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
51 additions
and
35 deletions
+51
-35
initializer-backend/src/main/java/com/schbrain/archetype/initializer/config/WebConfiguration.java
...hbrain/archetype/initializer/config/WebConfiguration.java
+16
-17
initializer-backend/src/main/java/com/schbrain/archetype/initializer/config/properties/ArchetypeProperties.java
...pe/initializer/config/properties/ArchetypeProperties.java
+16
-0
initializer-backend/src/main/java/com/schbrain/archetype/initializer/runner/ArchetypePreparer.java
...brain/archetype/initializer/runner/ArchetypePreparer.java
+8
-3
initializer-backend/src/main/java/com/schbrain/archetype/initializer/service/ArchetypeService.java
...brain/archetype/initializer/service/ArchetypeService.java
+0
-6
initializer-backend/src/main/resources/application.yaml
initializer-backend/src/main/resources/application.yaml
+3
-1
initializer-ui/package.json
initializer-ui/package.json
+7
-7
initializer-ui/pom.xml
initializer-ui/pom.xml
+1
-1
No files found.
initializer-backend/src/main/java/com/schbrain/archetype/initializer/config/WebConfiguration.java
View file @
c19c8bf1
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
initializer-backend/src/main/java/com/schbrain/archetype/initializer/config/properties/ArchetypeProperties.java
0 → 100644
View file @
c19c8bf1
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
initializer-backend/src/main/java/com/schbrain/archetype/initializer/runner/ArchetypePreparer.java
View file @
c19c8bf1
...
...
@@ -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
);
}
...
...
initializer-backend/src/main/java/com/schbrain/archetype/initializer/service/ArchetypeService.java
View file @
c19c8bf1
...
...
@@ -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
);
...
...
initializer-backend/src/main/resources/application.yaml
View file @
c19c8bf1
...
...
@@ -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
initializer-ui/package.json
View file @
c19c8bf1
...
...
@@ -6,16 +6,16 @@
"build"
:
"vite build --mode production"
},
"dependencies"
:
{
"vue"
:
"^3.2.3
3
"
,
"vue"
:
"^3.2.3
7
"
,
"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.3
4.11
"
"@vitejs/plugin-vue"
:
"^
3.0
.1"
,
"typescript"
:
"^4.
7
.4"
,
"vite"
:
"^
3.0.4
"
,
"vue-tsc"
:
"^0.3
9.4
"
}
}
\ No newline at end of file
initializer-ui/pom.xml
View file @
c19c8bf1
...
...
@@ -20,7 +20,7 @@
<artifactId>
frontend-maven-plugin
</artifactId>
<version>
${frontend-maven-plugin.version}
</version>
<configuration>
<nodeVersion>
v1
7.9
.0
</nodeVersion>
<nodeVersion>
v1
8.7
.0
</nodeVersion>
<nodeDownloadRoot>
https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/
</nodeDownloadRoot>
</configuration>
<executions>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment