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")); + } +}