Commit e5293711 authored by liaozan's avatar liaozan 🏀

chore: fetch git resource

parent a5cc9235
......@@ -33,22 +33,26 @@
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-embedder</artifactId>
<version>3.8.5</version>
<version>${maven-embedder.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>3.8.5</version>
<version>${maven-embedder.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-connector-basic</artifactId>
<version>1.1.0</version>
<version>${aether.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-transport-http</artifactId>
<version>1.1.0</version>
<version>${aether.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jgit</groupId>
<artifactId>org.eclipse.jgit</artifactId>
</dependency>
</dependencies>
......
package com.schbrain.archetype.initializer.runner;
import cn.hutool.system.SystemUtil;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.jgit.api.CheckoutCommand;
import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.lib.Ref;
import org.eclipse.jgit.transport.TagOpt;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
import java.io.File;
/**
* @author liaozan
* @since 2022/3/20
*/
@Slf4j
@Component
public class ArchetypeFetcher implements ApplicationRunner {
private static final String ARCHETYPE_REPO_URL = "http://gitlab.schbrain.com/gitlab/tools/schbrain-archetype.git";
@Override
public void run(ApplicationArguments args) throws GitAPIException {
String tempDir = SystemUtil.getUserInfo().getTempDir();
File archetypeTemplateDirectory = new File(tempDir, "archetype");
Git git = Git.cloneRepository()
.setTagOption(TagOpt.FETCH_TAGS)
.setNoCheckout(false)
.setDirectory(archetypeTemplateDirectory)
.setCloneSubmodules(false)
.setURI(ARCHETYPE_REPO_URL)
.setRemote("upstream")
.call();
CheckoutCommand checkoutCommand = git.checkout().setName("master").setCreateBranch(true);
Ref ref = checkoutCommand.call();
log.info("Success checkout archetype branch: {} of {}", ref.getName(), ARCHETYPE_REPO_URL);
}
}
\ No newline at end of file
......@@ -19,6 +19,8 @@
<properties>
<revision>0.0.1-SNAPSHOT</revision>
<frontend-maven-plugin.version>1.12.1</frontend-maven-plugin.version>
<maven-embedder.version>3.8.5</maven-embedder.version>
<aether.version>1.1.0</aether.version>
</properties>
<modules>
......
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