dmlloyd commented on code in PR #406:
URL: https://github.com/apache/maven-resolver/pull/406#discussion_r1453690031


##########
maven-resolver-util/src/main/java/org/eclipse/aether/util/version/package-info.java:
##########
@@ -25,5 +25,37 @@
  * <p>
  * On the other hand, the {@link 
org.eclipse.aether.util.version.UnionVersionRange} is universal implementation 
of
  * "unions" of various {@link org.eclipse.aether.version.VersionRange} 
instances.
+ *
+ * <h1>Generic Version Spec</h1>
+ * Version string is parsed into version according to these rules below:
+ * <ul>
+ *     <li>The version string is parsed into segments, from left to right.</li>
+ *     <li>Segments are explicitly delimited by single {@code "." (dot)}, 
{@code "-" (hyphen)} or {@code "_" (underscore)} character.</li>
+ *     <li>Segments are implicitly delimited by transition between digits and 
non-digits.</li>
+ *     <li>Segments are classified as numeric, string, qualifiers (special 
case of string) and min/max.</li>
+ *     <li>Numeric segments are sorted numerically, ascending.</li>
+ *     <li>Non-numeric segments may be qualifiers (predefined) or strings 
(non-empty letter sequence). All of them are interpreted as being 
case-insensitive in terms of the ROOT locale.</li>
+ *     <li>Qualifier segments (strings listed below) and their sort order 
(ascending) are:
+ *         <ul>
+ *             <li>"alpha" (== "a" when immediately followed by number)</li>
+ *             <li>"beta" (== "b" when immediately followed by number)</li>
+ *             <li>"milestone" (== "m" when immediately followed by 
number)</li>
+ *             <li>"rc" == "cr" (use of "cr" is discouraged)</li>
+ *             <li>"snapshot"</li>
+ *             <li>"ga" == "final" == "release"</li>
+ *             <li>"sp"</li>
+ *         </ul>
+ *     </li>
+ *     <li>String segments are sorted lexicographically, per ROOT locale, 
ascending.</li>

Review Comment:
   Though it is mentioned above, maybe it's better to say:
   
   ```suggestion
    *     <li>String segments are sorted lexicographically and 
case-insensitively per ROOT locale, ascending.</li>
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to