commit:     6f952b0dfa64958ddd6f391703995c6c97f75bce
Author:     zongyu <zzy2529420793 <AT> gmail <DOT> com>
AuthorDate: Sun Aug  2 02:48:45 2020 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Aug  2 03:21:21 2020 +0000
URL:        https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=6f952b0d

create proper GENTOO_CLASSPATH for java-virtuals/*.

Signed-off-by: zongyu <zzy2529420793 <AT> gmail.com>

 .../org/gentoo/java/ebuilder/maven/MavenEbuilder.java    | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java 
b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java
index 810358c..646fc13 100644
--- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java
+++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java
@@ -33,6 +33,12 @@ public class MavenEbuilder {
     private static final Pattern PATTERN_TARBALL_NAME
             = 
Pattern.compile("^.*/\\$\\{P\\}-sources.((?:\\.tar)\\.\\S+|(?:\\.jar))$");
 
+    /**
+     * Pattern for checking whether the dependency is specifying versions.
+     */
+    private static final Pattern PATTERN_EBUILD_VERSIONING
+            = Pattern.compile("^[~=<>].*$");
+
     /**
      * Generates ebuild from the collected information at the specified path.
      *
@@ -88,14 +94,20 @@ public class MavenEbuilder {
                         sbCP.append(',');
                     }
 
-                    final String[] parts = dependency.getSystemDependency().
+                    final String ebuildDependency =
+                            dependency.getSystemDependency();
+
+                    final String[] parts = ebuildDependency.
                             replaceAll(".*/", "").
                             replaceAll("\\[.*\\]", "").
                             split(":");
                     String pn = parts[0].replaceAll("-r\\d+$", "");
 
                     if (parts.length == 2) {
-                        pn = pn.substring(0, pn.lastIndexOf('-'));
+                        if (PATTERN_EBUILD_VERSIONING.
+                                matcher(ebuildDependency).matches()) {
+                            pn = pn.substring(0, pn.lastIndexOf('-'));
+                        }
 
                         if (!parts[1].equals("0")) {
                             pn += "-" + parts[1];

Reply via email to