diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..be08c0e --- /dev/null +++ b/.gitignore @@ -0,0 +1,44 @@ +# === 构建产物 === +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ +/dist/ + +# === 运行时数据文件 === +/data/ +/logs/ +/export/ +build.log + +# === 空模板目录保护 === +!/src/main/resources/config/ + +# === IDE === +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/build.log b/build.log deleted file mode 100644 index 222ddd4..0000000 --- a/build.log +++ /dev/null @@ -1,69 +0,0 @@ -[INFO] Scanning for projects... -[WARNING] -[WARNING] Some problems were encountered while building the effective model for com.example:workutils:jar:0.0.1-SNAPSHOT -[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: com.alibaba:fastjson:jar -> version 2.0.57 vs 1.2.83 @ line 146, column 21 -[WARNING] -[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. -[WARNING] -[WARNING] For this reason, future Maven versions might no longer support building such malformed projects. -[WARNING] -[INFO] -[INFO] -----------------------< com.example:workutils >------------------------ -[INFO] Building workutils 0.0.1-SNAPSHOT -[INFO] from pom.xml -[INFO] --------------------------------[ jar ]--------------------------------- -[WARNING] The POM for com.oracle.javafx:jfxrt:jar:8.0 is missing, no dependency information available -[INFO] -[INFO] --- clean:3.2.0:clean (default-clean) @ workutils --- -[INFO] Deleting D:\workspace\workutils\target -[INFO] -[INFO] --- resources:3.2.0:resources (default-resources) @ workutils --- -[INFO] Using 'UTF-8' encoding to copy filtered resources. -[INFO] Using 'UTF-8' encoding to copy filtered properties files. -[INFO] Copying 1 resource -[INFO] Copying 5 resources -[INFO] -[INFO] --- compiler:3.10.1:compile (default-compile) @ workutils --- -[INFO] Changes detected - recompiling the module! -[INFO] Compiling 36 source files to D:\workspace\workutils\target\classes -[INFO] -[INFO] --- resources:3.2.0:testResources (default-testResources) @ workutils --- -[INFO] Using 'UTF-8' encoding to copy filtered resources. -[INFO] Using 'UTF-8' encoding to copy filtered properties files. -[INFO] skip non existing resourceDirectory D:\workspace\workutils\src\test\resources -[INFO] -[INFO] --- compiler:3.10.1:testCompile (default-testCompile) @ workutils --- -[INFO] No sources to compile -[INFO] -[INFO] --- surefire:2.22.2:test (default-test) @ workutils --- -[INFO] Tests are skipped. -[INFO] -[INFO] --- jar:3.2.2:jar (default-jar) @ workutils --- -[INFO] Building jar: D:\workspace\workutils\target\workutils-0.0.1-SNAPSHOT.jar -[INFO] -[INFO] --- spring-boot:2.7.18:repackage (repackage) @ workutils --- -[INFO] Replacing main artifact with repackaged archive -[INFO] -[INFO] --- launch4j:2.5.3:launch4j (l4j-exe) @ workutils --- -[WARNING] jre.path not set, defaulting to "%JAVA_HOME%;%PATH%" -[WARNING] Configuration param ${project.organization.name} is empty, so a dummy value "Default organization" might be used instead to fulfill some of VersionInfo params by defaults. -[WARNING] Configuration param ${project.inceptionYear} is empty, so a dummy value "2020" might be used instead to fulfill some of VersionInfo params by defaults. -[INFO] Found launch4j version 3.50 -[INFO] Platform-specific work directory already exists: C:\Users\73212\.m2\repository\net\sf\launch4j\launch4j\3.50\launch4j-3.50-workdir-win32 -[INFO] Using workdir C:\Users\73212\.m2\repository\net\sf\launch4j\launch4j\3.50\launch4j-3.50-workdir-win32 -[INFO] launch4j: Compiling resources -[INFO] launch4j: Linking -[INFO] launch4j: Wrapping -WARNING: Sign the executable to minimize antivirus false positives or use launching instead of wrapping. -[INFO] launch4j: Successfully created D:\workspace\workutils\target\workutils.exe -[INFO] -[INFO] --- resources:3.2.0:copy-resources (copy-start-bat) @ workutils --- -[INFO] Using 'UTF-8' encoding to copy filtered resources. -[INFO] Using 'UTF-8' encoding to copy filtered properties files. -[INFO] Copying 1 resource -[INFO] ------------------------------------------------------------------------ -[INFO] BUILD SUCCESS -[INFO] ------------------------------------------------------------------------ -[INFO] Total time: 12.415 s -[INFO] Finished at: 2026-06-11T17:28:56+08:00 -[INFO] ------------------------------------------------------------------------ diff --git a/项目目录结构说明.md b/docs/项目目录结构说明.md similarity index 89% rename from 项目目录结构说明.md rename to docs/项目目录结构说明.md index 1ab8032..dd7daab 100644 --- a/项目目录结构说明.md +++ b/docs/项目目录结构说明.md @@ -10,26 +10,45 @@ ``` workutils/ -├── export/ # 导出文件目录(运行结果输出) -├── logs/ # 日志文件目录 +├── docs/ # 项目文档 +│ ├── 项目说明.md +│ └── 项目目录结构说明.md +├── scripts/ # 构建/启动脚本 +│ ├── build_release.bat # 生产构建脚本 +│ ├── start.bat # 快速启动入口 +│ └── start-jar.bat # jar 启动脚本(UTF-8) ├── src/ # 源代码目录 -├── target/ # Maven 编译输出目录(67个.class文件) -├── generator.rar # MyBatis Generator 压缩包 +├── lib/ # Maven 本地文件仓库(jfxrt.jar 等) +├── target/ # Maven 编译输出 ├── mvnw # Maven Wrapper(Unix/Mac) ├── mvnw.cmd # Maven Wrapper(Windows) ├── pom.xml # Maven 项目配置文件 -├── 项目说明.md # 项目概述文档 -└── 项目目录结构说明.md # 本文件 +├── .gitignore # Git 忽略规则 +│ +├── (运行时生成,已 gitignore) +├── data/ # 运行时配置文件和数据 +│ ├── workutils.config # 外部配置 +│ ├── project_paths.txt # 项目路径数据 +│ └── damaged_repos.cache # 损坏仓库缓存 +├── logs/ # 运行时日志 +├── export/ # 运行时导出文件(按日期子目录) +└── build.log # 构建日志 ``` | 文件/目录 | 说明 | |-----------|------| +| `docs/` | 项目文档目录 | +| `scripts/` | 构建/启动脚本目录,包含构建打包、启动入口等 | +| `lib/` | Maven 本地文件仓库,存放 jfxrt.jar 等外部依赖 | | `pom.xml` | Maven 项目配置,定义依赖(Spring Boot、MyBatis、EasyExcel、JGit、Dubbo、Redis Jedis、OpenCSV 等) | | `mvnw` / `mvnw.cmd` | Maven Wrapper 脚本,无需本地安装 Maven 即可构建项目 | -| `generator.rar` | MyBatis Generator 相关资源压缩包 | +| `logs/` | 应用程序运行时日志输出目录 | | `export/` | 运行工具后输出的结果文件目录,按日期分子目录(如 `20260608/`) | -| `logs/` | 应用程序日志输出目录 | | `target/` | Maven 编译产物,包含编译后的 `.class` 文件和资源文件副本 | +| `data/` | 运行时配置文件和数据目录 | +| `data/workutils.config` | 外部配置文件,首次运行时从 `application.yml` 自动生成 | +| `data/project_paths.txt` | 项目路径配置,首次运行时从模板 `templates/project_paths.txt` 复制 | +| `data/damaged_repos.cache` | 损坏仓库缓存,首次运行时从模板复制 | --- @@ -208,8 +227,10 @@ src/main/resources/ ├── logback.xml # 日志框架配置 ├── mybatis-generator.xml # MyBatis Generator 配置文件 ├── mybatis-generator.properties # MyBatis Generator 数据库连接配置 -└── config/ - └── 代码仓库项目路径.txt # 要扫描的代码仓库路径列表(含状态标记) +├── config/ # 旧配置文件(已废弃,保留兼容) +└── templates/ # 数据文件模板(首次运行时复制到 user.dir) + ├── project_paths.txt # 项目路径配置模板 + └── damaged_repos.cache # 损坏仓库缓存模板 ``` | 文件 | 说明 | @@ -218,7 +239,7 @@ src/main/resources/ | `logback.xml` | Logback 日志配置,控制台输出格式为 `HH:mm:ss.SSS [线程] 级别 Logger - 消息` | | `mybatis-generator.xml` | MyBatis Generator 配置,引用自定义插件(LombokPlugin、SelectiveOnlyPlugin、CustomCommentGenerator),配置模型/Mapper/XML 生成路径 | | `mybatis-generator.properties` | 数据库连接信息(MySQL),JDBC URL/用户名/密码/驱动路径,以及生成的包路径 | -| `代码仓库项目路径.txt` | 待扫描的代码仓库绝对路径列表,每行格式 `路径|状态`(NORMAL/CORRUPTED),共约72个项目 | +| `templates/` | 数据文件模板目录,首次运行时自动复制到 `user.dir` 同级目录 | --- diff --git a/项目说明.md b/docs/项目说明.md similarity index 100% rename from 项目说明.md rename to docs/项目说明.md diff --git a/generator.rar b/generator.rar deleted file mode 100644 index 29a7f88..0000000 Binary files a/generator.rar and /dev/null differ diff --git a/lib-repo/com/oracle/javafx/jfxrt/8.0/jfxrt-8.0.jar b/lib/com/oracle/javafx/jfxrt/8.0/jfxrt-8.0.jar similarity index 100% rename from lib-repo/com/oracle/javafx/jfxrt/8.0/jfxrt-8.0.jar rename to lib/com/oracle/javafx/jfxrt/8.0/jfxrt-8.0.jar diff --git a/lib/jfxrt.jar b/lib/jfxrt.jar deleted file mode 100644 index 8b620f9..0000000 Binary files a/lib/jfxrt.jar and /dev/null differ diff --git a/pom.xml b/pom.xml index a28f926..1a04d70 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,7 @@ local-lib-repo - file://${project.basedir}/lib-repo + file://${project.basedir}/lib @@ -190,7 +190,7 @@ - + com.oracle.javafx @@ -247,23 +247,24 @@ - + org.apache.maven.plugins maven-resources-plugin 3.2.0 - copy-start-bat + copy-start-scripts package copy-resources ${project.build.directory} - ${basedir} + ${basedir}/scripts start.bat + start-jar.bat diff --git a/build_release.bat b/scripts/build_release.bat similarity index 95% rename from build_release.bat rename to scripts/build_release.bat index 5355fb1..3e1a8a2 100644 --- a/build_release.bat +++ b/scripts/build_release.bat @@ -7,8 +7,10 @@ setlocal enabledelayedexpansion :: 输出:target\dist\workutils-v{version}.zip(含 exe + jar + bat + config) :: ============================================ -set PROJECT_DIR=%~dp0 -set TARGET=%PROJECT_DIR%target +::: 切换到项目根目录 +cd /d "%~dp0.." +set PROJECT_DIR=%CD% +set TARGET=%PROJECT_DIR%\target set DIST=%TARGET%\dist set VERSION= diff --git a/start-jar.bat b/scripts/start-jar.bat similarity index 50% rename from start-jar.bat rename to scripts/start-jar.bat index e596e86..c372576 100644 --- a/start-jar.bat +++ b/scripts/start-jar.bat @@ -2,6 +2,6 @@ chcp 65001 >nul title WorkUtils -java -Dfile.encoding=UTF-8 -jar "%~dp0target\workutils-0.0.1-SNAPSHOT.jar" %* +java -Dfile.encoding=UTF-8 -jar "%~dp0target\workutils-0.0.2-SNAPSHOT.jar" %* pause diff --git a/start.bat b/scripts/start.bat similarity index 82% rename from start.bat rename to scripts/start.bat index 9c642fa..a2220da 100644 --- a/start.bat +++ b/scripts/start.bat @@ -7,4 +7,4 @@ echo 控制台编码: UTF-8 (65001) echo ==================================== echo. cd /d "%~dp0" -java -jar workutils-0.0.1-SNAPSHOT.jar +java -jar target\workutils-0.0.2-SNAPSHOT.jar diff --git a/src/main/java/com/example/workutils/system/config/ExternalConfigManager.java b/src/main/java/com/example/workutils/system/config/ExternalConfigManager.java index 966b91c..f198994 100644 --- a/src/main/java/com/example/workutils/system/config/ExternalConfigManager.java +++ b/src/main/java/com/example/workutils/system/config/ExternalConfigManager.java @@ -27,7 +27,7 @@ import java.util.Properties; @Component public class ExternalConfigManager { - static final String CONFIG_FILE_NAME = "workutils.config"; + static final String CONFIG_FILE_NAME = "data/workutils.config"; // ---- 系统路径 ---- public static final String KEY_BASE_DIR = "base-directory"; diff --git a/src/main/java/com/example/workutils/system/config/WorkUtilsProperties.java b/src/main/java/com/example/workutils/system/config/WorkUtilsProperties.java index 01a546a..1551bcf 100644 --- a/src/main/java/com/example/workutils/system/config/WorkUtilsProperties.java +++ b/src/main/java/com/example/workutils/system/config/WorkUtilsProperties.java @@ -215,10 +215,12 @@ public class WorkUtilsProperties { * 无法读取模板时则创建空文件。 */ private void ensureDataFilesExist() { - ensureDataFile(getProjectPathsFilePath(), "config/project_paths.txt", "项目路径文件"); - ensureDataFile(getDamagedReposFilePath(), "config/damaged_repos.cache", "损坏缓存文件"); + ensureDataFile(getProjectPathsFilePath(), TEMPLATES_PATH + "project_paths.txt", "项目路径文件"); + ensureDataFile(getDamagedReposFilePath(), TEMPLATES_PATH + "damaged_repos.cache", "损坏缓存文件"); } + private static final String TEMPLATES_PATH = "templates/"; + private void ensureDataFile(Path target, String classpathResource, String label) { try { if (Files.exists(target)) return; diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 564e52f..0e85812 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -7,9 +7,9 @@ workutils: base-directory: "" # export dir, empty = defaults to {user.dir}/export (auto-created on startup) export-directory: "" - # data file paths (relative -> under user.dir, absolute -> as-is) - project-paths-file: "project_paths.txt" - damaged-repos-file: "damaged_repos.cache" + # data file paths (relative -> under user.dir/data/, absolute -> as-is) + project-paths-file: "data/project_paths.txt" + damaged-repos-file: "data/damaged_repos.cache" logging: charset: diff --git a/src/main/resources/config/damaged_repos.cache b/src/main/resources/config/damaged_repos.cache deleted file mode 100644 index ef0aaea..0000000 --- a/src/main/resources/config/damaged_repos.cache +++ /dev/null @@ -1 +0,0 @@ -branch:master diff --git a/src/main/resources/config/代码仓库项目路径.txt b/src/main/resources/config/代码仓库项目路径.txt deleted file mode 100644 index 66baacc..0000000 --- a/src/main/resources/config/代码仓库项目路径.txt +++ /dev/null @@ -1,67 +0,0 @@ -D:/bestpay-srdcloud/ft-compensatory-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-creative-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-credit-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-customer-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-file-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-finflux-gw-adapter=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-lending-management-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-loancapital-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-loan-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-organmng-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-orgsupport-weixin=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-protocol-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-repay-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-risk-control-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-settlement-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-wechatstage-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-agent-admin=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-batch-creditpayment=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-batch-creditpayment-plus=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-blockchain-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-boss=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-clrstl-fee-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-clrstl-report-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-codeutils=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-collateral-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-commodity-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-commonservice=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-consumestage-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-consumestage-mall=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-credit-bizfront=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-credit-bizfront-plus=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-credit-front=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-credit-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-credit-prod-manage=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-creditstagescore=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-credituse-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-ctcorp-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-customer-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-file-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-govent-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-grant-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-info-collection=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-instalment-admin=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-instalment-batch=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-invoice-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-lending-management-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-loancapital-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-marketing-manage=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-marketing-manage-plus=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-onlinestage-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-organmng-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-precredit-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-productcfg-core-plus=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-protocol-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-risktool=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-scheduler=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-search=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-settlement-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-thirdpartybiz-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-trade-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-wechatstage-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-approval-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-asset-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-blockchain-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-collateral-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-commodity-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-commonservice=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ \ No newline at end of file diff --git a/damaged_repos.cache b/src/main/resources/templates/damaged_repos.cache similarity index 100% rename from damaged_repos.cache rename to src/main/resources/templates/damaged_repos.cache diff --git a/src/main/resources/templates/project_paths.txt b/src/main/resources/templates/project_paths.txt new file mode 100644 index 0000000..c073f66 --- /dev/null +++ b/src/main/resources/templates/project_paths.txt @@ -0,0 +1,3 @@ +# 项目路径配置文件 +# 格式: 本地路径=Git仓库URL(每行一个项目) +# 示例: D:/workspace/my-project=https://user@code.example.com/org/repo.git diff --git a/代码仓库项目路径.txt b/代码仓库项目路径.txt deleted file mode 100644 index 66baacc..0000000 --- a/代码仓库项目路径.txt +++ /dev/null @@ -1,67 +0,0 @@ -D:/bestpay-srdcloud/ft-compensatory-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-creative-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-credit-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-customer-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-file-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-finflux-gw-adapter=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-lending-management-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-loancapital-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-loan-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-organmng-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-orgsupport-weixin=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-protocol-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-repay-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-risk-control-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-settlement-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-wechatstage-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-agent-admin=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-batch-creditpayment=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-batch-creditpayment-plus=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-blockchain-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-boss=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-clrstl-fee-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-clrstl-report-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-codeutils=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-collateral-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-commodity-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-commonservice=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-consumestage-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-consumestage-mall=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-credit-bizfront=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-credit-bizfront-plus=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-credit-front=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-credit-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-credit-prod-manage=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-creditstagescore=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-credituse-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-ctcorp-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-customer-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-file-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-govent-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-grant-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-info-collection=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-instalment-admin=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-instalment-batch=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-invoice-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-lending-management-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-loancapital-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-marketing-manage=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-marketing-manage-plus=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-onlinestage-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-organmng-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-precredit-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-productcfg-core-plus=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-protocol-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-risktool=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-scheduler=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-search=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-settlement-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-thirdpartybiz-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-trade-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/cf-wechatstage-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-approval-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-asset-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-blockchain-prod=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-collateral-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-commodity-core=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ -D:/bestpay-srdcloud/ft-commonservice=https://srd17321104074@code.srdcloud.cn/bestpay-cf/cf/ \ No newline at end of file