Author: svn-site-role
Date: Tue Jan 16 17:45:43 2024
New Revision: 1915272

Log:
Site checkin for project Apache Maven Site

Modified:
    maven/website/content/maven-site-1.0-site.jar
    maven/website/content/pom.html

Modified: maven/website/content/maven-site-1.0-site.jar
==============================================================================
Binary files - no diff available.

Modified: maven/website/content/pom.html
==============================================================================
--- maven/website/content/pom.html (original)
+++ maven/website/content/pom.html Tue Jan 16 17:45:43 2024
@@ -335,7 +335,7 @@
 <h4><a id="Version_Order_Specification">Version Order Specification</a>:</h4>
 <p>If version strings are syntactically correct <a class="externalLink" 
href="https://semver.org/spec/v1.0.0.html";>Semantic Versioning 1.0.0</a> 
version numbers, then in almost all cases version comparison follows the 
precedence rules outlined in that specification. These versions are the 
commonly encountered alphanumeric ASCII strings such as 2.15.2-alpha. More 
precisely, this is true if both version numbers to be compared match the 
&quot;valid semver&quot; production in the BNF grammar in the semantic 
versioning specification. Maven does not consider any semantics implied by that 
specification.</p>
 <p><b>Important</b>: This is only true for Semantic Versioning <i>1.0.0</i>. 
The Maven version order algorithm is not compatible with Semantic Versioning 
<i>2.0.0</i>. In particular, Maven does not special case the plus sign or 
consider build identifiers.</p>
-<p>When version strings do not follow semantic versioning, a more complex set 
of rules is required. The Maven coordinate is split in tokens between dots 
('<code>.</code>'), hyphens ('<code>-</code>') and transitions between digits 
and characters. The separator is recorded and will have effect on the order. A 
transition between digits and characters is equivalent to a hyphen. Empty 
tokens are replaced with &quot;<code>0</code>&quot;. This gives a sequence of 
version numbers (numeric tokens) and version qualifiers (non-numeric tokens) 
with &quot;<code>.</code>&quot; or &quot;<code>-</code>&quot; prefixes.</p>
+<p>When version strings do not follow semantic versioning, a more complex set 
of rules is required. The Maven coordinate is split in tokens between dots 
('<code>.</code>'), hyphens ('<code>-</code>'), underscore ('<code>_</code>') 
and transitions between digits and characters. The separator is recorded and 
will have effect on the order. A transition between digits and characters is 
equivalent to a hyphen. Empty tokens are replaced with 
&quot;<code>0</code>&quot;. This gives a sequence of version numbers (numeric 
tokens) and version qualifiers (non-numeric tokens) with 
&quot;<code>.</code>&quot; or &quot;<code>-</code>&quot; prefixes. Versions are 
expected to start with numbers.</p>
 <p>Splitting and Replacing Examples:</p>
 <ul>
 <li><code>1-1.foo-bar1baz-.1</code> -&gt; 
<code>1-1.foo-bar-1-baz-0.1</code></li></ul>
@@ -373,11 +373,11 @@
 <li>&quot;<code>1</code>&quot; &lt; &quot;<code>1.1</code>&quot; (number 
padding)</li>
 <li>&quot;<code>1-snapshot</code>&quot; &lt; &quot;<code>1</code>&quot; &lt; 
&quot;<code>1-sp</code>&quot; (qualifier padding)</li>
 <li>&quot;<code>1-foo2</code>&quot; &lt; &quot;<code>1-foo10</code>&quot; 
(correctly automatically &quot;switching&quot; to numeric order)</li>
-<li>&quot;<code>1.foo</code>&quot; = &quot;<code>1-foo</code>&quot; &lt; 
&quot;<code>1-1</code>&quot; &lt; &quot;<code>1.1</code>&quot;</li>
+<li>&quot;<code>1.foo</code>&quot; = &quot;<code>1-foo</code>&quot; &lt; 
&quot;<code>1-1</code>&quot; = &quot;<code>1.1</code>&quot;</li>
 <li>&quot;<code>1.ga</code>&quot; = &quot;<code>1-ga</code>&quot; = 
&quot;<code>1-0</code>&quot; = &quot;<code>1.0</code>&quot; = 
&quot;<code>1</code>&quot; (removing of trailing &quot;null&quot; values)</li>
 <li>&quot;<code>1-sp</code>&quot; &gt; &quot;<code>1-ga</code>&quot;</li>
 <li>&quot;<code>1-sp.1</code>&quot; &gt; &quot;<code>1-ga.1</code>&quot;</li>
-<li>&quot;<code>1-sp-1</code>&quot; &lt; &quot;<code>1-ga-1</code>&quot; = 
&quot;<code>1-1</code>&quot; (trailing &quot;null&quot; values at each 
hyphen)</li>
+<li>&quot;<code>1-sp-1</code>&quot; &gt; &quot;<code>1-ga-1</code>&quot;</li>
 <li>&quot;<code>1-a1</code>&quot; = &quot;<code>1-alpha-1</code>&quot;
 <p>Note: Contrary to what was stated in some design documents, for version 
order, snapshots are not treated differently than releases or any other 
qualifier.</p>
 <p>Note: As <code>2.0-rc1</code> &lt; <code>2.0</code>, the version 
requirement <code>[1.0,2.0)</code> excludes <code>2.0</code> but includes 
version <code>2.0-rc1</code>, which is contrary to what most people expect. In 
addition, Gradle interprets it differently, resulting in different dependency 
trees for the same POM. If the intention is to restrict it to <i>1.*</i> 
versions, the better version requirement is 
<code>[1,1.999999)</code>.</p></li></ul></section><section>


Reply via email to