diff --git a/initializer-backend/src/main/java/com/schbrain/archetype/initializer/InitializerBackendApplication.java b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/InitializerBackendApplication.java index 594bc345ca9ef18d87d19df1c9ed380545e012c2..724f0944b04717302e1106293e9cf39ce7892fa5 100644 --- a/initializer-backend/src/main/java/com/schbrain/archetype/initializer/InitializerBackendApplication.java +++ b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/InitializerBackendApplication.java @@ -1,13 +1,17 @@ package com.schbrain.archetype.initializer; -import org.springframework.boot.SpringApplication; +import com.schbrain.archetype.initializer.listener.ProjectWarmUpListener; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; @SpringBootApplication public class InitializerBackendApplication { public static void main(String[] args) { - SpringApplication.run(InitializerBackendApplication.class, args); + SpringApplicationBuilder builder = new SpringApplicationBuilder(); + builder.listeners(new ProjectWarmUpListener()); + builder.sources(InitializerBackendApplication.class); + builder.run(args); } } \ No newline at end of file diff --git a/initializer-backend/src/main/java/com/schbrain/archetype/initializer/listener/ProjectWarmUpListener.java b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/listener/ProjectWarmUpListener.java new file mode 100644 index 0000000000000000000000000000000000000000..cb6d7fb16b86d51f2d4e3a7128ce42688ba7a811 --- /dev/null +++ b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/listener/ProjectWarmUpListener.java @@ -0,0 +1,31 @@ +package com.schbrain.archetype.initializer.listener; + +import com.schbrain.archetype.initializer.maven.MavenUtils; +import com.schbrain.archetype.initializer.param.ArchetypeGenerateParam; +import lombok.SneakyThrows; +import org.springframework.boot.context.event.ApplicationStartedEvent; +import org.springframework.context.ApplicationListener; + +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; + +/** + * @author liaozan + * @since 2022/3/20 + */ +public class ProjectWarmUpListener implements ApplicationListener { + + private final Executor executor = Executors.newSingleThreadExecutor(); + + @SneakyThrows + @Override + public void onApplicationEvent(ApplicationStartedEvent event) { + executor.execute(() -> { + ArchetypeGenerateParam mockParam = new ArchetypeGenerateParam(); + mockParam.setGroupId("com.schbrain"); + mockParam.setArtifactId("schbrain-init"); + MavenUtils.generate(mockParam); + }); + } + +} \ No newline at end of file diff --git a/initializer-backend/src/main/java/com/schbrain/archetype/initializer/maven/MavenUtils.java b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/maven/MavenUtils.java index c6ac5dd469d5bf3267668ce1f551501322cdfcc9..efb572ceac228b81361d982790910de99c51f41b 100644 --- a/initializer-backend/src/main/java/com/schbrain/archetype/initializer/maven/MavenUtils.java +++ b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/maven/MavenUtils.java @@ -38,12 +38,12 @@ public class MavenUtils { log.info("Success install archive of : {}", workDirectory); } - public static File generate(ArchetypeGenerateParam param) throws IOException { + public static File generate(ArchetypeGenerateParam param) { log.info("Prepare to generate archetype project: {}", JacksonUtils.toJsonString(param, true)); MavenCli mavenCli = new MavenCli(); - File archetype = getArchetypeDirectory(param.getArtifact()); + File archetype = getArchetypeDirectory(param.getArtifactId()); String outputDirectory = archetype.getAbsolutePath(); String[] args = getArchetypeGenerateArgs(param, getSettingsFile().getAbsolutePath(), outputDirectory); diff --git a/initializer-backend/src/main/java/com/schbrain/archetype/initializer/param/ArchetypeGenerateParam.java b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/param/ArchetypeGenerateParam.java index 23bdce629d14d437139fd2fea5eb5a6fdf4bddaa..0ce7402ac845b06fdeebdf250849658713a5fc95 100644 --- a/initializer-backend/src/main/java/com/schbrain/archetype/initializer/param/ArchetypeGenerateParam.java +++ b/initializer-backend/src/main/java/com/schbrain/archetype/initializer/param/ArchetypeGenerateParam.java @@ -11,7 +11,6 @@ import javax.validation.constraints.NotBlank; @Data public class ArchetypeGenerateParam { - @NotBlank private String groupId; @NotBlank