use of com.github.mengweijin.generator.entity.ProjectInfo in project code-generator-maven-plugin by mengweijin.
the class DefaultAutoGenerator method execute.
public void execute() {
Parameters parameters = projectInfo.getParameters();
String outputDir = FileUtil.file(projectInfo.getBaseDir(), "target/code-generator/").getAbsolutePath();
// clean directory target/code-generator
FileUtil.del(outputDir);
FastAutoGenerator fastAutoGenerator = FastAutoGenerator.create(dataSourceConfigBuilder()).globalConfig(builder -> builder.fileOverride().author(parameters.getAuthor()).enableSwagger().disableOpenDir().outputDir(outputDir).dateType(DateType.TIME_PACK).commentDate("yyyy-MM-dd")).packageConfig(builder -> builder.parent(parameters.getOutputPackage())).templateConfig((Consumer<TemplateConfig.Builder>) TemplateConfig.Builder::disable).strategyConfig(builder -> builder.addInclude(this.trimItemName(parameters.getTables())).addTablePrefix(this.trimItemName(parameters.getTablePrefix())).entityBuilder().superClass(parameters.getSuperEntityClass()).enableChainModel().enableLombok().enableTableFieldAnnotation().versionColumnName("version").versionPropertyName("version").logicDeleteColumnName("deleted").logicDeletePropertyName("deleted").naming(NamingStrategy.underline_to_camel).addSuperEntityColumns(this.generateDefaultSuperEntityColumns()).controllerBuilder().superClass(parameters.getSuperControllerClass()).enableHyphenStyle().enableRestStyle().serviceBuilder().superServiceClass(parameters.getSuperServiceClass()).superServiceImplClass(parameters.getSuperServiceImplClass()).mapperBuilder().superClass(parameters.getSuperDaoClass()).enableBaseColumnList().enableBaseResultMap()).injectionConfig(builder -> {
builder.beforeOutputFile(((tableInfo, objectMap) -> {
enhanceObjectMap(objectMap, parameters);
FileOutput.outputFile(tableInfo, objectMap, projectInfo, outputDir);
}));
}).templateEngine(TemplateEngineFactory.getTemplateEngine(this.projectInfo.getParameters().getTemplateType()));
fastAutoGenerator.execute();
}
use of com.github.mengweijin.generator.entity.ProjectInfo in project code-generator-maven-plugin by mengweijin.
the class AbstractGeneratorMojo method execute.
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
try {
// clean TMP folder
FileUtil.del(FileUtil.file(ProjectInfo.TMP_DIR));
this.loadParentProjectClassToJarClassLoader();
TemplateUtils.copyTemplateFolderToJavaTmp("templates/");
this.parameters = Optional.ofNullable(this.parameters).orElse(new Parameters());
this.setDefaultFixedParameters(this.parameters);
ProjectInfo projectInfo = new ProjectInfo();
projectInfo.setParameters(this.parameters);
projectInfo.setResourceList(this.getResources());
projectInfo.setBaseDir(this.baseDir);
projectInfo.setSourceDir(this.sourceDir);
new DefaultAutoGenerator(projectInfo).execute();
} catch (Exception e) {
getLog().error(e);
throw new RuntimeException(e);
}
}
Aggregations