feat(iot): B1 新建 viewsh-module-iot-rule Maven 模块骨架

- 新增 viewsh-module-iot-rule/pom.xml(仅依赖 iot-api + iot-core + Aviator 5.3.3 + mybatis/redis starter)
- 新增 package-info.java / ModuleSmokeTest.java / spring.factories 占位
- viewsh-module-iot/pom.xml <modules> 新增 rule(core 之后、server 之前)
- viewsh-module-iot-server/pom.xml 新增 rule 依赖(core 之后、业务组件之前)
- Known Pitfalls 落地:
  ⚠️ 评审 A3:依赖方向 rule → core → api,严禁反向(dependency:tree 验证)
  ⚠️ 评审 R6:server 对 rule 的依赖按项目一贯顺序插入
  ⚠️ Aviator 5.3.3 首次引入,rule 模块 pom 内显式声明 version

Acceptance Criteria 全 8 项通过(见任务卡 Notes §8.2026-04-23 执行记录)

Co-Authored-By: Claude Sonnet (B1 subagent) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context, orchestrator) <noreply@anthropic.com>
This commit is contained in:
lzh
2026-04-23 20:45:30 +08:00
parent a72c96692e
commit 4614737d51
6 changed files with 90 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
/**
* viewsh-module-iot-rule —— IoT 规则引擎模块
*
* <p>职责DAG 规则链执行器、SPI ProviderTrigger/Condition/Action、抖动抑制、Aviator 脚本</p>
* <p>依赖边界(见第 8 轮评审系统边界 A
* - 可依赖iot-apiDTO/枚举、iot-core消息总线/影子接口)
* - 不可依赖iot-gateway接入层、iot-server业务层
* </p>
*/
package com.viewsh.module.iot.rule;

View File

@@ -0,0 +1,4 @@
# viewsh-module-iot-rule Spring Boot 自动配置
# 后续任务B2+)在此注册 AutoConfiguration 类
# org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
# com.viewsh.module.iot.rule.config.IotRuleAutoConfiguration

View File

@@ -0,0 +1,12 @@
package com.viewsh.module.iot.rule;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class ModuleSmokeTest {
@Test
void moduleStructureOk() {
// 仅断言模块可加载、包声明存在
assertNotNull(ModuleSmokeTest.class.getPackage());
}
}