diff --git a/base/src/main/java/proguard/ConfigurationWriter.java b/base/src/main/java/proguard/ConfigurationWriter.java index 2bf4108d..e3284eee 100644 --- a/base/src/main/java/proguard/ConfigurationWriter.java +++ b/base/src/main/java/proguard/ConfigurationWriter.java @@ -50,6 +50,7 @@ public class ConfigurationWriter implements AutoCloseable private final PrintWriter writer; + private File configurationFile; private File baseDir; @@ -60,6 +61,7 @@ public ConfigurationWriter(File configurationFile) throws IOException { this(PrintWriterUtil.createPrintWriterOut(configurationFile)); + this.configurationFile = configurationFile; baseDir = configurationFile.getParentFile(); } @@ -79,7 +81,7 @@ public ConfigurationWriter(PrintWriter writer) throws IOException @Override public void close() throws IOException { - PrintWriterUtil.closePrintWriter(baseDir, writer); + PrintWriterUtil.closePrintWriter(configurationFile, writer); } diff --git a/base/src/main/java/proguard/ProGuard.java b/base/src/main/java/proguard/ProGuard.java index 7b6f9b91..db1fb54a 100644 --- a/base/src/main/java/proguard/ProGuard.java +++ b/base/src/main/java/proguard/ProGuard.java @@ -48,7 +48,6 @@ import proguard.util.ConstantMatcher; import proguard.util.ListParser; import proguard.util.NameParser; -import proguard.util.PrintWriterUtil; import proguard.util.StringMatcher; import proguard.util.kotlin.KotlinUnsupportedVersionChecker; import proguard.util.kotlin.asserter.KotlinMetadataVerifier; @@ -297,9 +296,7 @@ private boolean requiresKotlinMetadata() */ private void printConfiguration() throws IOException { - PrintWriter pw = PrintWriterUtil.createPrintWriterOut(configuration.printConfiguration); - - try (ConfigurationWriter configurationWriter = new ConfigurationWriter(pw)) + try (ConfigurationWriter configurationWriter = new ConfigurationWriter(configuration.printConfiguration)) { configurationWriter.write(configuration); } diff --git a/docs/md/manual/releasenotes.md b/docs/md/manual/releasenotes.md index d5b2b066..b27c6fb3 100644 --- a/docs/md/manual/releasenotes.md +++ b/docs/md/manual/releasenotes.md @@ -1,3 +1,9 @@ +## Version 7.4.1 + +### Bugfixes + +- Fix inadvertent closing of System.out when printing configuration. (#365) + ## Version 7.4 ### Java support