Gentoo Archives: gentoo-commits

From: "Miroslav Šulc" <fordfrog@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/java-ebuilder:master commit in: src/main/resources/, src/main/java/org/gentoo/java/ebuilder/, ...
Date: Thu, 27 Aug 2020 17:24:13
Message-Id: 1597932255.3012503417562f24f1479c10bde1b86da1917817.fordfrog@gentoo
1 commit: 3012503417562f24f1479c10bde1b86da1917817
2 Author: zongyu <zzy2529420793 <AT> gmail <DOT> com>
3 AuthorDate: Thu Aug 20 10:50:38 2020 +0000
4 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
5 CommitDate: Thu Aug 20 14:04:15 2020 +0000
6 URL: https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=30125034
7
8 accept multiple --portage-trees while generating cache
9
10 Signed-off-by: zongyu <zzy2529420793 <AT> gmail.com>
11
12 src/main/java/org/gentoo/java/ebuilder/Config.java | 10 +++++-----
13 src/main/java/org/gentoo/java/ebuilder/Main.java | 19 +++++++++++--------
14 .../gentoo/java/ebuilder/portage/PortageParser.java | 8 +++++---
15 src/main/resources/usage.txt | 4 ++--
16 4 files changed, 23 insertions(+), 18 deletions(-)
17
18 diff --git a/src/main/java/org/gentoo/java/ebuilder/Config.java b/src/main/java/org/gentoo/java/ebuilder/Config.java
19 index 4502ab3..e9396ca 100644
20 --- a/src/main/java/org/gentoo/java/ebuilder/Config.java
21 +++ b/src/main/java/org/gentoo/java/ebuilder/Config.java
22 @@ -88,7 +88,7 @@ public class Config {
23 /**
24 * Path to portage tree.
25 */
26 - private Path portageTree;
27 + private SortedSet<Path> portageTree = new TreeSet<>();
28 /**
29 * Whether ebuild cache should be refreshed.
30 */
31 @@ -365,17 +365,17 @@ public class Config {
32 *
33 * @return {@link #portageTree}
34 */
35 - public Path getPortageTree() {
36 + public SortedSet<Path> getPortageTree() {
37 return portageTree;
38 }
39
40 /**
41 - * Setter for {@link #portageTree}.
42 + * Add portageTrees to {@link #portageTree}.
43 *
44 * @param portageTree {@link #portageTree}
45 */
46 - public void setPortageTree(final Path portageTree) {
47 - this.portageTree = portageTree;
48 + public void addPortageTree(final Path portageTree) {
49 + this.portageTree.add(portageTree);
50 }
51
52 /**
53
54 diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java
55 index 999f741..6aaf24a 100644
56 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java
57 +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java
58 @@ -7,6 +7,7 @@ import java.io.InputStreamReader;
59 import java.io.PrintWriter;
60 import java.net.URI;
61 import java.net.URISyntaxException;
62 +import java.nio.file.Path;
63 import java.nio.file.Paths;
64 import java.text.MessageFormat;
65 import java.util.List;
66 @@ -63,16 +64,18 @@ public class Main {
67 */
68 private static void checkArgs(final Config config) {
69 if (config.isRefreshCache()) {
70 - if (config.getPortageTree() == null) {
71 - config.setPortageTree(Paths.get("/usr/portage"));
72 + if (config.getPortageTree().isEmpty()) {
73 + config.addPortageTree(Paths.get("/usr/portage"));
74 }
75
76 - if (!config.getPortageTree().toFile().exists()) {
77 - config.getErrorWriter().println("ERROR: Portage tree "
78 - + config.getPortageTree() + " does not exist.");
79 - Runtime.getRuntime().exit(1);
80 + for (Path portageTree : config.getPortageTree()) {
81 + if (!portageTree.toFile().exists()) {
82 + config.getErrorWriter().println("ERROR: Portage tree "
83 + + portageTree + " does not exist.");
84 + Runtime.getRuntime().exit(1);
85 + }
86 }
87 - } else if (config.getPortageTree() != null) {
88 + } else if (!config.getPortageTree().isEmpty()) {
89 config.getErrorWriter().println("WARNING: Portage tree is used "
90 + "only when refreshing cache.");
91 }
92 @@ -277,7 +280,7 @@ public class Main {
93 case "--portage-tree":
94 case "-t":
95 i++;
96 - config.setPortageTree(Paths.get(args[i]).toAbsolutePath().
97 + config.addPortageTree(Paths.get(args[i]).toAbsolutePath().
98 normalize());
99 break;
100 case "--cache-file":
101
102 diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java
103 index b48e0d2..a1a7075 100644
104 --- a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java
105 +++ b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java
106 @@ -139,9 +139,11 @@ public class PortageParser {
107 processedEbuilds = 0;
108 eclassesCounts.clear();
109
110 - config.getStdoutWriter().println("Parsing portage tree @ "
111 - + config.getPortageTree() + " ...");
112 - parseCategories(config.getPortageTree());
113 + for (Path portageTree : config.getPortageTree()) {
114 + config.getStdoutWriter().println("Parsing portage tree @ "
115 + + portageTree + " ...");
116 + parseCategories(portageTree);
117 + }
118
119 final long endTimestamp = System.currentTimeMillis();
120
121
122 diff --git a/src/main/resources/usage.txt b/src/main/resources/usage.txt
123 index e48e3f9..b197a39 100644
124 --- a/src/main/resources/usage.txt
125 +++ b/src/main/resources/usage.txt
126 @@ -22,8 +22,8 @@ Generating ebuild:
127
128 Refreshing cache:
129 --portage-tree|-t path to portage tree that should be parsed
130 - when refreshing cache (default is
131 - /usr/portage)
132 + when refreshing cache (can be specified multiple
133 + times, default is /usr/portage)
134 --refresh-cache|-c refreshes java ebuild cache
135
136 Common: