Modified: 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/apidocs/src-html/org/apache/maven/enforcer/rules/utils/ArtifactMatcher.html
==============================================================================
--- 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/apidocs/src-html/org/apache/maven/enforcer/rules/utils/ArtifactMatcher.html
 (original)
+++ 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/apidocs/src-html/org/apache/maven/enforcer/rules/utils/ArtifactMatcher.html
 Sat Jul 12 17:23:46 2025
@@ -35,225 +35,278 @@
 <span class="source-line-no">022</span><span id="line-22">import 
java.util.HashSet;</span>
 <span class="source-line-no">023</span><span id="line-23">import 
java.util.Objects;</span>
 <span class="source-line-no">024</span><span id="line-24">import 
java.util.function.Function;</span>
-<span class="source-line-no">025</span><span id="line-25"></span>
-<span class="source-line-no">026</span><span id="line-26">import 
org.apache.maven.artifact.Artifact;</span>
-<span class="source-line-no">027</span><span id="line-27">import 
org.apache.maven.artifact.versioning.ArtifactVersion;</span>
-<span class="source-line-no">028</span><span id="line-28">import 
org.apache.maven.artifact.versioning.DefaultArtifactVersion;</span>
-<span class="source-line-no">029</span><span id="line-29">import 
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;</span>
-<span class="source-line-no">030</span><span id="line-30">import 
org.apache.maven.artifact.versioning.VersionRange;</span>
-<span class="source-line-no">031</span><span id="line-31">import 
org.apache.maven.model.Dependency;</span>
-<span class="source-line-no">032</span><span id="line-32">import 
org.codehaus.plexus.util.StringUtils;</span>
-<span class="source-line-no">033</span><span id="line-33"></span>
-<span class="source-line-no">034</span><span id="line-34">import static 
java.util.Optional.ofNullable;</span>
-<span class="source-line-no">035</span><span id="line-35"></span>
-<span class="source-line-no">036</span><span id="line-36">/**</span>
-<span class="source-line-no">037</span><span id="line-37"> * This class is 
used for matching Artifacts against a list of patterns.</span>
-<span class="source-line-no">038</span><span id="line-38"> *</span>
-<span class="source-line-no">039</span><span id="line-39"> * @author Jakub 
Senko</span>
-<span class="source-line-no">040</span><span id="line-40"> */</span>
-<span class="source-line-no">041</span><span id="line-41">public final class 
ArtifactMatcher {</span>
-<span class="source-line-no">042</span><span id="line-42"></span>
-<span class="source-line-no">043</span><span id="line-43">    /**</span>
-<span class="source-line-no">044</span><span id="line-44">     * @author I 
don't know</span>
-<span class="source-line-no">045</span><span id="line-45">     */</span>
-<span class="source-line-no">046</span><span id="line-46">    public static 
class Pattern {</span>
-<span class="source-line-no">047</span><span id="line-47">        private 
final String pattern;</span>
-<span class="source-line-no">048</span><span id="line-48"></span>
-<span class="source-line-no">049</span><span id="line-49">        private 
final String[] parts;</span>
-<span class="source-line-no">050</span><span id="line-50">        private 
final java.util.regex.Pattern[] partsRegex;</span>
-<span class="source-line-no">051</span><span id="line-51"></span>
-<span class="source-line-no">052</span><span id="line-52">        public 
Pattern(String pattern) {</span>
-<span class="source-line-no">053</span><span id="line-53">            if 
(pattern == null) {</span>
-<span class="source-line-no">054</span><span id="line-54">                
throw new NullPointerException("pattern");</span>
-<span class="source-line-no">055</span><span id="line-55">            }</span>
-<span class="source-line-no">056</span><span id="line-56"></span>
-<span class="source-line-no">057</span><span id="line-57">            
this.pattern = pattern;</span>
-<span class="source-line-no">058</span><span id="line-58"></span>
-<span class="source-line-no">059</span><span id="line-59">            parts = 
pattern.split(":", 7);</span>
-<span class="source-line-no">060</span><span id="line-60"></span>
-<span class="source-line-no">061</span><span id="line-61">            if 
(parts.length == 7) {</span>
-<span class="source-line-no">062</span><span id="line-62">                
throw new IllegalArgumentException("Pattern contains too many 
delimiters.");</span>
-<span class="source-line-no">063</span><span id="line-63">            }</span>
-<span class="source-line-no">064</span><span id="line-64"></span>
-<span class="source-line-no">065</span><span id="line-65">            for 
(String part : parts) {</span>
-<span class="source-line-no">066</span><span id="line-66">                if 
("".equals(part)) {</span>
-<span class="source-line-no">067</span><span id="line-67">                    
throw new IllegalArgumentException("Pattern or its part is empty.");</span>
-<span class="source-line-no">068</span><span id="line-68">                
}</span>
-<span class="source-line-no">069</span><span id="line-69">            }</span>
-<span class="source-line-no">070</span><span id="line-70">            
partsRegex = new java.util.regex.Pattern[parts.length];</span>
-<span class="source-line-no">071</span><span id="line-71">        }</span>
-<span class="source-line-no">072</span><span id="line-72"></span>
-<span class="source-line-no">073</span><span id="line-73">        public 
boolean match(Artifact artifact) {</span>
-<span class="source-line-no">074</span><span id="line-74">            
Objects.requireNonNull(artifact, "artifact must not be null");</span>
-<span class="source-line-no">075</span><span id="line-75">            try 
{</span>
-<span class="source-line-no">076</span><span id="line-76">                
return match(</span>
-<span class="source-line-no">077</span><span id="line-77">                     
   artifact.getGroupId(),</span>
-<span class="source-line-no">078</span><span id="line-78">                     
   artifact.getArtifactId(),</span>
-<span class="source-line-no">079</span><span id="line-79">                     
   artifact.getVersion(),</span>
-<span class="source-line-no">080</span><span id="line-80">                     
   artifact.getType(),</span>
-<span class="source-line-no">081</span><span id="line-81">                     
   artifact.getScope(),</span>
-<span class="source-line-no">082</span><span id="line-82">                     
   artifact.getClassifier());</span>
-<span class="source-line-no">083</span><span id="line-83">            } catch 
(InvalidVersionSpecificationException e) {</span>
-<span class="source-line-no">084</span><span id="line-84">                
throw new IllegalArgumentException(e);</span>
-<span class="source-line-no">085</span><span id="line-85">            }</span>
-<span class="source-line-no">086</span><span id="line-86">        }</span>
-<span class="source-line-no">087</span><span id="line-87"></span>
-<span class="source-line-no">088</span><span id="line-88">        public 
boolean match(Dependency dependency) {</span>
-<span class="source-line-no">089</span><span id="line-89">            
Objects.requireNonNull(dependency, "dependency must not be null");</span>
-<span class="source-line-no">090</span><span id="line-90">            try 
{</span>
-<span class="source-line-no">091</span><span id="line-91">                
return match(</span>
-<span class="source-line-no">092</span><span id="line-92">                     
   dependency.getGroupId(),</span>
-<span class="source-line-no">093</span><span id="line-93">                     
   dependency.getArtifactId(),</span>
-<span class="source-line-no">094</span><span id="line-94">                     
   dependency.getVersion(),</span>
-<span class="source-line-no">095</span><span id="line-95">                     
   dependency.getType(),</span>
-<span class="source-line-no">096</span><span id="line-96">                     
   dependency.getScope(),</span>
-<span class="source-line-no">097</span><span id="line-97">                     
   dependency.getClassifier());</span>
-<span class="source-line-no">098</span><span id="line-98">            } catch 
(InvalidVersionSpecificationException e) {</span>
-<span class="source-line-no">099</span><span id="line-99">                
throw new IllegalArgumentException(e);</span>
-<span class="source-line-no">100</span><span id="line-100">            }</span>
-<span class="source-line-no">101</span><span id="line-101">        }</span>
-<span class="source-line-no">102</span><span id="line-102"></span>
-<span class="source-line-no">103</span><span id="line-103">        private 
boolean match(</span>
-<span class="source-line-no">104</span><span id="line-104">                
String groupId, String artifactId, String version, String type, String scope, 
String classifier)</span>
-<span class="source-line-no">105</span><span id="line-105">                
throws InvalidVersionSpecificationException {</span>
-<span class="source-line-no">106</span><span id="line-106">            switch 
(parts.length) {</span>
-<span class="source-line-no">107</span><span id="line-107">                
case 6:</span>
-<span class="source-line-no">108</span><span id="line-108">                    
if (!matches(5, classifier)) {</span>
-<span class="source-line-no">109</span><span id="line-109">                    
    return false;</span>
-<span class="source-line-no">110</span><span id="line-110">                    
}</span>
-<span class="source-line-no">111</span><span id="line-111">                
case 5:</span>
-<span class="source-line-no">112</span><span id="line-112">                    
if (scope == null || scope.isEmpty()) {</span>
-<span class="source-line-no">113</span><span id="line-113">                    
    scope = Artifact.SCOPE_COMPILE;</span>
-<span class="source-line-no">114</span><span id="line-114">                    
}</span>
-<span class="source-line-no">115</span><span id="line-115"></span>
-<span class="source-line-no">116</span><span id="line-116">                    
if (!matches(4, scope)) {</span>
-<span class="source-line-no">117</span><span id="line-117">                    
    return false;</span>
-<span class="source-line-no">118</span><span id="line-118">                    
}</span>
-<span class="source-line-no">119</span><span id="line-119">                
case 4:</span>
-<span class="source-line-no">120</span><span id="line-120">                    
if (type == null || type.isEmpty()) {</span>
-<span class="source-line-no">121</span><span id="line-121">                    
    type = "jar";</span>
-<span class="source-line-no">122</span><span id="line-122">                    
}</span>
-<span class="source-line-no">123</span><span id="line-123"></span>
-<span class="source-line-no">124</span><span id="line-124">                    
if (!matches(3, type)) {</span>
-<span class="source-line-no">125</span><span id="line-125">                    
    return false;</span>
-<span class="source-line-no">126</span><span id="line-126">                    
}</span>
-<span class="source-line-no">127</span><span id="line-127"></span>
-<span class="source-line-no">128</span><span id="line-128">                
case 3:</span>
-<span class="source-line-no">129</span><span id="line-129">                    
if (!matches(2, version)) {</span>
-<span class="source-line-no">130</span><span id="line-130">                    
    if (!containsVersion(</span>
-<span class="source-line-no">131</span><span id="line-131">                    
            VersionRange.createFromVersionSpec(parts[2]), new 
DefaultArtifactVersion(version))) {</span>
-<span class="source-line-no">132</span><span id="line-132">                    
        return false;</span>
-<span class="source-line-no">133</span><span id="line-133">                    
    }</span>
-<span class="source-line-no">134</span><span id="line-134">                    
}</span>
-<span class="source-line-no">135</span><span id="line-135"></span>
-<span class="source-line-no">136</span><span id="line-136">                
case 2:</span>
-<span class="source-line-no">137</span><span id="line-137">                    
if (!matches(1, artifactId)) {</span>
-<span class="source-line-no">138</span><span id="line-138">                    
    return false;</span>
-<span class="source-line-no">139</span><span id="line-139">                    
}</span>
-<span class="source-line-no">140</span><span id="line-140">                
case 1:</span>
-<span class="source-line-no">141</span><span id="line-141">                    
return matches(0, groupId);</span>
-<span class="source-line-no">142</span><span id="line-142">                
default:</span>
-<span class="source-line-no">143</span><span id="line-143">                    
throw new AssertionError();</span>
-<span class="source-line-no">144</span><span id="line-144">            }</span>
-<span class="source-line-no">145</span><span id="line-145">        }</span>
-<span class="source-line-no">146</span><span id="line-146"></span>
-<span class="source-line-no">147</span><span id="line-147">        private 
boolean matches(int index, String input) {</span>
-<span class="source-line-no">148</span><span id="line-148">            //      
    return matches(parts[index], input);</span>
-<span class="source-line-no">149</span><span id="line-149">            if 
(partsRegex[index] == null) {</span>
-<span class="source-line-no">150</span><span id="line-150">                
String regex = parts[index]</span>
-<span class="source-line-no">151</span><span id="line-151">                    
    .replace(".", "\\.")</span>
-<span class="source-line-no">152</span><span id="line-152">                    
    .replace("*", ".*")</span>
-<span class="source-line-no">153</span><span id="line-153">                    
    .replace(":", "\\:")</span>
-<span class="source-line-no">154</span><span id="line-154">                    
    .replace('?', '.')</span>
-<span class="source-line-no">155</span><span id="line-155">                    
    .replace("[", "\\[")</span>
-<span class="source-line-no">156</span><span id="line-156">                    
    .replace("]", "\\]")</span>
-<span class="source-line-no">157</span><span id="line-157">                    
    .replace("(", "\\(")</span>
-<span class="source-line-no">158</span><span id="line-158">                    
    .replace(")", "\\)");</span>
-<span class="source-line-no">159</span><span id="line-159"></span>
-<span class="source-line-no">160</span><span id="line-160">                // 
TODO: Check if this can be done better or prevented earlier.</span>
-<span class="source-line-no">161</span><span id="line-161">                if 
(input == null) {</span>
-<span class="source-line-no">162</span><span id="line-162">                    
input = "";</span>
-<span class="source-line-no">163</span><span id="line-163">                
}</span>
-<span class="source-line-no">164</span><span id="line-164">                
partsRegex[index] = java.util.regex.Pattern.compile(regex);</span>
-<span class="source-line-no">165</span><span id="line-165">            }</span>
-<span class="source-line-no">166</span><span id="line-166">            return 
partsRegex[index].matcher(input).matches();</span>
-<span class="source-line-no">167</span><span id="line-167">        }</span>
-<span class="source-line-no">168</span><span id="line-168"></span>
-<span class="source-line-no">169</span><span id="line-169">        
@Override</span>
-<span class="source-line-no">170</span><span id="line-170">        public 
String toString() {</span>
-<span class="source-line-no">171</span><span id="line-171">            return 
pattern;</span>
+<span class="source-line-no">025</span><span id="line-25">import 
java.util.function.Predicate;</span>
+<span class="source-line-no">026</span><span id="line-26"></span>
+<span class="source-line-no">027</span><span id="line-27">import 
org.apache.maven.artifact.Artifact;</span>
+<span class="source-line-no">028</span><span id="line-28">import 
org.apache.maven.artifact.versioning.ArtifactVersion;</span>
+<span class="source-line-no">029</span><span id="line-29">import 
org.apache.maven.artifact.versioning.DefaultArtifactVersion;</span>
+<span class="source-line-no">030</span><span id="line-30">import 
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;</span>
+<span class="source-line-no">031</span><span id="line-31">import 
org.apache.maven.artifact.versioning.VersionRange;</span>
+<span class="source-line-no">032</span><span id="line-32">import 
org.apache.maven.model.Dependency;</span>
+<span class="source-line-no">033</span><span id="line-33">import 
org.codehaus.plexus.util.StringUtils;</span>
+<span class="source-line-no">034</span><span id="line-34"></span>
+<span class="source-line-no">035</span><span id="line-35">import static 
java.util.Optional.ofNullable;</span>
+<span class="source-line-no">036</span><span id="line-36"></span>
+<span class="source-line-no">037</span><span id="line-37">/**</span>
+<span class="source-line-no">038</span><span id="line-38"> * This class is 
used for matching Artifacts against a list of patterns.</span>
+<span class="source-line-no">039</span><span id="line-39"> *</span>
+<span class="source-line-no">040</span><span id="line-40"> * @author Jakub 
Senko</span>
+<span class="source-line-no">041</span><span id="line-41"> */</span>
+<span class="source-line-no">042</span><span id="line-42">public final class 
ArtifactMatcher {</span>
+<span class="source-line-no">043</span><span id="line-43"></span>
+<span class="source-line-no">044</span><span id="line-44">    /**</span>
+<span class="source-line-no">045</span><span id="line-45">     * @author I 
don't know</span>
+<span class="source-line-no">046</span><span id="line-46">     */</span>
+<span class="source-line-no">047</span><span id="line-47">    public static 
class Pattern {</span>
+<span class="source-line-no">048</span><span id="line-48">        private 
final String pattern;</span>
+<span class="source-line-no">049</span><span id="line-49"></span>
+<span class="source-line-no">050</span><span id="line-50">        private 
final String[] parts;</span>
+<span class="source-line-no">051</span><span id="line-51">        private 
final Predicate&lt;String&gt;[] partsRegex;</span>
+<span class="source-line-no">052</span><span id="line-52"></span>
+<span class="source-line-no">053</span><span id="line-53">        public 
Pattern(String pattern) {</span>
+<span class="source-line-no">054</span><span id="line-54">            if 
(pattern == null) {</span>
+<span class="source-line-no">055</span><span id="line-55">                
throw new NullPointerException("pattern");</span>
+<span class="source-line-no">056</span><span id="line-56">            }</span>
+<span class="source-line-no">057</span><span id="line-57"></span>
+<span class="source-line-no">058</span><span id="line-58">            
this.pattern = pattern;</span>
+<span class="source-line-no">059</span><span id="line-59"></span>
+<span class="source-line-no">060</span><span id="line-60">            parts = 
pattern.split(":", 7);</span>
+<span class="source-line-no">061</span><span id="line-61"></span>
+<span class="source-line-no">062</span><span id="line-62">            if 
(parts.length == 7) {</span>
+<span class="source-line-no">063</span><span id="line-63">                
throw new IllegalArgumentException("Pattern contains too many 
delimiters.");</span>
+<span class="source-line-no">064</span><span id="line-64">            }</span>
+<span class="source-line-no">065</span><span id="line-65"></span>
+<span class="source-line-no">066</span><span id="line-66">            for 
(String part : parts) {</span>
+<span class="source-line-no">067</span><span id="line-67">                if 
("".equals(part)) {</span>
+<span class="source-line-no">068</span><span id="line-68">                    
throw new IllegalArgumentException("Pattern or its part is empty.");</span>
+<span class="source-line-no">069</span><span id="line-69">                
}</span>
+<span class="source-line-no">070</span><span id="line-70">            }</span>
+<span class="source-line-no">071</span><span id="line-71">            
partsRegex = new Predicate[parts.length];</span>
+<span class="source-line-no">072</span><span id="line-72">        }</span>
+<span class="source-line-no">073</span><span id="line-73"></span>
+<span class="source-line-no">074</span><span id="line-74">        public 
boolean match(Artifact artifact) {</span>
+<span class="source-line-no">075</span><span id="line-75">            
Objects.requireNonNull(artifact, "artifact must not be null");</span>
+<span class="source-line-no">076</span><span id="line-76">            try 
{</span>
+<span class="source-line-no">077</span><span id="line-77">                
return match(</span>
+<span class="source-line-no">078</span><span id="line-78">                     
   artifact.getGroupId(),</span>
+<span class="source-line-no">079</span><span id="line-79">                     
   artifact.getArtifactId(),</span>
+<span class="source-line-no">080</span><span id="line-80">                     
   artifact.getVersion(),</span>
+<span class="source-line-no">081</span><span id="line-81">                     
   artifact.getType(),</span>
+<span class="source-line-no">082</span><span id="line-82">                     
   artifact.getScope(),</span>
+<span class="source-line-no">083</span><span id="line-83">                     
   artifact.getClassifier());</span>
+<span class="source-line-no">084</span><span id="line-84">            } catch 
(InvalidVersionSpecificationException e) {</span>
+<span class="source-line-no">085</span><span id="line-85">                
throw new IllegalArgumentException(e);</span>
+<span class="source-line-no">086</span><span id="line-86">            }</span>
+<span class="source-line-no">087</span><span id="line-87">        }</span>
+<span class="source-line-no">088</span><span id="line-88"></span>
+<span class="source-line-no">089</span><span id="line-89">        public 
boolean match(Dependency dependency) {</span>
+<span class="source-line-no">090</span><span id="line-90">            
Objects.requireNonNull(dependency, "dependency must not be null");</span>
+<span class="source-line-no">091</span><span id="line-91">            try 
{</span>
+<span class="source-line-no">092</span><span id="line-92">                
return match(</span>
+<span class="source-line-no">093</span><span id="line-93">                     
   dependency.getGroupId(),</span>
+<span class="source-line-no">094</span><span id="line-94">                     
   dependency.getArtifactId(),</span>
+<span class="source-line-no">095</span><span id="line-95">                     
   dependency.getVersion(),</span>
+<span class="source-line-no">096</span><span id="line-96">                     
   dependency.getType(),</span>
+<span class="source-line-no">097</span><span id="line-97">                     
   dependency.getScope(),</span>
+<span class="source-line-no">098</span><span id="line-98">                     
   dependency.getClassifier());</span>
+<span class="source-line-no">099</span><span id="line-99">            } catch 
(InvalidVersionSpecificationException e) {</span>
+<span class="source-line-no">100</span><span id="line-100">                
throw new IllegalArgumentException(e);</span>
+<span class="source-line-no">101</span><span id="line-101">            }</span>
+<span class="source-line-no">102</span><span id="line-102">        }</span>
+<span class="source-line-no">103</span><span id="line-103"></span>
+<span class="source-line-no">104</span><span id="line-104">        private 
boolean match(</span>
+<span class="source-line-no">105</span><span id="line-105">                
String groupId, String artifactId, String version, String type, String scope, 
String classifier)</span>
+<span class="source-line-no">106</span><span id="line-106">                
throws InvalidVersionSpecificationException {</span>
+<span class="source-line-no">107</span><span id="line-107">            switch 
(parts.length) {</span>
+<span class="source-line-no">108</span><span id="line-108">                
case 6:</span>
+<span class="source-line-no">109</span><span id="line-109">                    
if (!matches(5, classifier)) {</span>
+<span class="source-line-no">110</span><span id="line-110">                    
    return false;</span>
+<span class="source-line-no">111</span><span id="line-111">                    
}</span>
+<span class="source-line-no">112</span><span id="line-112">                
case 5:</span>
+<span class="source-line-no">113</span><span id="line-113">                    
if (scope == null || scope.isEmpty()) {</span>
+<span class="source-line-no">114</span><span id="line-114">                    
    scope = Artifact.SCOPE_COMPILE;</span>
+<span class="source-line-no">115</span><span id="line-115">                    
}</span>
+<span class="source-line-no">116</span><span id="line-116"></span>
+<span class="source-line-no">117</span><span id="line-117">                    
if (!matches(4, scope)) {</span>
+<span class="source-line-no">118</span><span id="line-118">                    
    return false;</span>
+<span class="source-line-no">119</span><span id="line-119">                    
}</span>
+<span class="source-line-no">120</span><span id="line-120">                
case 4:</span>
+<span class="source-line-no">121</span><span id="line-121">                    
if (type == null || type.isEmpty()) {</span>
+<span class="source-line-no">122</span><span id="line-122">                    
    type = "jar";</span>
+<span class="source-line-no">123</span><span id="line-123">                    
}</span>
+<span class="source-line-no">124</span><span id="line-124"></span>
+<span class="source-line-no">125</span><span id="line-125">                    
if (!matches(3, type)) {</span>
+<span class="source-line-no">126</span><span id="line-126">                    
    return false;</span>
+<span class="source-line-no">127</span><span id="line-127">                    
}</span>
+<span class="source-line-no">128</span><span id="line-128"></span>
+<span class="source-line-no">129</span><span id="line-129">                
case 3:</span>
+<span class="source-line-no">130</span><span id="line-130">                    
if (!matches(2, version)) {</span>
+<span class="source-line-no">131</span><span id="line-131">                    
    if (!containsVersion(</span>
+<span class="source-line-no">132</span><span id="line-132">                    
            VersionRange.createFromVersionSpec(parts[2]), new 
DefaultArtifactVersion(version))) {</span>
+<span class="source-line-no">133</span><span id="line-133">                    
        return false;</span>
+<span class="source-line-no">134</span><span id="line-134">                    
    }</span>
+<span class="source-line-no">135</span><span id="line-135">                    
}</span>
+<span class="source-line-no">136</span><span id="line-136"></span>
+<span class="source-line-no">137</span><span id="line-137">                
case 2:</span>
+<span class="source-line-no">138</span><span id="line-138">                    
if (!matches(1, artifactId)) {</span>
+<span class="source-line-no">139</span><span id="line-139">                    
    return false;</span>
+<span class="source-line-no">140</span><span id="line-140">                    
}</span>
+<span class="source-line-no">141</span><span id="line-141">                
case 1:</span>
+<span class="source-line-no">142</span><span id="line-142">                    
return matches(0, groupId);</span>
+<span class="source-line-no">143</span><span id="line-143">                
default:</span>
+<span class="source-line-no">144</span><span id="line-144">                    
throw new AssertionError();</span>
+<span class="source-line-no">145</span><span id="line-145">            }</span>
+<span class="source-line-no">146</span><span id="line-146">        }</span>
+<span class="source-line-no">147</span><span id="line-147"></span>
+<span class="source-line-no">148</span><span id="line-148">        private 
boolean matches(int index, String input) {</span>
+<span class="source-line-no">149</span><span id="line-149">            // 
TODO: Check if this can be done better or prevented earlier.</span>
+<span class="source-line-no">150</span><span id="line-150">            if 
(input == null) {</span>
+<span class="source-line-no">151</span><span id="line-151">                
input = "";</span>
+<span class="source-line-no">152</span><span id="line-152">            }</span>
+<span class="source-line-no">153</span><span id="line-153">            if 
(partsRegex[index] == null) {</span>
+<span class="source-line-no">154</span><span id="line-154">                
String regex = parts[index]</span>
+<span class="source-line-no">155</span><span id="line-155">                    
    .replace(".", "\\.")</span>
+<span class="source-line-no">156</span><span id="line-156">                    
    .replace("*", ".*")</span>
+<span class="source-line-no">157</span><span id="line-157">                    
    .replace(":", "\\:")</span>
+<span class="source-line-no">158</span><span id="line-158">                    
    .replace('?', '.')</span>
+<span class="source-line-no">159</span><span id="line-159">                    
    .replace("[", "\\[")</span>
+<span class="source-line-no">160</span><span id="line-160">                    
    .replace("]", "\\]")</span>
+<span class="source-line-no">161</span><span id="line-161">                    
    .replace("(", "\\(")</span>
+<span class="source-line-no">162</span><span id="line-162">                    
    .replace(")", "\\)");</span>
+<span class="source-line-no">163</span><span id="line-163"></span>
+<span class="source-line-no">164</span><span id="line-164">                if 
(".*".equals(regex)) {</span>
+<span class="source-line-no">165</span><span id="line-165">                    
partsRegex[index] = test -&gt; true;</span>
+<span class="source-line-no">166</span><span id="line-166">                } 
else {</span>
+<span class="source-line-no">167</span><span id="line-167">                    
partsRegex[index] = test -&gt;</span>
+<span class="source-line-no">168</span><span id="line-168">                    
        java.util.regex.Pattern.compile(regex).matcher(test).matches();</span>
+<span class="source-line-no">169</span><span id="line-169">                
}</span>
+<span class="source-line-no">170</span><span id="line-170">            }</span>
+<span class="source-line-no">171</span><span id="line-171">            return 
partsRegex[index].test(input);</span>
 <span class="source-line-no">172</span><span id="line-172">        }</span>
-<span class="source-line-no">173</span><span id="line-173">    }</span>
-<span class="source-line-no">174</span><span id="line-174"></span>
-<span class="source-line-no">175</span><span id="line-175">    private final 
Collection&lt;Pattern&gt; excludePatterns = new HashSet&lt;&gt;();</span>
-<span class="source-line-no">176</span><span id="line-176"></span>
-<span class="source-line-no">177</span><span id="line-177">    private final 
Collection&lt;Pattern&gt; includePatterns = new HashSet&lt;&gt;();</span>
-<span class="source-line-no">178</span><span id="line-178"></span>
-<span class="source-line-no">179</span><span id="line-179">    /**</span>
-<span class="source-line-no">180</span><span id="line-180">     * Construct 
class by providing patterns as strings. Empty strings are ignored.</span>
-<span class="source-line-no">181</span><span id="line-181">     *</span>
-<span class="source-line-no">182</span><span id="line-182">     * @param 
excludeStrings includes</span>
-<span class="source-line-no">183</span><span id="line-183">     * @param 
includeStrings excludes</span>
-<span class="source-line-no">184</span><span id="line-184">     * @throws 
NullPointerException if any of the arguments is null</span>
-<span class="source-line-no">185</span><span id="line-185">     */</span>
-<span class="source-line-no">186</span><span id="line-186">    public 
ArtifactMatcher(final Collection&lt;String&gt; excludeStrings, final 
Collection&lt;String&gt; includeStrings) {</span>
-<span class="source-line-no">187</span><span id="line-187">        
ofNullable(excludeStrings).ifPresent(excludes -&gt; excludes.stream()</span>
-<span class="source-line-no">188</span><span id="line-188">                
.filter(StringUtils::isNotEmpty)</span>
-<span class="source-line-no">189</span><span id="line-189">                
.map(Pattern::new)</span>
-<span class="source-line-no">190</span><span id="line-190">                
.forEach(excludePatterns::add));</span>
-<span class="source-line-no">191</span><span id="line-191">        
ofNullable(includeStrings).ifPresent(includes -&gt; includes.stream()</span>
-<span class="source-line-no">192</span><span id="line-192">                
.filter(StringUtils::isNotEmpty)</span>
-<span class="source-line-no">193</span><span id="line-193">                
.map(Pattern::new)</span>
-<span class="source-line-no">194</span><span id="line-194">                
.forEach(includePatterns::add));</span>
-<span class="source-line-no">195</span><span id="line-195">    }</span>
-<span class="source-line-no">196</span><span id="line-196"></span>
-<span class="source-line-no">197</span><span id="line-197">    private boolean 
match(Function&lt;Pattern, Boolean&gt; matcher) {</span>
-<span class="source-line-no">198</span><span id="line-198">        return 
excludePatterns.stream().anyMatch(matcher::apply)</span>
-<span class="source-line-no">199</span><span id="line-199">                
&amp;&amp; includePatterns.stream().noneMatch(matcher::apply);</span>
+<span class="source-line-no">173</span><span id="line-173"></span>
+<span class="source-line-no">174</span><span id="line-174">        
@Override</span>
+<span class="source-line-no">175</span><span id="line-175">        public 
String toString() {</span>
+<span class="source-line-no">176</span><span id="line-176">            return 
pattern;</span>
+<span class="source-line-no">177</span><span id="line-177">        }</span>
+<span class="source-line-no">178</span><span id="line-178">    }</span>
+<span class="source-line-no">179</span><span id="line-179"></span>
+<span class="source-line-no">180</span><span id="line-180">    private final 
Collection&lt;Pattern&gt; excludePatterns = new HashSet&lt;&gt;();</span>
+<span class="source-line-no">181</span><span id="line-181"></span>
+<span class="source-line-no">182</span><span id="line-182">    private final 
Collection&lt;Pattern&gt; includePatterns = new HashSet&lt;&gt;();</span>
+<span class="source-line-no">183</span><span id="line-183"></span>
+<span class="source-line-no">184</span><span id="line-184">    /**</span>
+<span class="source-line-no">185</span><span id="line-185">     * Construct 
class by providing patterns as strings. Empty strings are ignored.</span>
+<span class="source-line-no">186</span><span id="line-186">     *</span>
+<span class="source-line-no">187</span><span id="line-187">     * @param 
excludeStrings includes</span>
+<span class="source-line-no">188</span><span id="line-188">     * @param 
includeStrings excludes</span>
+<span class="source-line-no">189</span><span id="line-189">     * @throws 
NullPointerException if any of the arguments is null</span>
+<span class="source-line-no">190</span><span id="line-190">     */</span>
+<span class="source-line-no">191</span><span id="line-191">    public 
ArtifactMatcher(final Collection&lt;String&gt; excludeStrings, final 
Collection&lt;String&gt; includeStrings) {</span>
+<span class="source-line-no">192</span><span id="line-192">        
ofNullable(excludeStrings).ifPresent(excludes -&gt; excludes.stream()</span>
+<span class="source-line-no">193</span><span id="line-193">                
.filter(StringUtils::isNotEmpty)</span>
+<span class="source-line-no">194</span><span id="line-194">                
.map(Pattern::new)</span>
+<span class="source-line-no">195</span><span id="line-195">                
.forEach(excludePatterns::add));</span>
+<span class="source-line-no">196</span><span id="line-196">        
ofNullable(includeStrings).ifPresent(includes -&gt; includes.stream()</span>
+<span class="source-line-no">197</span><span id="line-197">                
.filter(StringUtils::isNotEmpty)</span>
+<span class="source-line-no">198</span><span id="line-198">                
.map(Pattern::new)</span>
+<span class="source-line-no">199</span><span id="line-199">                
.forEach(includePatterns::add));</span>
 <span class="source-line-no">200</span><span id="line-200">    }</span>
 <span class="source-line-no">201</span><span id="line-201"></span>
-<span class="source-line-no">202</span><span id="line-202">    /**</span>
-<span class="source-line-no">203</span><span id="line-203">     * Check if 
artifact matches patterns.</span>
-<span class="source-line-no">204</span><span id="line-204">     *</span>
-<span class="source-line-no">205</span><span id="line-205">     * @param 
artifact the artifact to match</span>
-<span class="source-line-no">206</span><span id="line-206">     * @return 
{@code true} if artifact matches any {@link #excludePatterns} and none of the 
{@link #includePatterns}, otherwise</span>
-<span class="source-line-no">207</span><span id="line-207">     *         
{@code false}</span>
-<span class="source-line-no">208</span><span id="line-208">     */</span>
-<span class="source-line-no">209</span><span id="line-209">    public boolean 
match(Artifact artifact) {</span>
-<span class="source-line-no">210</span><span id="line-210">        return 
match(p -&gt; p.match(artifact));</span>
-<span class="source-line-no">211</span><span id="line-211">    }</span>
-<span class="source-line-no">212</span><span id="line-212"></span>
-<span class="source-line-no">213</span><span id="line-213">    /**</span>
-<span class="source-line-no">214</span><span id="line-214">     * Check if 
dependency matches patterns.</span>
-<span class="source-line-no">215</span><span id="line-215">     *</span>
-<span class="source-line-no">216</span><span id="line-216">     * @param 
dependency the dependency to match</span>
-<span class="source-line-no">217</span><span id="line-217">     * @return 
{@code true} if dependency matches any {@link #excludePatterns} and none of the 
{@link #includePatterns},</span>
-<span class="source-line-no">218</span><span id="line-218">     *         
otherwise {@code false}</span>
-<span class="source-line-no">219</span><span id="line-219">     */</span>
-<span class="source-line-no">220</span><span id="line-220">    public boolean 
match(Dependency dependency) {</span>
-<span class="source-line-no">221</span><span id="line-221">        return 
match(p -&gt; p.match(dependency));</span>
-<span class="source-line-no">222</span><span id="line-222">    }</span>
-<span class="source-line-no">223</span><span id="line-223"></span>
-<span class="source-line-no">224</span><span id="line-224">    /**</span>
-<span class="source-line-no">225</span><span id="line-225">     * Copied from 
Artifact.VersionRange. This is tweaked to handle singular ranges properly. 
Currently the default</span>
-<span class="source-line-no">226</span><span id="line-226">     * 
containsVersion method assumes a singular version means allow everything. This 
method assumes that "2.0.4" ==</span>
-<span class="source-line-no">227</span><span id="line-227">     * 
"[2.0.4,)"</span>
-<span class="source-line-no">228</span><span id="line-228">     *</span>
-<span class="source-line-no">229</span><span id="line-229">     * @param 
allowedRange range of allowed versions.</span>
-<span class="source-line-no">230</span><span id="line-230">     * @param 
theVersion   the version to be checked.</span>
-<span class="source-line-no">231</span><span id="line-231">     * @return true 
if the version is contained by the range.</span>
-<span class="source-line-no">232</span><span id="line-232">     */</span>
-<span class="source-line-no">233</span><span id="line-233">    public static 
boolean containsVersion(VersionRange allowedRange, ArtifactVersion theVersion) 
{</span>
-<span class="source-line-no">234</span><span id="line-234">        
ArtifactVersion recommendedVersion = 
allowedRange.getRecommendedVersion();</span>
-<span class="source-line-no">235</span><span id="line-235">        if 
(recommendedVersion == null) {</span>
-<span class="source-line-no">236</span><span id="line-236">            return 
allowedRange.containsVersion(theVersion);</span>
-<span class="source-line-no">237</span><span id="line-237">        } else 
{</span>
-<span class="source-line-no">238</span><span id="line-238">            // only 
singular versions ever have a recommendedVersion</span>
-<span class="source-line-no">239</span><span id="line-239">            int 
compareTo = recommendedVersion.compareTo(theVersion);</span>
-<span class="source-line-no">240</span><span id="line-240">            return 
compareTo &lt;= 0;</span>
-<span class="source-line-no">241</span><span id="line-241">        }</span>
-<span class="source-line-no">242</span><span id="line-242">    }</span>
-<span class="source-line-no">243</span><span id="line-243">}</span>
+<span class="source-line-no">202</span><span id="line-202">    private boolean 
match(Function&lt;Pattern, Boolean&gt; matcher) {</span>
+<span class="source-line-no">203</span><span id="line-203">        return 
excludePatterns.stream().anyMatch(matcher::apply)</span>
+<span class="source-line-no">204</span><span id="line-204">                
&amp;&amp; includePatterns.stream().noneMatch(matcher::apply);</span>
+<span class="source-line-no">205</span><span id="line-205">    }</span>
+<span class="source-line-no">206</span><span id="line-206"></span>
+<span class="source-line-no">207</span><span id="line-207">    /**</span>
+<span class="source-line-no">208</span><span id="line-208">     * Check if 
artifact matches patterns.</span>
+<span class="source-line-no">209</span><span id="line-209">     *</span>
+<span class="source-line-no">210</span><span id="line-210">     * @param 
artifact the artifact to match</span>
+<span class="source-line-no">211</span><span id="line-211">     * @return 
{@code true} if artifact matches any {@link #excludePatterns} and none of the 
{@link #includePatterns}, otherwise</span>
+<span class="source-line-no">212</span><span id="line-212">     *         
{@code false}</span>
+<span class="source-line-no">213</span><span id="line-213">     */</span>
+<span class="source-line-no">214</span><span id="line-214">    public boolean 
match(Artifact artifact) {</span>
+<span class="source-line-no">215</span><span id="line-215">        return 
match(p -&gt; p.match(artifact));</span>
+<span class="source-line-no">216</span><span id="line-216">    }</span>
+<span class="source-line-no">217</span><span id="line-217"></span>
+<span class="source-line-no">218</span><span id="line-218">    /**</span>
+<span class="source-line-no">219</span><span id="line-219">     * Check if 
dependency matches patterns.</span>
+<span class="source-line-no">220</span><span id="line-220">     *</span>
+<span class="source-line-no">221</span><span id="line-221">     * @param 
dependency the dependency to match</span>
+<span class="source-line-no">222</span><span id="line-222">     * @return 
{@code true} if dependency matches any {@link #excludePatterns} and none of the 
{@link #includePatterns},</span>
+<span class="source-line-no">223</span><span id="line-223">     *         
otherwise {@code false}</span>
+<span class="source-line-no">224</span><span id="line-224">     */</span>
+<span class="source-line-no">225</span><span id="line-225">    public boolean 
match(Dependency dependency) {</span>
+<span class="source-line-no">226</span><span id="line-226">        return 
match(p -&gt; p.match(dependency));</span>
+<span class="source-line-no">227</span><span id="line-227">    }</span>
+<span class="source-line-no">228</span><span id="line-228"></span>
+<span class="source-line-no">229</span><span id="line-229">    /**</span>
+<span class="source-line-no">230</span><span id="line-230">     * Copied from 
Artifact.VersionRange. This is tweaked to handle singular ranges properly. The 
default</span>
+<span class="source-line-no">231</span><span id="line-231">     * 
containsVersion method assumes a singular version means allow everything.</span>
+<span class="source-line-no">232</span><span id="line-232">     * This method 
assumes that "2.0.4" == "[2.0.4,)"</span>
+<span class="source-line-no">233</span><span id="line-233">     *</span>
+<span class="source-line-no">234</span><span id="line-234">     * @param 
allowedRange range of allowed versions</span>
+<span class="source-line-no">235</span><span id="line-235">     * @param 
version the version to be checked</span>
+<span class="source-line-no">236</span><span id="line-236">     * @return true 
if the version is contained by the range</span>
+<span class="source-line-no">237</span><span id="line-237">     */</span>
+<span class="source-line-no">238</span><span id="line-238">    public static 
boolean containsVersion(VersionRange allowedRange, ArtifactVersion version) 
{</span>
+<span class="source-line-no">239</span><span id="line-239">        
ArtifactVersion recommendedVersion = 
allowedRange.getRecommendedVersion();</span>
+<span class="source-line-no">240</span><span id="line-240">        if 
(recommendedVersion == null) {</span>
+<span class="source-line-no">241</span><span id="line-241">            return 
allowedRange.containsVersion(version);</span>
+<span class="source-line-no">242</span><span id="line-242">        } else 
{</span>
+<span class="source-line-no">243</span><span id="line-243">            // only 
singular versions ever have a recommendedVersion</span>
+<span class="source-line-no">244</span><span id="line-244">            int 
compareTo = recommendedVersion.compareTo(version);</span>
+<span class="source-line-no">245</span><span id="line-245">            return 
compareTo &lt;= 0;</span>
+<span class="source-line-no">246</span><span id="line-246">        }</span>
+<span class="source-line-no">247</span><span id="line-247">    }</span>
+<span class="source-line-no">248</span><span id="line-248"></span>
+<span class="source-line-no">249</span><span id="line-249">    /**</span>
+<span class="source-line-no">250</span><span id="line-250">     * To be used 
for artifacts which are equivalent for the purposes of the {@link 
ArtifactMatcher}.</span>
+<span class="source-line-no">251</span><span id="line-251">     */</span>
+<span class="source-line-no">252</span><span id="line-252">    public static 
class MatchingArtifact {</span>
+<span class="source-line-no">253</span><span id="line-253">        String 
artifactString;</span>
+<span class="source-line-no">254</span><span id="line-254"></span>
+<span class="source-line-no">255</span><span id="line-255">        public 
MatchingArtifact(Artifact artifact) {</span>
+<span class="source-line-no">256</span><span id="line-256">            
artifactString = new StringBuilder()</span>
+<span class="source-line-no">257</span><span id="line-257">                    
.append(artifact.getGroupId())</span>
+<span class="source-line-no">258</span><span id="line-258">                    
.append(":")</span>
+<span class="source-line-no">259</span><span id="line-259">                    
.append(artifact.getArtifactId())</span>
+<span class="source-line-no">260</span><span id="line-260">                    
.append(":")</span>
+<span class="source-line-no">261</span><span id="line-261">                    
.append(artifact.getVersion())</span>
+<span class="source-line-no">262</span><span id="line-262">                    
.append(":")</span>
+<span class="source-line-no">263</span><span id="line-263">                    
.append(artifact.getType())</span>
+<span class="source-line-no">264</span><span id="line-264">                    
.append(":")</span>
+<span class="source-line-no">265</span><span id="line-265">                    
.append(artifact.getScope())</span>
+<span class="source-line-no">266</span><span id="line-266">                    
.append(":")</span>
+<span class="source-line-no">267</span><span id="line-267">                    
.append(artifact.getClassifier())</span>
+<span class="source-line-no">268</span><span id="line-268">                    
.toString();</span>
+<span class="source-line-no">269</span><span id="line-269">        }</span>
+<span class="source-line-no">270</span><span id="line-270"></span>
+<span class="source-line-no">271</span><span id="line-271">        
@Override</span>
+<span class="source-line-no">272</span><span id="line-272">        public int 
hashCode() {</span>
+<span class="source-line-no">273</span><span id="line-273">            return 
artifactString.hashCode();</span>
+<span class="source-line-no">274</span><span id="line-274">        }</span>
+<span class="source-line-no">275</span><span id="line-275"></span>
+<span class="source-line-no">276</span><span id="line-276">        
@Override</span>
+<span class="source-line-no">277</span><span id="line-277">        public 
boolean equals(Object obj) {</span>
+<span class="source-line-no">278</span><span id="line-278">            if 
(this == obj) {</span>
+<span class="source-line-no">279</span><span id="line-279">                
return true;</span>
+<span class="source-line-no">280</span><span id="line-280">            }</span>
+<span class="source-line-no">281</span><span id="line-281">            if (obj 
== null) {</span>
+<span class="source-line-no">282</span><span id="line-282">                
return false;</span>
+<span class="source-line-no">283</span><span id="line-283">            }</span>
+<span class="source-line-no">284</span><span id="line-284">            if 
(getClass() != obj.getClass()) {</span>
+<span class="source-line-no">285</span><span id="line-285">                
return false;</span>
+<span class="source-line-no">286</span><span id="line-286">            }</span>
+<span class="source-line-no">287</span><span id="line-287">            
MatchingArtifact other = (MatchingArtifact) obj;</span>
+<span class="source-line-no">288</span><span id="line-288">            return 
Objects.equals(artifactString, other.artifactString);</span>
+<span class="source-line-no">289</span><span id="line-289">        }</span>
+<span class="source-line-no">290</span><span id="line-290"></span>
+<span class="source-line-no">291</span><span id="line-291">        
@Override</span>
+<span class="source-line-no">292</span><span id="line-292">        public 
String toString() {</span>
+<span class="source-line-no">293</span><span id="line-293">            return 
artifactString;</span>
+<span class="source-line-no">294</span><span id="line-294">        }</span>
+<span class="source-line-no">295</span><span id="line-295">    }</span>
+<span class="source-line-no">296</span><span id="line-296">}</span>
 
 
 

Modified: 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/apidocs/src-html/org/apache/maven/enforcer/rules/version/RequireJavaVersion.html
==============================================================================
--- 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/apidocs/src-html/org/apache/maven/enforcer/rules/version/RequireJavaVersion.html
 (original)
+++ 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/apidocs/src-html/org/apache/maven/enforcer/rules/version/RequireJavaVersion.html
 Sat Jul 12 17:23:46 2025
@@ -63,19 +63,19 @@
 <span class="source-line-no">050</span><span id="line-50">    private boolean 
display = false;</span>
 <span class="source-line-no">051</span><span id="line-51"></span>
 <span class="source-line-no">052</span><span id="line-52">    @Override</span>
-<span class="source-line-no">053</span><span id="line-53">    public void 
setVersion(String theVersion) {</span>
+<span class="source-line-no">053</span><span id="line-53">    public void 
setVersion(String version) {</span>
 <span class="source-line-no">054</span><span id="line-54"></span>
-<span class="source-line-no">055</span><span id="line-55">        if 
("8".equals(theVersion)) {</span>
+<span class="source-line-no">055</span><span id="line-55">        if 
("8".equals(version)) {</span>
 <span class="source-line-no">056</span><span id="line-56">            
super.setVersion("1.8");</span>
 <span class="source-line-no">057</span><span id="line-57">            
return;</span>
 <span class="source-line-no">058</span><span id="line-58">        }</span>
 <span class="source-line-no">059</span><span id="line-59"></span>
-<span class="source-line-no">060</span><span id="line-60">        if 
(!theVersion.contains("8")) {</span>
-<span class="source-line-no">061</span><span id="line-61">            
super.setVersion(theVersion);</span>
+<span class="source-line-no">060</span><span id="line-60">        if 
(!version.contains("8")) {</span>
+<span class="source-line-no">061</span><span id="line-61">            
super.setVersion(version);</span>
 <span class="source-line-no">062</span><span id="line-62">            
return;</span>
 <span class="source-line-no">063</span><span id="line-63">        }</span>
 <span class="source-line-no">064</span><span id="line-64"></span>
-<span class="source-line-no">065</span><span id="line-65">        Matcher 
matcher = JDK8_VERSION_PATTERN.matcher(theVersion);</span>
+<span class="source-line-no">065</span><span id="line-65">        Matcher 
matcher = JDK8_VERSION_PATTERN.matcher(version);</span>
 <span class="source-line-no">066</span><span id="line-66"></span>
 <span class="source-line-no">067</span><span id="line-67">        StringBuffer 
result = new StringBuffer();</span>
 <span class="source-line-no">068</span><span id="line-68">        while 
(matcher.find()) {</span>
@@ -115,17 +115,17 @@
 <span class="source-line-no">102</span><span id="line-102">    }</span>
 <span class="source-line-no">103</span><span id="line-103"></span>
 <span class="source-line-no">104</span><span id="line-104">    /**</span>
-<span class="source-line-no">105</span><span id="line-105">     * Converts a 
jdk string from 1.5.0-11b12 to a single 3 digit version like 1.5.0-11</span>
+<span class="source-line-no">105</span><span id="line-105">     * Converts a 
JDK string from 1.5.0-11b12 to a single 3 digit version like 1.5.0-11</span>
 <span class="source-line-no">106</span><span id="line-106">     *</span>
-<span class="source-line-no">107</span><span id="line-107">     * @param 
theJdkVersion to be converted.</span>
-<span class="source-line-no">108</span><span id="line-108">     * @return the 
converted string.</span>
+<span class="source-line-no">107</span><span id="line-107">     * @param 
jdkVersion to be converted</span>
+<span class="source-line-no">108</span><span id="line-108">     * @return the 
converted string</span>
 <span class="source-line-no">109</span><span id="line-109">     */</span>
-<span class="source-line-no">110</span><span id="line-110">    public static 
String normalizeJDKVersion(String theJdkVersion) {</span>
+<span class="source-line-no">110</span><span id="line-110">    public static 
String normalizeJDKVersion(String jdkVersion) {</span>
 <span class="source-line-no">111</span><span id="line-111"></span>
-<span class="source-line-no">112</span><span id="line-112">        
theJdkVersion = theJdkVersion.replaceAll("_|-", ".");</span>
-<span class="source-line-no">113</span><span id="line-113">        String 
tokenArray[] = StringUtils.split(theJdkVersion, ".");</span>
+<span class="source-line-no">112</span><span id="line-112">        jdkVersion 
= jdkVersion.replaceAll("_|-", ".");</span>
+<span class="source-line-no">113</span><span id="line-113">        String 
tokenArray[] = StringUtils.split(jdkVersion, ".");</span>
 <span class="source-line-no">114</span><span id="line-114">        
List&lt;String&gt; tokens = Arrays.asList(tokenArray);</span>
-<span class="source-line-no">115</span><span id="line-115">        
StringBuilder buffer = new StringBuilder(theJdkVersion.length());</span>
+<span class="source-line-no">115</span><span id="line-115">        
StringBuilder buffer = new StringBuilder(jdkVersion.length());</span>
 <span class="source-line-no">116</span><span id="line-116"></span>
 <span class="source-line-no">117</span><span id="line-117">        
Iterator&lt;String&gt; iter = tokens.iterator();</span>
 <span class="source-line-no">118</span><span id="line-118">        for (int i 
= 0; i &lt; tokens.size() &amp;&amp; i &lt; 4; i++) {</span>

Modified: 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/apidocs/type-search-index.js
==============================================================================
--- 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/apidocs/type-search-index.js
 (original)
+++ 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/apidocs/type-search-index.js
 Sat Jul 12 17:23:46 2025
@@ -1 +1 @@
-typeSearchIndex = 
[{"p":"org.apache.maven.enforcer.rules","l":"AbstractStandardEnforcerRule"},{"l":"All
 Classes and 
Interfaces","u":"allclasses-index.html"},{"p":"org.apache.maven.enforcer.rules","l":"AlwaysFail"},{"p":"org.apache.maven.enforcer.rules","l":"AlwaysPass"},{"p":"org.apache.maven.enforcer.rules.utils","l":"ArtifactMatcher"},{"p":"org.apache.maven.enforcer.rules.utils","l":"ArtifactUtils"},{"p":"org.apache.maven.enforcer.rules","l":"BanDependencyManagementScope"},{"p":"org.apache.maven.enforcer.rules","l":"BanDistributionManagement"},{"p":"org.apache.maven.enforcer.rules","l":"BanDuplicatePomDependencyVersions"},{"p":"org.apache.maven.enforcer.rules.dependency","l":"BanDynamicVersions"},{"p":"org.apache.maven.enforcer.rules.dependency","l":"BannedDependencies"},{"p":"org.apache.maven.enforcer.rules","l":"BannedPlugins"},{"p":"org.apache.maven.enforcer.rules","l":"BannedRepositories"},{"p":"org.apache.maven.enforcer.rules.dependency","l":"BanTransitiveDependencies"},{"p":
 
"org.apache.maven.enforcer.rules.dependency","l":"DependencyConvergence"},{"p":"org.apache.maven.enforcer.rules.utils","l":"EnforcerRuleUtils"},{"p":"org.apache.maven.enforcer.rules","l":"EvaluateBeanshell"},{"p":"org.apache.maven.enforcer.rules.utils","l":"ExpressionEvaluator"},{"p":"org.apache.maven.enforcer.rules","l":"ExternalRules"},{"p":"org.apache.maven.enforcer.rules.utils","l":"OSUtil"},{"p":"org.apache.maven.enforcer.rules.utils","l":"ParentNodeProvider"},{"p":"org.apache.maven.enforcer.rules.utils","l":"ParentsVisitor"},{"p":"org.apache.maven.enforcer.rules.utils","l":"ArtifactMatcher.Pattern"},{"p":"org.apache.maven.enforcer.rules.utils","l":"PluginWrapper"},{"p":"org.apache.maven.enforcer.rules","l":"ReactorModuleConvergence"},{"p":"org.apache.maven.enforcer.rules","l":"RequireActiveProfile"},{"p":"org.apache.maven.enforcer.rules.property","l":"RequireEnvironmentVariable"},{"p":"org.apache.maven.enforcer.rules","l":"RequireExplicitDependencyScope"},{"p":"org.apache.mave
 
n.enforcer.rules.checksum","l":"RequireFileChecksum"},{"p":"org.apache.maven.enforcer.rules.files","l":"RequireFilesDontExist"},{"p":"org.apache.maven.enforcer.rules.files","l":"RequireFilesExist"},{"p":"org.apache.maven.enforcer.rules.files","l":"RequireFilesSize"},{"p":"org.apache.maven.enforcer.rules","l":"RequireJavaVendor"},{"p":"org.apache.maven.enforcer.rules.version","l":"RequireJavaVersion"},{"p":"org.apache.maven.enforcer.rules","l":"RequireMatchingCoordinates"},{"p":"org.apache.maven.enforcer.rules.version","l":"RequireMavenVersion"},{"p":"org.apache.maven.enforcer.rules","l":"RequireNoRepositories"},{"p":"org.apache.maven.enforcer.rules","l":"RequireOS"},{"p":"org.apache.maven.enforcer.rules","l":"RequirePluginVersions"},{"p":"org.apache.maven.enforcer.rules","l":"RequirePrerequisite"},{"p":"org.apache.maven.enforcer.rules","l":"RequireProfileIdsExist"},{"p":"org.apache.maven.enforcer.rules.property","l":"RequireProperty"},{"p":"org.apache.maven.enforcer.rules.dependency
 
","l":"RequireReleaseDeps"},{"p":"org.apache.maven.enforcer.rules","l":"RequireReleaseVersion"},{"p":"org.apache.maven.enforcer.rules","l":"RequireSameVersions"},{"p":"org.apache.maven.enforcer.rules","l":"RequireSnapshotVersion"},{"p":"org.apache.maven.enforcer.rules.checksum","l":"RequireTextFileChecksum"},{"p":"org.apache.maven.enforcer.rules.dependency","l":"RequireUpperBoundDeps"}];updateSearchResults();
\ No newline at end of file
+typeSearchIndex = 
[{"p":"org.apache.maven.enforcer.rules","l":"AbstractStandardEnforcerRule"},{"l":"All
 Classes and 
Interfaces","u":"allclasses-index.html"},{"p":"org.apache.maven.enforcer.rules","l":"AlwaysFail"},{"p":"org.apache.maven.enforcer.rules","l":"AlwaysPass"},{"p":"org.apache.maven.enforcer.rules.utils","l":"ArtifactMatcher"},{"p":"org.apache.maven.enforcer.rules.utils","l":"ArtifactUtils"},{"p":"org.apache.maven.enforcer.rules","l":"BanDependencyManagementScope"},{"p":"org.apache.maven.enforcer.rules","l":"BanDistributionManagement"},{"p":"org.apache.maven.enforcer.rules","l":"BanDuplicatePomDependencyVersions"},{"p":"org.apache.maven.enforcer.rules.dependency","l":"BanDynamicVersions"},{"p":"org.apache.maven.enforcer.rules.dependency","l":"BannedDependencies"},{"p":"org.apache.maven.enforcer.rules","l":"BannedPlugins"},{"p":"org.apache.maven.enforcer.rules","l":"BannedRepositories"},{"p":"org.apache.maven.enforcer.rules.dependency","l":"BanTransitiveDependencies"},{"p":
 
"org.apache.maven.enforcer.rules.dependency","l":"DependencyConvergence"},{"p":"org.apache.maven.enforcer.rules.utils","l":"EnforcerRuleUtils"},{"p":"org.apache.maven.enforcer.rules","l":"EvaluateBeanshell"},{"p":"org.apache.maven.enforcer.rules.utils","l":"ExpressionEvaluator"},{"p":"org.apache.maven.enforcer.rules","l":"ExternalRules"},{"p":"org.apache.maven.enforcer.rules.utils","l":"ArtifactMatcher.MatchingArtifact"},{"p":"org.apache.maven.enforcer.rules.utils","l":"OSUtil"},{"p":"org.apache.maven.enforcer.rules.utils","l":"ParentNodeProvider"},{"p":"org.apache.maven.enforcer.rules.utils","l":"ParentsVisitor"},{"p":"org.apache.maven.enforcer.rules.utils","l":"ArtifactMatcher.Pattern"},{"p":"org.apache.maven.enforcer.rules.utils","l":"PluginWrapper"},{"p":"org.apache.maven.enforcer.rules","l":"ReactorModuleConvergence"},{"p":"org.apache.maven.enforcer.rules","l":"RequireActiveProfile"},{"p":"org.apache.maven.enforcer.rules.property","l":"RequireEnvironmentVariable"},{"p":"org.apa
 
che.maven.enforcer.rules","l":"RequireExplicitDependencyScope"},{"p":"org.apache.maven.enforcer.rules.checksum","l":"RequireFileChecksum"},{"p":"org.apache.maven.enforcer.rules.files","l":"RequireFilesDontExist"},{"p":"org.apache.maven.enforcer.rules.files","l":"RequireFilesExist"},{"p":"org.apache.maven.enforcer.rules.files","l":"RequireFilesSize"},{"p":"org.apache.maven.enforcer.rules","l":"RequireJavaVendor"},{"p":"org.apache.maven.enforcer.rules.version","l":"RequireJavaVersion"},{"p":"org.apache.maven.enforcer.rules","l":"RequireMatchingCoordinates"},{"p":"org.apache.maven.enforcer.rules.version","l":"RequireMavenVersion"},{"p":"org.apache.maven.enforcer.rules","l":"RequireNoRepositories"},{"p":"org.apache.maven.enforcer.rules","l":"RequireOS"},{"p":"org.apache.maven.enforcer.rules","l":"RequirePluginVersions"},{"p":"org.apache.maven.enforcer.rules","l":"RequirePrerequisite"},{"p":"org.apache.maven.enforcer.rules","l":"RequireProfileIdsExist"},{"p":"org.apache.maven.enforcer.ru
 
les.property","l":"RequireProperty"},{"p":"org.apache.maven.enforcer.rules.dependency","l":"RequireReleaseDeps"},{"p":"org.apache.maven.enforcer.rules","l":"RequireReleaseVersion"},{"p":"org.apache.maven.enforcer.rules","l":"RequireSameVersions"},{"p":"org.apache.maven.enforcer.rules","l":"RequireSnapshotVersion"},{"p":"org.apache.maven.enforcer.rules.checksum","l":"RequireTextFileChecksum"},{"p":"org.apache.maven.enforcer.rules.dependency","l":"RequireUpperBoundDeps"}];updateSearchResults();
\ No newline at end of file

Modified: 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/banDependencyManagementScope.html
==============================================================================
--- 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/banDependencyManagementScope.html
 (original)
+++ 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/banDependencyManagementScope.html
 Sat Jul 12 17:23:46 2025
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/banDependencyManagementScope.apt.vm at 2025-06-28
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/banDependencyManagementScope.apt.vm at 2025-07-12
  | Rendered using Apache Maven Fluido Skin 2.1.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
@@ -49,9 +49,9 @@
       <li><a href="../../index.html">Maven</a><span 
class="divider">/</span></li>
       <li><a href="../index.html">Enforcer</a><span 
class="divider">/</span></li>
       <li><a href="index.html">Apache Maven Enforcer Built-In Rules</a><span 
class="divider">/</span></li>
-    <li class="active">Ban Dependency Management Scope <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.0/enforcer-rules/src/site/apt/banDependencyManagementScope.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
-        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-06-28</li>
-          <li id="projectVersion" class="pull-right">Version: 3.6.0</li>
+    <li class="active">Ban Dependency Management Scope <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.1/enforcer-rules/src/site/apt/banDependencyManagementScope.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
+        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-07-12</li>
+          <li id="projectVersion" class="pull-right">Version: 3.6.1</li>
           </ul>
         </div>
       </header>
@@ -134,7 +134,7 @@
       &lt;plugin&gt;
         &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
         &lt;artifactId&gt;maven-enforcer-plugin&lt;/artifactId&gt;
-        &lt;version&gt;3.6.0&lt;/version&gt;
+        &lt;version&gt;3.6.1&lt;/version&gt;
         &lt;executions&gt;
           &lt;execution&gt;
             &lt;id&gt;ban-dependency-management-scope&lt;/id&gt;

Modified: 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/banDistributionManagement.html
==============================================================================
--- 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/banDistributionManagement.html
 (original)
+++ 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/banDistributionManagement.html
 Sat Jul 12 17:23:46 2025
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/banDistributionManagement.apt.vm at 2025-06-28
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/banDistributionManagement.apt.vm at 2025-07-12
  | Rendered using Apache Maven Fluido Skin 2.1.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
@@ -49,9 +49,9 @@
       <li><a href="../../index.html">Maven</a><span 
class="divider">/</span></li>
       <li><a href="../index.html">Enforcer</a><span 
class="divider">/</span></li>
       <li><a href="index.html">Apache Maven Enforcer Built-In Rules</a><span 
class="divider">/</span></li>
-    <li class="active">Ban Distribution Management <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.0/enforcer-rules/src/site/apt/banDistributionManagement.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
-        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-06-28</li>
-          <li id="projectVersion" class="pull-right">Version: 3.6.0</li>
+    <li class="active">Ban Distribution Management <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.1/enforcer-rules/src/site/apt/banDistributionManagement.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
+        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-07-12</li>
+          <li id="projectVersion" class="pull-right">Version: 3.6.1</li>
           </ul>
         </div>
       </header>
@@ -125,7 +125,7 @@
       &lt;plugin&gt;
         &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
         &lt;artifactId&gt;maven-enforcer-plugin&lt;/artifactId&gt;
-        &lt;version&gt;3.6.0&lt;/version&gt;
+        &lt;version&gt;3.6.1&lt;/version&gt;
         &lt;executions&gt;
           &lt;execution&gt;
             &lt;id&gt;no-distribution-management-at-all&lt;/id&gt;
@@ -153,7 +153,7 @@
       &lt;plugin&gt;
         &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
         &lt;artifactId&gt;maven-enforcer-plugin&lt;/artifactId&gt;
-        &lt;version&gt;3.6.0&lt;/version&gt;
+        &lt;version&gt;3.6.1&lt;/version&gt;
         &lt;executions&gt;
           &lt;execution&gt;
             &lt;id&gt;no-distribution-management-at-all&lt;/id&gt;

Modified: 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/banDuplicatePomDependencyVersions.html
==============================================================================
--- 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/banDuplicatePomDependencyVersions.html
 (original)
+++ 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/banDuplicatePomDependencyVersions.html
 Sat Jul 12 17:23:46 2025
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/banDuplicatePomDependencyVersions.apt.vm at 2025-06-28
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/banDuplicatePomDependencyVersions.apt.vm at 2025-07-12
  | Rendered using Apache Maven Fluido Skin 2.1.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
@@ -49,9 +49,9 @@
       <li><a href="../../index.html">Maven</a><span 
class="divider">/</span></li>
       <li><a href="../index.html">Enforcer</a><span 
class="divider">/</span></li>
       <li><a href="index.html">Apache Maven Enforcer Built-In Rules</a><span 
class="divider">/</span></li>
-    <li class="active">Ban Duplicate Pom Dependency Versions <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.0/enforcer-rules/src/site/apt/banDuplicatePomDependencyVersions.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
-        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-06-28</li>
-          <li id="projectVersion" class="pull-right">Version: 3.6.0</li>
+    <li class="active">Ban Duplicate Pom Dependency Versions <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.1/enforcer-rules/src/site/apt/banDuplicatePomDependencyVersions.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
+        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-07-12</li>
+          <li id="projectVersion" class="pull-right">Version: 3.6.1</li>
           </ul>
         </div>
       </header>
@@ -120,7 +120,7 @@
       &lt;plugin&gt;
         &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
         &lt;artifactId&gt;maven-enforcer-plugin&lt;/artifactId&gt;
-        &lt;version&gt;3.6.0&lt;/version&gt;
+        &lt;version&gt;3.6.1&lt;/version&gt;
         &lt;executions&gt;
           &lt;execution&gt;
             &lt;id&gt;no-duplicate-declared-dependencies&lt;/id&gt;

Modified: 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/banDynamicVersions.html
==============================================================================
--- 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/banDynamicVersions.html
 (original)
+++ 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/banDynamicVersions.html
 Sat Jul 12 17:23:46 2025
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/banDynamicVersions.apt.vm at 2025-06-28
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/banDynamicVersions.apt.vm at 2025-07-12
  | Rendered using Apache Maven Fluido Skin 2.1.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
@@ -49,9 +49,9 @@
       <li><a href="../../index.html">Maven</a><span 
class="divider">/</span></li>
       <li><a href="../index.html">Enforcer</a><span 
class="divider">/</span></li>
       <li><a href="index.html">Apache Maven Enforcer Built-In Rules</a><span 
class="divider">/</span></li>
-    <li class="active">Ban Dynamic Versions <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.0/enforcer-rules/src/site/apt/banDynamicVersions.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
-        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-06-28</li>
-          <li id="projectVersion" class="pull-right">Version: 3.6.0</li>
+    <li class="active">Ban Dynamic Versions <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.1/enforcer-rules/src/site/apt/banDynamicVersions.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
+        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-07-12</li>
+          <li id="projectVersion" class="pull-right">Version: 3.6.1</li>
           </ul>
         </div>
       </header>
@@ -142,7 +142,7 @@
       &lt;plugin&gt;
         &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
         &lt;artifactId&gt;maven-enforcer-plugin&lt;/artifactId&gt;
-        &lt;version&gt;3.6.0&lt;/version&gt;
+        &lt;version&gt;3.6.1&lt;/version&gt;
         &lt;executions&gt;
           &lt;execution&gt;
             &lt;id&gt;ban-dynamic-versions&lt;/id&gt;

Modified: 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/banTransitiveDependencies.html
==============================================================================
--- 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/banTransitiveDependencies.html
 (original)
+++ 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/banTransitiveDependencies.html
 Sat Jul 12 17:23:46 2025
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/banTransitiveDependencies.apt.vm at 2025-06-28
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/banTransitiveDependencies.apt.vm at 2025-07-12
  | Rendered using Apache Maven Fluido Skin 2.1.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
@@ -48,9 +48,9 @@
       <li><a href="../../index.html">Maven</a><span 
class="divider">/</span></li>
       <li><a href="../index.html">Enforcer</a><span 
class="divider">/</span></li>
       <li><a href="index.html">Apache Maven Enforcer Built-In Rules</a><span 
class="divider">/</span></li>
-    <li class="active">Ban Transitive Dependencies <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.0/enforcer-rules/src/site/apt/banTransitiveDependencies.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
-        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-06-28</li>
-          <li id="projectVersion" class="pull-right">Version: 3.6.0</li>
+    <li class="active">Ban Transitive Dependencies <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.1/enforcer-rules/src/site/apt/banTransitiveDependencies.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
+        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-07-12</li>
+          <li id="projectVersion" class="pull-right">Version: 3.6.1</li>
           </ul>
         </div>
       </header>
@@ -124,7 +124,7 @@
       &lt;plugin&gt;
         &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
         &lt;artifactId&gt;maven-enforcer-plugin&lt;/artifactId&gt;
-        &lt;version&gt;3.6.0&lt;/version&gt;
+        &lt;version&gt;3.6.1&lt;/version&gt;
         &lt;executions&gt;
           &lt;execution&gt;
             &lt;id&gt;enforce-banned-dependencies&lt;/id&gt;

Modified: 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/bannedDependencies.html
==============================================================================
--- 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/bannedDependencies.html
 (original)
+++ 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/bannedDependencies.html
 Sat Jul 12 17:23:46 2025
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/bannedDependencies.apt.vm at 2025-06-28
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/bannedDependencies.apt.vm at 2025-07-12
  | Rendered using Apache Maven Fluido Skin 2.1.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
@@ -49,9 +49,9 @@
       <li><a href="../../index.html">Maven</a><span 
class="divider">/</span></li>
       <li><a href="../index.html">Enforcer</a><span 
class="divider">/</span></li>
       <li><a href="index.html">Apache Maven Enforcer Built-In Rules</a><span 
class="divider">/</span></li>
-    <li class="active">Banned Dependencies <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.0/enforcer-rules/src/site/apt/bannedDependencies.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
-        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-06-28</li>
-          <li id="projectVersion" class="pull-right">Version: 3.6.0</li>
+    <li class="active">Banned Dependencies <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.1/enforcer-rules/src/site/apt/bannedDependencies.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
+        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-07-12</li>
+          <li id="projectVersion" class="pull-right">Version: 3.6.1</li>
           </ul>
         </div>
       </header>
@@ -125,7 +125,7 @@
 <li>org.apache.maven:*:*:jar:test</li>
 <li>*:*:*:jar:compile:tests</li>
 <li>org.apache.*:maven-*:*</li></ul></li>
-<li><b>includes</b> - a list of artifacts to include. These are exceptions to 
the excludes. It is meant to allow wide exclusion rules with wildcards and fine 
tune using includes. If nothing has been excluded, then the includes have no 
effect. In otherwords, includes only subtract from artifacts that matched an 
exclude rule.
+<li><b>includes</b> - a list of artifacts to include. These are exceptions to 
the excludes. It is meant to allow wide exclusion rules with wildcards and fine 
tune using includes. If nothing has been excluded, then the includes have no 
effect. In other words, includes only subtract from artifacts that matched an 
exclude rule.
 <p>For example, to ban all xerces except xerces-api you would exclude 
&quot;xerces&quot; (groupId) and include &quot;xerces:xerces-api&quot; </p></li>
 <li><b>message</b> - an optional message to the user if the rule 
fails.</li></ul>
 <p>Sample Plugin Configuration:</p>
@@ -136,7 +136,7 @@
       &lt;plugin&gt;
         &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
         &lt;artifactId&gt;maven-enforcer-plugin&lt;/artifactId&gt;
-        &lt;version&gt;3.6.0&lt;/version&gt;
+        &lt;version&gt;3.6.1&lt;/version&gt;
         &lt;executions&gt;
           &lt;execution&gt;
             &lt;id&gt;enforce-banned-dependencies&lt;/id&gt;
@@ -174,7 +174,7 @@
       &lt;plugin&gt;
         &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
         &lt;artifactId&gt;maven-enforcer-plugin&lt;/artifactId&gt;
-        &lt;version&gt;3.6.0&lt;/version&gt;
+        &lt;version&gt;3.6.1&lt;/version&gt;
         &lt;executions&gt;
           &lt;execution&gt;
             &lt;id&gt;enforce-banned-dependencies&lt;/id&gt;

Modified: 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/bannedPlugins.html
==============================================================================
--- 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/bannedPlugins.html
 (original)
+++ 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/bannedPlugins.html
 Sat Jul 12 17:23:46 2025
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/bannedPlugins.apt.vm at 2025-06-28
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/bannedPlugins.apt.vm at 2025-07-12
  | Rendered using Apache Maven Fluido Skin 2.1.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
@@ -49,9 +49,9 @@
       <li><a href="../../index.html">Maven</a><span 
class="divider">/</span></li>
       <li><a href="../index.html">Enforcer</a><span 
class="divider">/</span></li>
       <li><a href="index.html">Apache Maven Enforcer Built-In Rules</a><span 
class="divider">/</span></li>
-    <li class="active">Banned Plugins <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.0/enforcer-rules/src/site/apt/bannedPlugins.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
-        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-06-28</li>
-          <li id="projectVersion" class="pull-right">Version: 3.6.0</li>
+    <li class="active">Banned Plugins <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.1/enforcer-rules/src/site/apt/bannedPlugins.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
+        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-07-12</li>
+          <li id="projectVersion" class="pull-right">Version: 3.6.1</li>
           </ul>
         </div>
       </header>
@@ -129,7 +129,7 @@
       &lt;plugin&gt;
         &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
         &lt;artifactId&gt;maven-enforcer-plugin&lt;/artifactId&gt;
-        &lt;version&gt;3.6.0&lt;/version&gt;
+        &lt;version&gt;3.6.1&lt;/version&gt;
         &lt;executions&gt;
           &lt;execution&gt;
             &lt;id&gt;enforce-banned-dependencies&lt;/id&gt;

Modified: 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/bannedRepositories.html
==============================================================================
--- 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/bannedRepositories.html
 (original)
+++ 
maven/website/components/enforcer-archives/enforcer-LATEST/enforcer-rules/bannedRepositories.html
 Sat Jul 12 17:23:46 2025
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/bannedRepositories.apt.vm at 2025-06-28
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
src/site/apt/bannedRepositories.apt.vm at 2025-07-12
  | Rendered using Apache Maven Fluido Skin 2.1.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
@@ -49,9 +49,9 @@
       <li><a href="../../index.html">Maven</a><span 
class="divider">/</span></li>
       <li><a href="../index.html">Enforcer</a><span 
class="divider">/</span></li>
       <li><a href="index.html">Apache Maven Enforcer Built-In Rules</a><span 
class="divider">/</span></li>
-    <li class="active">Banned Specified Repositories <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.0/enforcer-rules/src/site/apt/bannedRepositories.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
-        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-06-28</li>
-          <li id="projectVersion" class="pull-right">Version: 3.6.0</li>
+    <li class="active">Banned Specified Repositories <a 
href="https://github.com/apache/maven-enforcer/tree/enforcer-3.6.1/enforcer-rules/src/site/apt/bannedRepositories.apt.vm";><img
 src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
+        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2025-07-12</li>
+          <li id="projectVersion" class="pull-right">Version: 3.6.1</li>
           </ul>
         </div>
       </header>
@@ -120,7 +120,7 @@
 <li><b>banRepositories</b> - Specify banned non-plugin repositories. This is a 
black list of http/https url patterns.</li>
 <li><b>banPluginRepositories</b> - Specify banned plugin repositories. This is 
a black list of http/https url patterns.</li>
 <li><b>allowedRepositories</b> - Specify explicitly allowed non-plugin 
repositories. This is a white list of http/https url patterns.</li>
-<li><b>allowedPluginRepositories</b> - Specify explicitly allowed plugin 
repositories. This is a white list of http/https url 
patternes.</li></ul></section><section><a id="Sample_Configuration"></a>
+<li><b>allowedPluginRepositories</b> - Specify explicitly allowed plugin 
repositories. This is a white list of http/https url 
patterns.</li></ul></section><section><a id="Sample_Configuration"></a>
 <h2>Sample Configuration</h2>
 <p>For example, one company want to limit repositories usage. But different 
developers might use different settings.xml. Even their projects' pom defined 
different repositories too. For this case, could leverage this enforcer rule to 
banned specified repositories or even use 
allowedRepositories/allowedPluginRepositories to banned others unexpected 
repositories.</p>
 <p>Ex. http://repo1/xyz is the repository that want to be banned. 
http://repo2/xyz is the repository that want to use now.</p>
@@ -132,7 +132,7 @@
       &lt;plugin&gt;
         &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
         &lt;artifactId&gt;maven-enforcer-plugin&lt;/artifactId&gt;
-        &lt;version&gt;3.6.0&lt;/version&gt;
+        &lt;version&gt;3.6.1&lt;/version&gt;
         &lt;executions&gt;
           &lt;execution&gt;
             &lt;id&gt;enforce-banned-repositories&lt;/id&gt;


Reply via email to