1 |
commit: e024794b5f61201fc1db11fdfc40fa05b03125ed |
2 |
Author: zongyu <zzy2529420793 <AT> gmail <DOT> com> |
3 |
AuthorDate: Wed Aug 19 08:02:07 2020 +0000 |
4 |
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Aug 19 08:07:40 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=e024794b |
7 |
|
8 |
recognize and write JAVA_NEEDS_TOOLS automatically |
9 |
|
10 |
Signed-off-by: zongyu <zzy2529420793 <AT> gmail.com> |
11 |
|
12 |
.../gentoo/java/ebuilder/maven/MavenEbuilder.java | 3 +++ |
13 |
.../gentoo/java/ebuilder/maven/MavenProject.java | 31 ++++++++++++++++++++++ |
14 |
2 files changed, 34 insertions(+) |
15 |
|
16 |
diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java |
17 |
index b16a64e..c1e84d1 100644 |
18 |
--- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java |
19 |
+++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java |
20 |
@@ -749,6 +749,7 @@ public class MavenEbuilder { |
21 |
// JAVA_CLASSPATH_EXTRA |
22 |
// JAVA_TEST_GENTOO_CLASSPATH |
23 |
// JAVA_ENCODING (unless it differs in projects) |
24 |
+ // JAVA_NEED_TOOLS |
25 |
// Compile (jars, doc): |
26 |
// JAVA_SRC_DIR |
27 |
// JAVA_RESOURCE_DIRS |
28 |
@@ -878,6 +879,8 @@ public class MavenEbuilder { |
29 |
writer.println('"'); |
30 |
} |
31 |
|
32 |
+ writer.print(mavenProject.getExtraJars(config.getStdoutWriter())); |
33 |
+ |
34 |
writer.print("JAVA_SRC_DIR=\""); |
35 |
writer.print(replaceWithVars(config.getWorkdir().relativize( |
36 |
mavenProject.getSourceDirectory()).toString(), config)); |
37 |
|
38 |
diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java |
39 |
index 794f992..b7553b0 100644 |
40 |
--- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java |
41 |
+++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java |
42 |
@@ -423,6 +423,37 @@ public class MavenProject { |
43 |
this.sourceVersion = sourceVersion; |
44 |
} |
45 |
|
46 |
+ /** |
47 |
+ * deal with scope == "system" dependencies |
48 |
+ * |
49 |
+ * @return lines of ebuild variables |
50 |
+ */ |
51 |
+ @SuppressWarnings("unchecked") |
52 |
+ public String getExtraJars(final PrintWriter writer) { |
53 |
+ String ret = ""; |
54 |
+ List<MavenDependency> systemDependencies = getDependencies(new String[]{"system"}); |
55 |
+ |
56 |
+ for (final MavenDependency dependency : systemDependencies) { |
57 |
+ switch (dependency.getGroupId()) { |
58 |
+ case "com.sun": |
59 |
+ switch (dependency.getArtifactId()) { |
60 |
+ case "tools": |
61 |
+ ret += "JAVA_NEEDS_TOOLS=1\n"; |
62 |
+ break; |
63 |
+ default: |
64 |
+ writer.println("Equivalent variable for " + |
65 |
+ dependency.getArtifactId() + " not found."); |
66 |
+ } |
67 |
+ break; |
68 |
+ default: |
69 |
+ writer.println("Equivalent variable for " + |
70 |
+ dependency.getGroupId() + " not found."); |
71 |
+ } |
72 |
+ } |
73 |
+ |
74 |
+ return ret; |
75 |
+ } |
76 |
+ |
77 |
/** |
78 |
* Getter for {@link #targetVersion}. |
79 |
* |