Commit e3ec6a5f authored by liaozan's avatar liaozan 🏀

chore: fetch git resource

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