From a3bf433a0079586a21c073ae2d5f941ec77aa282 Mon Sep 17 00:00:00 2001 From: Sebastian Ratz Date: Fri, 29 Sep 2023 14:11:40 +0100 Subject: [PATCH 1/4] Fix inadvertent closing of System.out when printing configuration Fixes #365 --- base/src/main/java/proguard/ConfigurationWriter.java | 4 +++- base/src/main/java/proguard/ProGuard.java | 5 +---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/base/src/main/java/proguard/ConfigurationWriter.java b/base/src/main/java/proguard/ConfigurationWriter.java index 2bf4108d2..e3284eeee 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 7b6f9b91c..db1fb54a0 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); } From 181e5263784411a9ce7afe4418aa596975e95b15 Mon Sep 17 00:00:00 2001 From: Blend Hamiti Date: Tue, 24 Oct 2023 12:12:06 +0200 Subject: [PATCH 2/4] add release note --- docs/md/manual/releasenotes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/md/manual/releasenotes.md b/docs/md/manual/releasenotes.md index 16e8d48b5..c95d190f2 100644 --- a/docs/md/manual/releasenotes.md +++ b/docs/md/manual/releasenotes.md @@ -14,6 +14,7 @@ - Don't drop Record attribute for records with no components. (proguard-core#118) - Fix potential duplication class when name obfuscating Kotlin multi-file facades. - Do not inline interface methods during optimization to avoid compilation errors during output writing due to an interface method being made package visible. +- Fix inadvertent closing of System.out when printing configuration. (#366) ## Version 7.3.2 From ec9343fdaf71d972a2f23ee80d9e8d6640c77e47 Mon Sep 17 00:00:00 2001 From: Blend Hamiti Date: Tue, 24 Oct 2023 12:14:29 +0200 Subject: [PATCH 3/4] add correct issue number to release note --- docs/md/manual/releasenotes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/md/manual/releasenotes.md b/docs/md/manual/releasenotes.md index c95d190f2..0d2490e93 100644 --- a/docs/md/manual/releasenotes.md +++ b/docs/md/manual/releasenotes.md @@ -14,7 +14,7 @@ - Don't drop Record attribute for records with no components. (proguard-core#118) - Fix potential duplication class when name obfuscating Kotlin multi-file facades. - Do not inline interface methods during optimization to avoid compilation errors during output writing due to an interface method being made package visible. -- Fix inadvertent closing of System.out when printing configuration. (#366) +- Fix inadvertent closing of System.out when printing configuration. (#365) ## Version 7.3.2 From 348c5a76416d1323c9b79d27645cf3f63a65b881 Mon Sep 17 00:00:00 2001 From: Blend Hamiti Date: Wed, 25 Oct 2023 11:11:03 +0200 Subject: [PATCH 4/4] move release note to new section --- docs/md/manual/releasenotes.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/md/manual/releasenotes.md b/docs/md/manual/releasenotes.md index 0d2490e93..2af2f2669 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-beta02 ### Java support @@ -14,7 +20,6 @@ - Don't drop Record attribute for records with no components. (proguard-core#118) - Fix potential duplication class when name obfuscating Kotlin multi-file facades. - Do not inline interface methods during optimization to avoid compilation errors during output writing due to an interface method being made package visible. -- Fix inadvertent closing of System.out when printing configuration. (#365) ## Version 7.3.2