|
|
@@ -24,7 +24,9 @@ public class ProjectReactorUtils {
|
|
|
private static final String PACKAGE_NAME = "com.vber";
|
|
|
private static final String MODULE_PREFIX = "vber-";
|
|
|
private static final String MODULE_ARTIFACT_ID_PREFIX = "<artifactId>" + MODULE_PREFIX;
|
|
|
- private static final String TITLE = "VberAdminPlus后台管理系统";
|
|
|
+ private static final String MODULE_ID_PREFIX = "<module>" + MODULE_PREFIX;
|
|
|
+ private static final String TITLE = "VAP后台管理系统";
|
|
|
+ private static final String UI_FILE = "VAP.VUE";
|
|
|
/**
|
|
|
* 白名单文件,不进行重写,避免出问题
|
|
|
*/
|
|
|
@@ -33,6 +35,7 @@ public class ProjectReactorUtils {
|
|
|
|
|
|
public static void Build(@NotNull String groupId, @NotNull String artifactId, @NotNull String packageName, @NotNull String title, @NotNull String projectDir, String modulePrefix) {
|
|
|
modulePrefix = StrUtil.isEmpty(modulePrefix) ? "vber-" : modulePrefix;
|
|
|
+ projectDir= projectDir.endsWith("\\") ? projectDir : projectDir + "\\";
|
|
|
Build(new ProjectInfo(groupId, artifactId, packageName, title, projectDir, modulePrefix));
|
|
|
}
|
|
|
|
|
|
@@ -45,6 +48,8 @@ public class ProjectReactorUtils {
|
|
|
String packageName = StrUtil.isEmpty(projectInfo.getPackageName()) ? PACKAGE_NAME : projectInfo.getPackageName();
|
|
|
String modulePrefix = StrUtil.isEmpty(projectInfo.getModulePrefix()) ? MODULE_PREFIX : projectInfo.getModulePrefix();
|
|
|
String moduleArtifactIdPrefix = "<artifactId>" + modulePrefix;
|
|
|
+ String moduleIdPrefix = "<module>" + modulePrefix;
|
|
|
+ String uiFile = modulePrefix.replace("-","").toUpperCase()+".VUE";
|
|
|
String title = StrUtil.isEmpty(projectInfo.getTitle()) ? TITLE : projectInfo.getTitle();
|
|
|
|
|
|
if (StrUtil.isEmpty(projectInfo.getGroupId())) {
|
|
|
@@ -83,12 +88,12 @@ public class ProjectReactorUtils {
|
|
|
// 如果是白名单的文件类型,不进行重写,直接拷贝
|
|
|
String fileType = getFileType(file);
|
|
|
if (WHITE_FILE_TYPES.contains(fileType)) {
|
|
|
- copyFile(file, oldProjectDir, projectDir, packageName, artifactId, modulePrefix);
|
|
|
+ copyFile(file, oldProjectDir, projectDir, packageName, artifactId, modulePrefix,uiFile);
|
|
|
return;
|
|
|
}
|
|
|
// 如果非白名单的文件类型,重写内容,在生成文件
|
|
|
- String content = replaceFileContent(file, groupId, artifactId, packageName, title, moduleArtifactIdPrefix);
|
|
|
- writeFile(file, content, oldProjectDir, projectDir, packageName, artifactId, modulePrefix);
|
|
|
+ String content = replaceFileContent(file, groupId, artifactId, packageName, title, moduleArtifactIdPrefix,moduleIdPrefix);
|
|
|
+ writeFile(file, content, oldProjectDir, projectDir, packageName, artifactId, modulePrefix,uiFile);
|
|
|
});
|
|
|
log.info("[重写完成]共耗时:{} 秒", (System.currentTimeMillis() - start) / 1000);
|
|
|
}
|
|
|
@@ -123,7 +128,7 @@ public class ProjectReactorUtils {
|
|
|
|
|
|
private static String replaceFileContent(File file, String groupIdNew,
|
|
|
String artifactIdNew, String packageNameNew,
|
|
|
- String titleNew, String moduleArtifactIdPrefix) {
|
|
|
+ String titleNew, String moduleArtifactIdPrefix,String moduleIdSuffix) {
|
|
|
String content = FileUtil.readString(file, StandardCharsets.UTF_8);
|
|
|
// 如果是白名单的文件类型,不进行重写
|
|
|
String fileType = getFileType(file);
|
|
|
@@ -136,25 +141,27 @@ public class ProjectReactorUtils {
|
|
|
.replaceAll(MODULE_ARTIFACT_ID_PREFIX, moduleArtifactIdPrefix)
|
|
|
.replaceAll(ARTIFACT_ID, artifactIdNew) // 必须放在最后替换,因为 ARTIFACT_ID 太短!
|
|
|
.replaceAll(StrUtil.upperFirst(ARTIFACT_ID), StrUtil.upperFirst(artifactIdNew))
|
|
|
+ .replaceAll(StrUtil.upperFirst(MODULE_ID_PREFIX), StrUtil.upperFirst(moduleIdSuffix))
|
|
|
.replaceAll(TITLE, titleNew);
|
|
|
}
|
|
|
|
|
|
- private static void writeFile(File file, String fileContent, String projectBaseDir, String projectBaseDirNew, String packageNameNew, String artifactIdNew, String modulePrefix) {
|
|
|
- String newPath = buildNewFilePath(file, projectBaseDir, projectBaseDirNew, packageNameNew, artifactIdNew, modulePrefix);
|
|
|
+ private static void writeFile(File file, String fileContent, String projectBaseDir, String projectBaseDirNew, String packageNameNew, String artifactIdNew, String modulePrefix,String uiFile) {
|
|
|
+ String newPath = buildNewFilePath(file, projectBaseDir, projectBaseDirNew, packageNameNew, artifactIdNew, modulePrefix,uiFile);
|
|
|
FileUtil.writeUtf8String(fileContent, newPath);
|
|
|
}
|
|
|
|
|
|
- private static void copyFile(File file, String projectBaseDir, String projectBaseDirNew, String packageNameNew, String artifactIdNew, String modulePrefix) {
|
|
|
- String newPath = buildNewFilePath(file, projectBaseDir, projectBaseDirNew, packageNameNew, artifactIdNew, modulePrefix);
|
|
|
+ private static void copyFile(File file, String projectBaseDir, String projectBaseDirNew, String packageNameNew, String artifactIdNew, String modulePrefix,String uiFile) {
|
|
|
+ String newPath = buildNewFilePath(file, projectBaseDir, projectBaseDirNew, packageNameNew, artifactIdNew, modulePrefix,uiFile);
|
|
|
FileUtil.copyFile(file, new File(newPath));
|
|
|
}
|
|
|
|
|
|
- private static String buildNewFilePath(File file, String projectBaseDir, String projectBaseDirNew, String packageNameNew, String artifactIdNew, String modulePrefix) {
|
|
|
+ private static String buildNewFilePath(File file, String projectBaseDir, String projectBaseDirNew, String packageNameNew, String artifactIdNew, String modulePrefix,String uiFile) {
|
|
|
return file.getPath().replace(projectBaseDir, projectBaseDirNew) // 新目录
|
|
|
.replace(PACKAGE_NAME.replaceAll("\\.", Matcher.quoteReplacement(separator)),
|
|
|
packageNameNew.replaceAll("\\.", Matcher.quoteReplacement(separator)))
|
|
|
.replace(ARTIFACT_ID, artifactIdNew) //
|
|
|
.replace(MODULE_PREFIX, modulePrefix) //
|
|
|
+ .replace(UI_FILE, uiFile) //
|
|
|
.replaceAll(StrUtil.upperFirst(ARTIFACT_ID), StrUtil.upperFirst(artifactIdNew));
|
|
|
}
|
|
|
|