From 77067e07b33edd7b00e9f279f131495e4237a568 Mon Sep 17 00:00:00 2001
From: zgw <13623675548@163.com>
Date: Mon, 10 Aug 2026 15:00:23 +0800
Subject: [PATCH] build: add standard WCS core module
---
pom.xml | 16 ++++++++
ruoyi-admin/pom.xml | 6 +++
ruoyi-wcs/pom.xml | 38 +++++++++++++++++++
.../main/java/com/ruoyi/wcs/WcsModule.java | 9 +++++
.../WcsModuleArchitectureTest.java | 25 ++++++++++++
5 files changed, 94 insertions(+)
create mode 100644 ruoyi-wcs/pom.xml
create mode 100644 ruoyi-wcs/src/main/java/com/ruoyi/wcs/WcsModule.java
create mode 100644 ruoyi-wcs/src/test/java/com/ruoyi/wcs/architecture/WcsModuleArchitectureTest.java
diff --git a/pom.xml b/pom.xml
index 950dfb5..3710acf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -223,6 +223,13 @@
${ruoyi.version}
+
+
+ com.ruoyi
+ ruoyi-wcs
+ ${ruoyi.version}
+
+
cn.hutool
@@ -249,6 +256,7 @@
ruoyi-admin
+ ruoyi-wcs
ruoyi-framework
ruoyi-system
ruoyi-quartz
@@ -269,6 +277,14 @@
${project.build.sourceEncoding}
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.2.5
+
+ false
+
+
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index ae294d5..126d948 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -54,6 +54,12 @@
ruoyi-framework
+
+
+ com.ruoyi
+ ruoyi-wcs
+
+
com.ruoyi
diff --git a/ruoyi-wcs/pom.xml b/ruoyi-wcs/pom.xml
new file mode 100644
index 0000000..6884c49
--- /dev/null
+++ b/ruoyi-wcs/pom.xml
@@ -0,0 +1,38 @@
+
+
+ 4.0.0
+
+
+ com.ruoyi
+ ruoyi
+ 3.8.9
+
+
+ ruoyi-wcs
+ jar
+ 标准四向车 WCS 内核
+
+
+
+ com.ruoyi
+ ruoyi-common
+
+
+ org.springframework
+ spring-tx
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ com.tngtech.archunit
+ archunit-junit5
+ 1.2.1
+ test
+
+
+
diff --git a/ruoyi-wcs/src/main/java/com/ruoyi/wcs/WcsModule.java b/ruoyi-wcs/src/main/java/com/ruoyi/wcs/WcsModule.java
new file mode 100644
index 0000000..a39db58
--- /dev/null
+++ b/ruoyi-wcs/src/main/java/com/ruoyi/wcs/WcsModule.java
@@ -0,0 +1,9 @@
+package com.ruoyi.wcs;
+
+/**
+ * Stable marker for the standard WCS core module.
+ */
+public final class WcsModule {
+ private WcsModule() {
+ }
+}
diff --git a/ruoyi-wcs/src/test/java/com/ruoyi/wcs/architecture/WcsModuleArchitectureTest.java b/ruoyi-wcs/src/test/java/com/ruoyi/wcs/architecture/WcsModuleArchitectureTest.java
new file mode 100644
index 0000000..50c9243
--- /dev/null
+++ b/ruoyi-wcs/src/test/java/com/ruoyi/wcs/architecture/WcsModuleArchitectureTest.java
@@ -0,0 +1,25 @@
+package com.ruoyi.wcs.architecture;
+
+import com.tngtech.archunit.core.importer.ClassFileImporter;
+import org.junit.jupiter.api.Test;
+
+import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.noClasses;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+class WcsModuleArchitectureTest {
+
+ @Test
+ void exposesAStableModuleMarker() throws Exception {
+ assertEquals("com.ruoyi.wcs.WcsModule",
+ Class.forName("com.ruoyi.wcs.WcsModule").getName());
+ }
+
+ @Test
+ void coreDoesNotDependOnProjectOrPlcPackages() {
+ noClasses().that().resideInAPackage("com.ruoyi.wcs..")
+ .should().dependOnClassesThat()
+ .resideInAnyPackage("com.ruoyi.schedule..", "com.ruoyi.api..",
+ "HslCommunication..", "org.apache.plc4x..")
+ .check(new ClassFileImporter().importPackages("com.ruoyi.wcs"));
+ }
+}