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);
}