1 |
commit: a8b7bf3afb383ba515d32e921dd4412b5991bd8e |
2 |
Author: Benda Xu <heroxbd <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Jan 9 10:59:42 2017 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Jan 9 11:09:39 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=a8b7bf3a |
7 |
|
8 |
MavenVersion.java: parse version range. |
9 |
|
10 |
http://maven.apache.org/components/enforcer/enforcer-rules/versionRanges.html |
11 |
https://docs.oracle.com/middleware/1212/core/MAVEN/maven_version.htm |
12 |
|
13 |
.../java/org/gentoo/java/ebuilder/portage/MavenVersion.java | 10 +++++++++- |
14 |
1 file changed, 9 insertions(+), 1 deletion(-) |
15 |
|
16 |
diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java b/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java |
17 |
index 5192abc..e2bf46f 100644 |
18 |
--- a/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java |
19 |
+++ b/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java |
20 |
@@ -15,6 +15,10 @@ public class MavenVersion implements Comparable<MavenVersion> { |
21 |
*/ |
22 |
private static final Pattern PATTERN_VERSION = Pattern.compile( |
23 |
"^v?(\\d+)(?:\\.(\\d+))?(?:(?:\\.|b|beta)(\\d+))?(?:[\\.-](.*))?$"); |
24 |
+ /** |
25 |
+ * Pattern for parsing maven version range. |
26 |
+ */ |
27 |
+ private static final Pattern p_VERSION_RANGE = Pattern.compile("\\[.*, ?(.*?)\\]"); |
28 |
/** |
29 |
* Incremental version number. |
30 |
*/ |
31 |
@@ -37,7 +41,11 @@ public class MavenVersion implements Comparable<MavenVersion> { |
32 |
* |
33 |
* @param version version string |
34 |
*/ |
35 |
- public MavenVersion(final String version) { |
36 |
+ public MavenVersion(String version) { |
37 |
+ Matcher m_RANGE = p_VERSION_RANGE.matcher(version); |
38 |
+ if (m_RANGE.matches()) { |
39 |
+ version = m_RANGE.group(1); |
40 |
+ } |
41 |
final Matcher matcher = PATTERN_VERSION.matcher(version); |
42 |
|
43 |
if (!matcher.matches()) { |