Main.java 4.0 KB
package com.msl;

import com.google.common.collect.Sets;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;

import java.io.File;
import java.util.Set;

/**
 * @author wanglq
 * Date 2024/8/2
 * Time 17:06
 */
public class Main {
    public static Set<String> ignorePath = Sets.newHashSet();
    public static Set<String> suffix = Sets.newHashSet();

    static {
        ignorePath.add(".git");
        ignorePath.add(".idea");

        suffix.add("java");
        suffix.add("xml");
    }

    public static void main(String[] args) throws Exception {
//        doReplace("D:\\develop\\clx_projects\\msl-supervise\\supervise-web");
//        doReplace("D:\\develop\\clx_projects\\msl-common-starter\\log-spring-boot-starter");
//        doReplace("D:\\IdeaProjects\\clx\\clx-open");
//        doReplace("D:\\IdeaProjects\\clx\\clx-open\\clx-open-api");
//        doReplace("D:\\IdeaProjects\\clx\\clx-open\\clx-open-sdk");
//        doReplace("D:\\IdeaProjects\\clx\\clx-open\\clx-open-web");


//        doReplace("D:\\IdeaProjects\\clx\\clx-user");
//        doReplace("D:\\IdeaProjects\\clx\\clx-user\\clx-user-api");
//        doReplace("D:\\IdeaProjects\\clx\\clx-user\\clx-user-web");

//        doReplace("D:\\IdeaProjects\\clx\\lms-manage");
//        doReplace("D:\\IdeaProjects\\clx\\lms-manage\\lms-manage-api");
//        doReplace("D:\\IdeaProjects\\clx\\lms-manage\\lms-manage-sdk");

//        doReplace("D:\\IdeaProjects\\clx\\common-open");
//        doReplace("D:\\IdeaProjects\\clx\\common-open\\open-core");
//        doReplace("D:\\IdeaProjects\\clx\\common-open\\open-sdk");
//        doReplace("D:\\IdeaProjects\\clx\\common-open\\open-starter");

//        doReplace("D:\\IdeaProjects\\clx\\clx-setting");
//        doReplace("D:\\IdeaProjects\\clx\\clx-setting\\setting-api");
//        doReplace("D:\\IdeaProjects\\clx\\clx-setting\\web");

//        doReplace("D:\\IdeaProjects\\clx\\clx-statistics");
//        doReplace("D:\\IdeaProjects\\clx\\clx-statistics\\clx-statistics-api");
//        doReplace("D:\\IdeaProjects\\clx\\clx-statistics\\clx-statistics-web");

//        doReplace("D:\\IdeaProjects\\clx\\clx-order");
//        doReplace("D:\\IdeaProjects\\clx\\clx-order\\order-api");
//        doReplace("D:\\IdeaProjects\\clx\\clx-order\\order-web");

        doReplace("D:\\IdeaProjects\\clx\\clx-contract");
        doReplace("D:\\IdeaProjects\\clx\\clx-contract\\contract-api");
        doReplace("D:\\IdeaProjects\\clx\\clx-contract\\web");


//        doReplace("D:\\IdeaProjects\\clx\\clx-performance");
//        doReplace("D:\\IdeaProjects\\clx\\clx-performance\\performance-api");
//        doReplace("D:\\IdeaProjects\\clx\\clx-performance\\performance-web");

//        doReplace("D:\\IdeaProjects\\clx\\purchase-manage");
//        doReplace("D:\\IdeaProjects\\clx\\purchase-manage\\purchase-manage-api");
//        doReplace("D:\\IdeaProjects\\clx\\purchase-manage\\purchase-manage-sdk");
//        doReplace("D:\\IdeaProjects\\clx\\purchase-manage\\purchase-manage-web");
    }

    public static void doReplace(String path) throws Exception {
        File file = new File(path);
        if (!file.exists()) {
            System.out.println("路径不存在,无法替换……");
        }
        doReplace(file);
    }

    public static void doReplace(File file) throws Exception {
        if (file.isFile()) {
            String extension = FilenameUtils.getExtension(file.getName());
            if (!suffix.contains(extension)) {
                return;
            }
            FileContext context = new FileContext(file);
            System.out.println("处理文件:" + file.getName());
            FileUpdaterManager.update(context);
            //写回文件
            FileUtils.write(file, context.getContent(), "UTF-8");
        } else {
            if (ignorePath.contains(file.getName())) {
                return;
            }
            for (File childFile : file.listFiles()) {
                doReplace(childFile);
            }
        }
    }
}