diff options
author | Stefan Bodewig <bodewig@apache.org> | 2018-12-15 17:48:06 +0100 |
---|---|---|
committer | Stefan Bodewig <bodewig@apache.org> | 2018-12-15 17:48:06 +0100 |
commit | b74d5b366d6b28f20b3b07c0b129005646209764 (patch) | |
tree | e3f75908ede7bad33aa3d1fb355b3eeb0c65577b | |
parent | 6b576f1e8d5b369879254f5c532b0ad430758b4d (diff) | |
download | ant-logoutput-jmod-link.tar.gz |
directly log link's output to Ant's loglogoutput-jmod-link
-rw-r--r-- | src/main/org/apache/tools/ant/taskdefs/modules/Link.java | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/src/main/org/apache/tools/ant/taskdefs/modules/Link.java b/src/main/org/apache/tools/ant/taskdefs/modules/Link.java index 343b86715..c827ccac4 100644 --- a/src/main/org/apache/tools/ant/taskdefs/modules/Link.java +++ b/src/main/org/apache/tools/ant/taskdefs/modules/Link.java @@ -18,11 +18,12 @@ package org.apache.tools.ant.taskdefs.modules; +import java.io.ByteArrayOutputStream; import java.io.File; +import java.io.IOException; +import java.io.OutputStream; import java.io.PrintStream; -import java.io.ByteArrayOutputStream; import java.io.Reader; -import java.io.IOException; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; @@ -52,6 +53,8 @@ import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; import org.apache.tools.ant.Task; +import org.apache.tools.ant.taskdefs.LogOutputStream; + import org.apache.tools.ant.types.EnumeratedAttribute; import org.apache.tools.ant.types.LogLevel; import org.apache.tools.ant.types.Path; @@ -59,10 +62,10 @@ import org.apache.tools.ant.types.Reference; import org.apache.tools.ant.types.ResourceCollection; import org.apache.tools.ant.util.CompositeMapper; -import org.apache.tools.ant.util.MergingMapper; - import org.apache.tools.ant.util.FileUtils; +import org.apache.tools.ant.util.MergingMapper; import org.apache.tools.ant.util.ResourceUtils; +import org.apache.tools.ant.util.TeeOutputStream; /** * Assembles jmod files into an executable image. Equivalent to the @@ -1943,10 +1946,16 @@ extends Task { ByteArrayOutputStream stdout = new ByteArrayOutputStream(); ByteArrayOutputStream stderr = new ByteArrayOutputStream(); + OutputStream sysout = stdout; + OutputStream syserr = stderr; + if (verboseLevel != null) { + sysout = new TeeOutputStream(stdout, new LogOutputStream(this, verboseLevel.getLevel())); + syserr = new TeeOutputStream(stderr, new LogOutputStream(this, verboseLevel.getLevel())); + } int exitCode; - try (PrintStream out = new PrintStream(stdout); - PrintStream err = new PrintStream(stderr)) { + try (PrintStream out = new PrintStream(sysout); + PrintStream err = new PrintStream(syserr)) { exitCode = jlink.run(out, err, args.toArray(new String[0])); } @@ -1964,17 +1973,6 @@ extends Task { throw new BuildException(message.toString(), getLocation()); } - if (verboseLevel != null) { - int level = verboseLevel.getLevel(); - - if (stdout.size() > 0) { - log(stdout.toString(), level); - } - if (stderr.size() > 0) { - log(stderr.toString(), level); - } - } - log("Created " + outputDir.getAbsolutePath(), Project.MSG_INFO); } |