diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 7bf28e0..8c50bf8 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -6,8 +6,11 @@
-
+
+
+
+
\ No newline at end of file
diff --git a/docs/CI集成说明.md b/docs/CI集成说明.md
index f827004..7f6421c 100644
--- a/docs/CI集成说明.md
+++ b/docs/CI集成说明.md
@@ -147,11 +147,11 @@ jobs:
## 6. 工具发布流程(redisCheck 仓库)
```bash
-# 在 redisCheck 仓库
+# 在 redisCheck 仓库根目录
mvn clean package -DskipTests
-# 发布到 Nexus(需配置 settings.xml)
-mvn deploy -DskipTests
+# 发布到 Nexus(需配置 settings.xml,并开启 deploy-nexus profile)
+mvn clean deploy -Dnexus.deploy.enabled=true -DskipTests
```
发布产物:
diff --git a/docs/实施方案.md b/docs/实施方案.md
index e8f44b9..232118d 100644
--- a/docs/实施方案.md
+++ b/docs/实施方案.md
@@ -171,57 +171,33 @@ flowchart TB
```text
redisCheck/
-├── pom.xml
+├── pom.xml # 单模块工程(无父子结构)
├── docs/
-│ ├── 实施方案.md # 本文档
-│ ├── 配置说明.md # YAML 配置项详解
-│ └── CI集成说明.md # 业务仓库接入步骤
-├── redis-schema-checker/
-│ ├── pom.xml
-│ └── src/
-│ ├── main/
-│ │ ├── resources/
-│ │ │ └── default-config.yaml # 内置默认配置(随 jar 发布)
-│ │ └── java/com/codechecker/redis/
-│ │ ├── cli/ # 命令行入口
-│ │ │ └── RedisSchemaCheckerMain.java
-│ │ ├── config/ # 配置模型
-│ │ │ ├── CheckerConfig.java
-│ │ │ └── ConfigLoader.java
-│ │ ├── git/ # Git 操作
-│ │ │ ├── GitDiffScanner.java
-│ │ │ └── GitException.java
-│ │ ├── analyze/ # 编排与工作树扫描
-│ │ │ ├── SchemaCheckAnalyzer.java
-│ │ │ ├── FileScanner.java
-│ │ │ └── GlobMatcher.java
-│ │ ├── detector/ # Redis 写入点检测
-│ │ │ ├── RedisWritePointDetector.java
-│ │ │ └── WritePoint.java
-│ │ ├── schema/ # Schema 提取
-│ │ │ ├── JavaSchemaExtractor.java
-│ │ │ ├── SourceIndex.java
-│ │ │ ├── TypeSchema.java
-│ │ │ ├── FieldSchema.java
-│ │ │ ├── JsonType.java
-│ │ │ └── AnnotationSupport.java
-│ │ ├── diff/ # 结构对比
-│ │ │ ├── SchemaDiffer.java
-│ │ │ ├── SchemaChange.java
-│ │ │ ├── ChangeType.java
-│ │ │ └── Severity.java
-│ │ ├── key/ # Key 推断
-│ │ │ └── RedisKeyResolver.java
-│ │ ├── report/ # 报告
-│ │ │ ├── ReportBuilder.java
-│ │ │ └── CheckReport.java
-│ │ └── notify/ # 企微通知
-│ │ └── WeComNotifier.java
-│ └── test/
-│ ├── resources/fixtures/tenant/ # 夹具:TenantVO/Helper 新旧版本
-│ └── java/... # 各模块单测
-└── .gitea/
- └── demo.yaml # 工具自身 CI(可选)
+│ ├── 实施方案.md
+│ ├── 配置说明.md
+│ └── CI集成说明.md
+├── src/
+│ ├── main/
+│ │ ├── resources/
+│ │ │ └── default-config.yaml # 内置默认配置(随 jar 发布)
+│ │ └── java/com/codechecker/redis/
+│ │ ├── cli/ # 命令行入口
+│ │ ├── config/ # 配置模型
+│ │ ├── git/ # Git 操作
+│ │ ├── analyze/ # 编排与工作树扫描
+│ │ ├── detector/ # Redis 写入点检测
+│ │ ├── schema/ # Schema 提取
+│ │ ├── diff/ # 结构对比
+│ │ ├── key/ # Key 推断
+│ │ ├── report/ # 报告
+│ │ └── notify/ # 企微通知
+│ └── test/
+│ ├── resources/fixtures/tenant/
+│ └── java/...
+├── .gitea/
+│ ├── workflows/redis-schema-check.yaml
+│ └── config/redis-schema-check-config.yaml
+└── target/ # 构建产物
```
### 5.1 Maven 坐标
diff --git a/pom.xml b/pom.xml
index e0b42b6..363144d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,16 +5,12 @@
4.0.0
com.codechecker
- redis-schema-checker-parent
+ redis-schema-checker
1.0.0-SNAPSHOT
- pom
+ jar
- redis-schema-checker-parent
- Redis 序列化结构变更检测工具(父工程)
-
-
- redis-schema-checker
-
+ redis-schema-checker
+ 基于 JavaParser 的 Redis value 序列化结构变更检测器
11
@@ -27,5 +23,132 @@
4.7.5
5.10.2
3.5.1
+
+
+ false
+
+ fantaibao-fantaibao-maven-repository
+
+ http://192.168.3.25:18081/nexus/repository/maven-releases/
+ ${nexus.repository.url}
+
+
+
+ com.github.javaparser
+ javaparser-symbol-solver-core
+ ${javaparser.version}
+
+
+
+ org.yaml
+ snakeyaml
+ ${snakeyaml.version}
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
+
+
+ info.picocli
+ picocli
+ ${picocli.version}
+
+
+
+ org.junit.jupiter
+ junit-jupiter
+ ${junit.version}
+ test
+
+
+
+
+
+ deploy-nexus
+
+
+ nexus.deploy.enabled
+ true
+
+
+
+
+ ${nexus.repository.id}
+ ${nexus.repository.url}
+
+
+ ${nexus.repository.id}
+ ${nexus.snapshots.repository.url}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+ 3.1.2
+
+
+ deploy-to-nexus
+ package
+
+ deploy
+
+
+
+
+
+
+
+
+
+
+ redis-schema-checker-${project.version}
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.2.5
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ ${maven.shade.version}
+
+
+ package
+
+ shade
+
+
+ false
+
+
+ com.codechecker.redis.cli.RedisSchemaCheckerMain
+
+
+
+
+
+ *:*
+
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+ module-info.class
+
+
+
+
+
+
+
+
+
diff --git a/redis-schema-checker/pom.xml b/redis-schema-checker/pom.xml
deleted file mode 100644
index 40f293f..0000000
--- a/redis-schema-checker/pom.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
- 4.0.0
-
-
- com.codechecker
- redis-schema-checker-parent
- 1.0.0-SNAPSHOT
-
-
- redis-schema-checker
- jar
-
- redis-schema-checker
- 基于 JavaParser 的 Redis value 序列化结构变更检测器
-
-
-
- com.github.javaparser
- javaparser-symbol-solver-core
- ${javaparser.version}
-
-
-
- org.yaml
- snakeyaml
- ${snakeyaml.version}
-
-
-
- com.fasterxml.jackson.core
- jackson-databind
- ${jackson.version}
-
-
-
- info.picocli
- picocli
- ${picocli.version}
-
-
-
- org.junit.jupiter
- junit-jupiter
- ${junit.version}
- test
-
-
-
-
- redis-schema-checker-${project.version}
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
- 3.2.5
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- ${maven.shade.version}
-
-
- package
-
- shade
-
-
- false
-
-
- com.codechecker.redis.cli.RedisSchemaCheckerMain
-
-
-
-
-
- *:*
-
- META-INF/*.SF
- META-INF/*.DSA
- META-INF/*.RSA
- module-info.class
-
-
-
-
-
-
-
-
-
-
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/analyze/FileScanner.java b/src/main/java/com/codechecker/redis/analyze/FileScanner.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/analyze/FileScanner.java
rename to src/main/java/com/codechecker/redis/analyze/FileScanner.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/analyze/GlobMatcher.java b/src/main/java/com/codechecker/redis/analyze/GlobMatcher.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/analyze/GlobMatcher.java
rename to src/main/java/com/codechecker/redis/analyze/GlobMatcher.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/analyze/SchemaCheckAnalyzer.java b/src/main/java/com/codechecker/redis/analyze/SchemaCheckAnalyzer.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/analyze/SchemaCheckAnalyzer.java
rename to src/main/java/com/codechecker/redis/analyze/SchemaCheckAnalyzer.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/cli/RedisSchemaCheckerMain.java b/src/main/java/com/codechecker/redis/cli/RedisSchemaCheckerMain.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/cli/RedisSchemaCheckerMain.java
rename to src/main/java/com/codechecker/redis/cli/RedisSchemaCheckerMain.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/config/CheckerConfig.java b/src/main/java/com/codechecker/redis/config/CheckerConfig.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/config/CheckerConfig.java
rename to src/main/java/com/codechecker/redis/config/CheckerConfig.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/config/ConfigLoader.java b/src/main/java/com/codechecker/redis/config/ConfigLoader.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/config/ConfigLoader.java
rename to src/main/java/com/codechecker/redis/config/ConfigLoader.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/detector/RedisWritePointDetector.java b/src/main/java/com/codechecker/redis/detector/RedisWritePointDetector.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/detector/RedisWritePointDetector.java
rename to src/main/java/com/codechecker/redis/detector/RedisWritePointDetector.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/detector/WritePoint.java b/src/main/java/com/codechecker/redis/detector/WritePoint.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/detector/WritePoint.java
rename to src/main/java/com/codechecker/redis/detector/WritePoint.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/diff/ChangeType.java b/src/main/java/com/codechecker/redis/diff/ChangeType.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/diff/ChangeType.java
rename to src/main/java/com/codechecker/redis/diff/ChangeType.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/diff/SchemaChange.java b/src/main/java/com/codechecker/redis/diff/SchemaChange.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/diff/SchemaChange.java
rename to src/main/java/com/codechecker/redis/diff/SchemaChange.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/diff/SchemaDiffer.java b/src/main/java/com/codechecker/redis/diff/SchemaDiffer.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/diff/SchemaDiffer.java
rename to src/main/java/com/codechecker/redis/diff/SchemaDiffer.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/diff/Severity.java b/src/main/java/com/codechecker/redis/diff/Severity.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/diff/Severity.java
rename to src/main/java/com/codechecker/redis/diff/Severity.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/git/GitDiffScanner.java b/src/main/java/com/codechecker/redis/git/GitDiffScanner.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/git/GitDiffScanner.java
rename to src/main/java/com/codechecker/redis/git/GitDiffScanner.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/git/GitException.java b/src/main/java/com/codechecker/redis/git/GitException.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/git/GitException.java
rename to src/main/java/com/codechecker/redis/git/GitException.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/key/RedisKeyResolver.java b/src/main/java/com/codechecker/redis/key/RedisKeyResolver.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/key/RedisKeyResolver.java
rename to src/main/java/com/codechecker/redis/key/RedisKeyResolver.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/notify/WeComNotifier.java b/src/main/java/com/codechecker/redis/notify/WeComNotifier.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/notify/WeComNotifier.java
rename to src/main/java/com/codechecker/redis/notify/WeComNotifier.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/report/CheckReport.java b/src/main/java/com/codechecker/redis/report/CheckReport.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/report/CheckReport.java
rename to src/main/java/com/codechecker/redis/report/CheckReport.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/report/ReportBuilder.java b/src/main/java/com/codechecker/redis/report/ReportBuilder.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/report/ReportBuilder.java
rename to src/main/java/com/codechecker/redis/report/ReportBuilder.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/schema/AnnotationSupport.java b/src/main/java/com/codechecker/redis/schema/AnnotationSupport.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/schema/AnnotationSupport.java
rename to src/main/java/com/codechecker/redis/schema/AnnotationSupport.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/schema/FieldSchema.java b/src/main/java/com/codechecker/redis/schema/FieldSchema.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/schema/FieldSchema.java
rename to src/main/java/com/codechecker/redis/schema/FieldSchema.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/schema/JavaSchemaExtractor.java b/src/main/java/com/codechecker/redis/schema/JavaSchemaExtractor.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/schema/JavaSchemaExtractor.java
rename to src/main/java/com/codechecker/redis/schema/JavaSchemaExtractor.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/schema/JsonType.java b/src/main/java/com/codechecker/redis/schema/JsonType.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/schema/JsonType.java
rename to src/main/java/com/codechecker/redis/schema/JsonType.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/schema/SourceIndex.java b/src/main/java/com/codechecker/redis/schema/SourceIndex.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/schema/SourceIndex.java
rename to src/main/java/com/codechecker/redis/schema/SourceIndex.java
diff --git a/redis-schema-checker/src/main/java/com/codechecker/redis/schema/TypeSchema.java b/src/main/java/com/codechecker/redis/schema/TypeSchema.java
similarity index 100%
rename from redis-schema-checker/src/main/java/com/codechecker/redis/schema/TypeSchema.java
rename to src/main/java/com/codechecker/redis/schema/TypeSchema.java
diff --git a/redis-schema-checker/src/main/resources/default-config.yaml b/src/main/resources/default-config.yaml
similarity index 100%
rename from redis-schema-checker/src/main/resources/default-config.yaml
rename to src/main/resources/default-config.yaml
diff --git a/redis-schema-checker/src/test/java/com/codechecker/redis/TenantScenarioTest.java b/src/test/java/com/codechecker/redis/TenantScenarioTest.java
similarity index 100%
rename from redis-schema-checker/src/test/java/com/codechecker/redis/TenantScenarioTest.java
rename to src/test/java/com/codechecker/redis/TenantScenarioTest.java
diff --git a/redis-schema-checker/src/test/java/com/codechecker/redis/TestSupport.java b/src/test/java/com/codechecker/redis/TestSupport.java
similarity index 100%
rename from redis-schema-checker/src/test/java/com/codechecker/redis/TestSupport.java
rename to src/test/java/com/codechecker/redis/TestSupport.java
diff --git a/redis-schema-checker/src/test/java/com/codechecker/redis/analyze/GlobMatcherTest.java b/src/test/java/com/codechecker/redis/analyze/GlobMatcherTest.java
similarity index 100%
rename from redis-schema-checker/src/test/java/com/codechecker/redis/analyze/GlobMatcherTest.java
rename to src/test/java/com/codechecker/redis/analyze/GlobMatcherTest.java
diff --git a/redis-schema-checker/src/test/java/com/codechecker/redis/config/ConfigLoaderTest.java b/src/test/java/com/codechecker/redis/config/ConfigLoaderTest.java
similarity index 100%
rename from redis-schema-checker/src/test/java/com/codechecker/redis/config/ConfigLoaderTest.java
rename to src/test/java/com/codechecker/redis/config/ConfigLoaderTest.java
diff --git a/redis-schema-checker/src/test/java/com/codechecker/redis/diff/SchemaDifferTest.java b/src/test/java/com/codechecker/redis/diff/SchemaDifferTest.java
similarity index 100%
rename from redis-schema-checker/src/test/java/com/codechecker/redis/diff/SchemaDifferTest.java
rename to src/test/java/com/codechecker/redis/diff/SchemaDifferTest.java
diff --git a/redis-schema-checker/src/test/resources/fixtures/tenant/HelperNew.txt b/src/test/resources/fixtures/tenant/HelperNew.txt
similarity index 100%
rename from redis-schema-checker/src/test/resources/fixtures/tenant/HelperNew.txt
rename to src/test/resources/fixtures/tenant/HelperNew.txt
diff --git a/redis-schema-checker/src/test/resources/fixtures/tenant/HelperOld.txt b/src/test/resources/fixtures/tenant/HelperOld.txt
similarity index 100%
rename from redis-schema-checker/src/test/resources/fixtures/tenant/HelperOld.txt
rename to src/test/resources/fixtures/tenant/HelperOld.txt
diff --git a/redis-schema-checker/src/test/resources/fixtures/tenant/TenantLinkModel.txt b/src/test/resources/fixtures/tenant/TenantLinkModel.txt
similarity index 100%
rename from redis-schema-checker/src/test/resources/fixtures/tenant/TenantLinkModel.txt
rename to src/test/resources/fixtures/tenant/TenantLinkModel.txt
diff --git a/redis-schema-checker/src/test/resources/fixtures/tenant/TenantVO.txt b/src/test/resources/fixtures/tenant/TenantVO.txt
similarity index 100%
rename from redis-schema-checker/src/test/resources/fixtures/tenant/TenantVO.txt
rename to src/test/resources/fixtures/tenant/TenantVO.txt