in initializer-generator/src/main/java/com/alibaba/initializer/generation/BootstrapProjectGenerator.java [51:85]
public ProjectGenerationResult generate(ProjectGenerationRequest request) {
Map<String, Object> params = request.getParameters();
ProjectRequest projReq = new ProjectRequest();
projReq.getParameters().putAll(params);
projReq.initialize(metadataProvider.get());
// use spring component to set properties
BeanWrapper beanWrapper = new BeanWrapperImpl(projReq);
beanWrapper.setExtractOldValueForEditor(true);
beanWrapper.setConversionService(conversionService);
beanWrapper.setPropertyValues(new MutablePropertyValues(params), true);
io.spring.initializr.web.project.ProjectGenerationResult pRes = this.projectGenerationInvoker.invokeProjectStructureGeneration(projReq);
ProjectDescription pDesc = pRes.getProjectDescription();
ProjectGenerationResult result = new ProjectGenerationResult() {
@Override
public String getName() {
return pDesc.getArtifactId();
}
@Override
public Path getProjectRoot() {
return pRes.getRootDirectory();
}
@Override
public void cleanUp() {
projectGenerationInvoker.cleanTempFiles(getProjectRoot());
}
};
return result;
}