Commit e3ec6a5f authored by liaozan's avatar liaozan 🏀

chore: fetch git resource

parent e5293711
......@@ -26,6 +26,13 @@ public class MavenUtils {
private static final File SETTINGS_FILE = new File(MavenCli.USER_MAVEN_CONFIGURATION_HOME, "settings.xml");
public static void install(String workDirectory) {
log.info("Prepare to install archive of : {}", workDirectory);
MavenCli mavenCli = new MavenCli();
mavenCli.doMain(getInstallArgs(), workDirectory, System.out, System.err);
log.info("Success install archive of : {}", workDirectory);
}
public static File generate(ArchetypeGenerateParam param) throws IOException {
log.info("Prepare to generate archetype project: {}", JacksonUtils.toJsonString(param, true));
......@@ -36,7 +43,7 @@ public class MavenUtils {
File settingsFile = getSettingsFile();
String[] args = getArgs(param, settingsFile.getAbsolutePath(), outputDirectory);
String[] args = getArchetypeGenerateArgs(param, settingsFile.getAbsolutePath(), outputDirectory);
System.getProperties().setProperty(MULTIMODULE_PROJECT_DIRECTORY, "$M2_HOME");
......@@ -84,8 +91,12 @@ public class MavenUtils {
return archetype;
}
private static String[] getInstallArgs() {
return new String[]{"-B", "clean", "install"};
}
@SuppressWarnings("SpellCheckingInspection")
private static String[] getArgs(ArchetypeGenerateParam param, String settingsFile, String outputDirectory) {
private static String[] getArchetypeGenerateArgs(ArchetypeGenerateParam param, String settingsFile, String outputDirectory) {
return new String[]{
"-B",
"archetype:generate",
......
package com.schbrain.archetype.initializer.runner;
import cn.hutool.system.SystemUtil;
import com.schbrain.archetype.initializer.maven.MavenUtils;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.jgit.api.CheckoutCommand;
import org.eclipse.jgit.api.Git;
......@@ -19,7 +20,7 @@ import java.io.File;
*/
@Slf4j
@Component
public class ArchetypeFetcher implements ApplicationRunner {
public class ArchetypePreparer implements ApplicationRunner {
private static final String ARCHETYPE_REPO_URL = "http://gitlab.schbrain.com/gitlab/tools/schbrain-archetype.git";
......@@ -38,6 +39,7 @@ public class ArchetypeFetcher implements ApplicationRunner {
CheckoutCommand checkoutCommand = git.checkout().setName("master").setCreateBranch(true);
Ref ref = checkoutCommand.call();
log.info("Success checkout archetype branch: {} of {}", ref.getName(), ARCHETYPE_REPO_URL);
MavenUtils.install(archetypeTemplateDirectory.getAbsolutePath());
}
}
\ No newline at end of file
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