[ant] 01/03: Reworked the source/target patch
Emmanuel Bourg
ebourg-guest at moszumanska.debian.org
Tue Nov 28 23:14:18 UTC 2017
This is an automated email from the git hooks/post-receive script.
ebourg-guest pushed a commit to branch master
in repository ant.
commit 1ba93646ef6e2712fbdf5aaea43a913cdf12e0d0
Author: Emmanuel Bourg <ebourg at apache.org>
Date: Wed Nov 29 00:08:26 2017 +0100
Reworked the source/target patch
---
debian/patches/0013-auto-adjust-target.patch | 98 ++++++++++++++++------------
1 file changed, 57 insertions(+), 41 deletions(-)
diff --git a/debian/patches/0013-auto-adjust-target.patch b/debian/patches/0013-auto-adjust-target.patch
index d839ec3..5345d7b 100644
--- a/debian/patches/0013-auto-adjust-target.patch
+++ b/debian/patches/0013-auto-adjust-target.patch
@@ -1,7 +1,6 @@
Description: Adjust the source/target level automatically for Debian builds with Java 9
-Author: Emmanuel Bourg <ebourg at apache.org>
+Author: Emmanuel Bourg <ebourg at apache.org>, Chris West (Faux) <debian at fau.xxx>
Forwarded: no
-
--- a/src/main/org/apache/tools/ant/taskdefs/Javac.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Javac.java
@@ -207,7 +207,10 @@
@@ -9,7 +8,7 @@ Forwarded: no
public String getSource() {
return source != null
- ? source : getProject().getProperty(MagicNames.BUILD_JAVAC_SOURCE);
-+ ? source : washPlatformVersion(
++ ? source : LanguageLevel.adjust(
+ getProject().getProperty(MagicNames.BUILD_JAVAC_SOURCE),
+ MagicNames.BUILD_JAVAC_SOURCE,
+ this);
@@ -21,7 +20,7 @@ Forwarded: no
return targetAttribute != null
? targetAttribute
- : getProject().getProperty(MagicNames.BUILD_JAVAC_TARGET);
-+ : washPlatformVersion(
++ : LanguageLevel.adjust(
+ getProject().getProperty(MagicNames.BUILD_JAVAC_TARGET),
+ MagicNames.BUILD_JAVAC_TARGET,
+ this);
@@ -32,59 +31,76 @@ Forwarded: no
checkParameters();
resetFileLists();
-+ source = washPlatformVersion(source, "javac -source", this);
-+ targetAttribute = washPlatformVersion(targetAttribute, "javac -target", this);
++ source = LanguageLevel.adjust(source, "javac -source", this);
++ targetAttribute = LanguageLevel.adjust(targetAttribute, "javac -target", this);
+
// scan source directories and dest directory to build up
// compile list
if (hasPath(src)) {
-@@ -1721,4 +1730,38 @@
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x04
- };
+--- a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
++++ b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
+@@ -2203,7 +2203,7 @@
+ : getProject().getProperty(MagicNames.BUILD_JAVAC_SOURCE);
+ if (sourceArg != null) {
+ toExecute.createArgument().setValue("-source");
+- toExecute.createArgument().setValue(sourceArg);
++ toExecute.createArgument().setValue(LanguageLevel.adjust(sourceArg, "javadoc -source", this));
+ }
-+ /// adjust the source/target level automatically for Debian builds with Java >=9
-+ static String washPlatformVersion(String original, String location, org.apache.tools.ant.Task logTo) {
-+ if (null == original) {
-+ return original;
-+ }
+ if (linksource && doclet == null) {
+--- /dev/null
++++ b/src/main/org/apache/tools/ant/taskdefs/LanguageLevel.java
+@@ -0,0 +1,53 @@
++package org.apache.tools.ant.taskdefs;
+
-+ if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_4)
-+ || JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_5)
-+ || JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_6)
-+ || JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_7)
-+ || JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_8)) {
++import java.util.Arrays;
++import java.util.List;
++import org.apache.tools.ant.Project;
++import org.apache.tools.ant.Task;
++import org.apache.tools.ant.util.JavaEnvUtils;
+
-+ // no need to do anything on pre-Java 9 JDKs
-+ return original;
++class LanguageLevel {
++
++ /** The minimum language level supported by the current javac */
++ private static final String MIN_LEVEL = "1.6";
++
++ /** The list of language levels no longer supported by the current javac */
++ private static final List<String> UNSUPPORTED_LEVELS = Arrays.asList(new String[]{"1.1", "1.2", "1.3", "1.4", "1.5", "5"});
++
++ /**
++ * Adjust the source/target level automatically for Debian builds with Java 9 or later.
++ *
++ * @param level the source/target level to be adjusted
++ * @param location the command or property referring to the specified level
++ * @param logger the calling task used for logging purpose
++ */
++ static String adjust(String level, String location, Task logger) {
++ if (level == null) {
++ return level;
+ }
+
+ if (System.getenv("DEB_BUILD_ARCH") == null) {
-+
+ // only do this is it's a Debian package build
-+ return original;
++ return level;
+ }
+
-+ List<String> unsupportedLanguageLevels = java.util.Arrays.asList(new String[]{"1.1", "1.2", "1.3", "1.4", "1.5", "5"});
++ if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_5)
++ || JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_6)
++ || JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_7)
++ || JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_8)) {
+
-+ if (!unsupportedLanguageLevels.contains(original)) {
-+ return original;
++ // no need to do anything on pre-Java 9 JDKs
++ return level;
+ }
+
-+ if (logTo != null) {
-+ logTo.log("Using " + location + " " + original + " is no longer supported, switching to 1.6", Project.MSG_WARN);
++ if (!UNSUPPORTED_LEVELS.contains(level)) {
++ return level;
+ }
+
-+ return "1.6";
++ if (logger != null) {
++ logger.log("Using " + location + " " + level + " is no longer supported, switching to " + MIN_LEVEL, Project.MSG_WARN);
++ }
++
++ return MIN_LEVEL;
+ }
- }
---- a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
-+++ b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
-@@ -2203,7 +2203,7 @@
- : getProject().getProperty(MagicNames.BUILD_JAVAC_SOURCE);
- if (sourceArg != null) {
- toExecute.createArgument().setValue("-source");
-- toExecute.createArgument().setValue(sourceArg);
-+ toExecute.createArgument().setValue(Javac.washPlatformVersion(sourceArg, "javadoc -source", this));
- }
-
- if (linksource && doclet == null) {
++}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/ant.git
More information about the pkg-java-commits
mailing list