This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git

commit cbf22b1cd8b38ffbbd8c51f887d37e4eb705d2b4
Author: James Bognar <[email protected]>
AuthorDate: Tue Jul 28 18:29:03 2026 -0400

    build: fail the build if the MCP core gains a per-revision dependency
    
    First dependency-graph-shape enforcement rule in this reactor; the only 
prior
    maven-enforcer use is the root pom's requireMavenVersion. Verified by 
adding the
    banned dependency locally and confirming the build fails with the rule 
message.
    
    Co-authored-by: Cursor <[email protected]>
---
 juneau-rest/juneau-rest-server-mcp/pom.xml | 31 ++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/juneau-rest/juneau-rest-server-mcp/pom.xml 
b/juneau-rest/juneau-rest-server-mcp/pom.xml
index dff22f2baa..ff43911251 100644
--- a/juneau-rest/juneau-rest-server-mcp/pom.xml
+++ b/juneau-rest/juneau-rest-server-mcp/pom.xml
@@ -73,6 +73,37 @@
 
        <build>
                <plugins>
+                       <!--
+                               The MCP core is revision-neutral by contract: 
no per-revision MCP module may appear
+                               anywhere on its dependency tree. Enforced here 
rather than left to code review,
+                               because a single convenience import is all it 
takes to quietly couple the core to one
+                               revision and defeat the whole layering.
+                       -->
+                       <plugin>
+                               <artifactId>maven-enforcer-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               
<id>enforce-no-revision-modules</id>
+                                               <phase>validate</phase>
+                                               <goals>
+                                                       <goal>enforce</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <rules>
+                                                               
<bannedDependencies>
+                                                                       
<excludes>
+                                                                               
<exclude>org.apache.juneau:juneau-bean-mcp-*</exclude>
+                                                                               
<exclude>org.apache.juneau:juneau-rest-server-mcp-*</exclude>
+                                                                       
</excludes>
+                                                                       
<searchTransitive>true</searchTransitive>
+                                                                       
<message>juneau-rest-server-mcp is the revision-neutral MCP core: it must not 
depend on any per-revision MCP module (juneau-bean-mcp-* / 
juneau-rest-server-mcp-*), in any scope, directly or transitively.</message>
+                                                               
</bannedDependencies>
+                                                       </rules>
+                                                       <fail>true</fail>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-source-plugin</artifactId>

Reply via email to