commit:     59131006cb675af7b176225af7a670e2803649d8
Author:     zongyu <zzy2529420793 <AT> gmail <DOT> com>
AuthorDate: Thu Jun 18 07:11:21 2020 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Mon Jul  6 09:48:27 2020 +0000
URL:        https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=59131006

initial code to support MAVEN_PROVIDE

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

 .../java/org/gentoo/java/ebuilder/portage/PortageParser.java  | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java 
b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java
index 9da0fb7..a222956 100644
--- a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java
+++ b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java
@@ -258,6 +258,7 @@ public class PortageParser {
         String groupId = null;
         String artifactId = null;
         String mavenVersion = null;
+       String[] mavenProvide = null;
 
         try (final BufferedReader reader = new BufferedReader(
                 new InputStreamReader(Files.newInputStream(ebuild.toPath(),
@@ -298,6 +299,9 @@ public class PortageParser {
                     } else if (line.startsWith("MAVEN_ID=")) {
                         mavenId = line.substring("MAVEN_ID=".length()).
                                 replace("\"", "");
+                    } else if (line.startsWith("MAVEN_PROVIDE=")) {
+                        mavenProvide = 
line.substring("MAVEN_PROVIDE=".length()).
+                               replace("\"", "").split(" ");
                     }
                 }
 
@@ -354,6 +358,13 @@ public class PortageParser {
         cacheItems.add(new CacheItem(category, pkg, version, slot, useFlag,
                 groupId, artifactId, mavenVersion, eclasses));
 
+       if (mavenP != null) {
+            for (String providedId: mavenProvide) {
+                parts = mavenProvide.split(":")
+                cacheItems.add(new CacheItem(category, pkg, version, slot, 
useFlag,
+                        parts[0], parts[1], parts[2], eclasses));
+            }
+        }
         countEclasses(eclasses);
     }
 

Reply via email to