Commit fd8568b2 authored by liaozan's avatar liaozan 🏀

chore: warm up project

parent b5d07a5e
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
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<ApplicationStartedEvent> {
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
......@@ -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);
......
......@@ -11,7 +11,6 @@ import javax.validation.constraints.NotBlank;
@Data
public class ArchetypeGenerateParam {
@NotBlank
private String groupId;
@NotBlank
......
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