diff --git a/src/main/java/net/fabricmc/loom/mixin/MixinMappingWriterTiny.java b/src/main/java/net/fabricmc/loom/mixin/MixinMappingWriterTiny.java index 3405d736..4187131e 100644 --- a/src/main/java/net/fabricmc/loom/mixin/MixinMappingWriterTiny.java +++ b/src/main/java/net/fabricmc/loom/mixin/MixinMappingWriterTiny.java @@ -46,13 +46,10 @@ public class MixinMappingWriterTiny extends MappingWriter { @Override public void write(String output, ObfuscationType type, IMappingConsumer.MappingSet fields, IMappingConsumer.MappingSet methods) { if (output != null) { - PrintWriter writer = null; + String from = type.getKey().split(":")[0]; + String to = type.getKey().split(":")[1]; - try { - String from = type.getKey().split(":")[0]; - String to = type.getKey().split(":")[1]; - - writer = this.openFileWriter(output, type + " output TinyMappings"); + try (PrintWriter writer = this.openFileWriter(output, type + " output TinyMappings")) { writer.println(String.format("v1\t%s\t%s", from, to)); for (IMappingConsumer.MappingSet.Pair pair : fields) { writer.println(String.format("FIELD\t%s\t%s\t%s\t%s", pair.from.getOwner(), pair.from.getDesc(), pair.from.getSimpleName(), pair.to.getSimpleName())); @@ -62,13 +59,6 @@ public class MixinMappingWriterTiny extends MappingWriter { } } catch (IOException e) { e.printStackTrace(); - } finally { - if (writer != null) { - try { - writer.close(); - } catch (Exception e) { - } - } } } } diff --git a/src/main/java/net/fabricmc/loom/mixin/MixinServiceGradle.java b/src/main/java/net/fabricmc/loom/mixin/MixinServiceGradle.java index ea5a814e..d86b20c7 100644 --- a/src/main/java/net/fabricmc/loom/mixin/MixinServiceGradle.java +++ b/src/main/java/net/fabricmc/loom/mixin/MixinServiceGradle.java @@ -149,10 +149,9 @@ public class MixinServiceGradle implements IClassBytecodeProvider, IClassProvide } public byte[] getClassBytes(String name, String transformedName) throws IOException { - InputStream inputStream = getResourceAsStream(name.replace(".", "/") + ".class"); - byte[] classBytes = ByteStreams.toByteArray(inputStream); - inputStream.close(); - return classBytes; + try (InputStream inputStream = getResourceAsStream(name.replace(".", "/") + ".class")) { + return ByteStreams.toByteArray(inputStream); + } } @Override diff --git a/src/main/java/net/fabricmc/loom/providers/MinecraftAssetsProvider.java b/src/main/java/net/fabricmc/loom/providers/MinecraftAssetsProvider.java index a938cf73..4b60fb65 100644 --- a/src/main/java/net/fabricmc/loom/providers/MinecraftAssetsProvider.java +++ b/src/main/java/net/fabricmc/loom/providers/MinecraftAssetsProvider.java @@ -66,9 +66,10 @@ public class MinecraftAssetsProvider { ProgressLogger progressLogger = ProgressLogger.getProgressFactory(project, MinecraftAssetsProvider.class.getName()); progressLogger.start("Downloading assets...", "assets"); - FileReader fileReader = new FileReader(assetsInfo); - AssetIndex index = new Gson().fromJson(fileReader, AssetIndex.class); - fileReader.close(); + AssetIndex index; + try (FileReader fileReader = new FileReader(assetsInfo)) { + index = new Gson().fromJson(fileReader, AssetIndex.class); + } Map parent = index.getFileMap(); final int totalSize = parent.size(); int position = 0; diff --git a/src/main/java/net/fabricmc/loom/providers/MinecraftJarProvider.java b/src/main/java/net/fabricmc/loom/providers/MinecraftJarProvider.java index 6dbcf3e3..5213824e 100644 --- a/src/main/java/net/fabricmc/loom/providers/MinecraftJarProvider.java +++ b/src/main/java/net/fabricmc/loom/providers/MinecraftJarProvider.java @@ -54,11 +54,10 @@ public class MinecraftJarProvider { public void mergeJars(Project project) throws IOException { project.getLogger().lifecycle(":merging jars"); - JarMerger jarMerger = new JarMerger(minecraftProvider.MINECRAFT_CLIENT_JAR, minecraftProvider.MINECRAFT_SERVER_JAR, minecraftProvider.MINECRAFT_MERGED_JAR); - jarMerger.enableSyntheticParamsOffset(); - - jarMerger.merge(); - jarMerger.close(); + try (JarMerger jarMerger = new JarMerger(minecraftProvider.MINECRAFT_CLIENT_JAR, minecraftProvider.MINECRAFT_SERVER_JAR, minecraftProvider.MINECRAFT_MERGED_JAR)) { + jarMerger.enableSyntheticParamsOffset(); + jarMerger.merge(); + } } private void initFiles(Project project, MinecraftProvider minecraftProvider) { diff --git a/src/main/java/net/fabricmc/loom/providers/MinecraftProvider.java b/src/main/java/net/fabricmc/loom/providers/MinecraftProvider.java index ecaba7f1..8d2a5195 100644 --- a/src/main/java/net/fabricmc/loom/providers/MinecraftProvider.java +++ b/src/main/java/net/fabricmc/loom/providers/MinecraftProvider.java @@ -63,9 +63,9 @@ public class MinecraftProvider extends DependencyProvider { initFiles(project); downloadMcJson(project); - FileReader reader = new FileReader(MINECRAFT_JSON); - versionInfo = gson.fromJson(reader, MinecraftVersionInfo.class); - reader.close(); + try (FileReader reader = new FileReader(MINECRAFT_JSON)) { + versionInfo = gson.fromJson(reader, MinecraftVersionInfo.class); + } // Add Loom as an annotation processor addDependency(project.files(this.getClass().getProtectionDomain().getCodeSource().getLocation()), project, "compileOnly"); diff --git a/src/main/java/net/fabricmc/loom/util/MixinRefmapHelper.java b/src/main/java/net/fabricmc/loom/util/MixinRefmapHelper.java index f3513492..162a5b34 100644 --- a/src/main/java/net/fabricmc/loom/util/MixinRefmapHelper.java +++ b/src/main/java/net/fabricmc/loom/util/MixinRefmapHelper.java @@ -83,8 +83,7 @@ public final class MixinRefmapHelper { ZipUtil.iterate(output, (stream, entry) -> { if (!entry.isDirectory() && entry.getName().endsWith(".json") && !entry.getName().contains("/") && !entry.getName().contains("\\")) { // JSON file in root directory - InputStreamReader inputStreamReader = new InputStreamReader(stream); - try { + try (InputStreamReader inputStreamReader = new InputStreamReader(stream)) { JsonObject json = GSON.fromJson(inputStreamReader, JsonObject.class); if (json != null) { @@ -100,9 +99,6 @@ public final class MixinRefmapHelper { } } catch (Exception e) { // ... - } finally { - inputStreamReader.close(); - stream.close(); } } }); @@ -116,17 +112,13 @@ public final class MixinRefmapHelper { ZipUtil.iterate(output, (stream, entry) -> { if (!entry.isDirectory() && entry.getName().endsWith(".json") && !entry.getName().contains("/") && !entry.getName().contains("\\")) { // JSON file in root directory - InputStreamReader inputStreamReader = new InputStreamReader(stream); - try { + try (InputStreamReader inputStreamReader = new InputStreamReader(stream)) { JsonObject json = GSON.fromJson(inputStreamReader, JsonObject.class); if (json != null && json.has("refmap")) { mixinRefmapFilenames.add(json.get("refmap").getAsString()); } } catch (Exception e) { // ... - } finally { - inputStreamReader.close(); - stream.close(); } } }); diff --git a/src/main/java/net/fabricmc/loom/util/ModProcessor.java b/src/main/java/net/fabricmc/loom/util/ModProcessor.java index 1793e98b..5d9abadf 100644 --- a/src/main/java/net/fabricmc/loom/util/ModProcessor.java +++ b/src/main/java/net/fabricmc/loom/util/ModProcessor.java @@ -190,33 +190,33 @@ public class ModProcessor { static void readInstallerJson(File file, Project project){ try { - JarFile jarFile = new JarFile(file); - LoomGradleExtension extension = project.getExtensions().getByType(LoomGradleExtension.class); String launchMethod = extension.getLoaderLaunchMethod(); + String jsonStr; int priority = 0; - ZipEntry entry = null; - if (!launchMethod.isEmpty()) { - entry = jarFile.getEntry("fabric-installer." + launchMethod + ".json"); - if (entry == null) { - project.getLogger().warn("Could not find loader launch method '" + launchMethod + "', falling back"); + try (JarFile jarFile = new JarFile(file)) { + ZipEntry entry = null; + if (!launchMethod.isEmpty()) { + entry = jarFile.getEntry("fabric-installer." + launchMethod + ".json"); + if (entry == null) { + project.getLogger().warn("Could not find loader launch method '" + launchMethod + "', falling back"); + } } - } - if(entry == null){ - entry = jarFile.getEntry("fabric-installer.json"); - priority = 1; if (entry == null) { - jarFile.close(); - return; + entry = jarFile.getEntry("fabric-installer.json"); + priority = 1; + if (entry == null) { + return; + } + } + + try (InputStream inputstream = jarFile.getInputStream(entry)) { + jsonStr = IOUtils.toString(inputstream, StandardCharsets.UTF_8); } } - InputStream inputstream = jarFile.getInputStream(entry); - String jsonStr = IOUtils.toString(inputstream, StandardCharsets.UTF_8); - inputstream.close(); - jarFile.close(); JsonObject jsonObject = GSON.fromJson(jsonStr, JsonObject.class); extension.setInstallerJson(jsonObject, priority); diff --git a/src/main/java/net/fabricmc/loom/util/RunConfig.java b/src/main/java/net/fabricmc/loom/util/RunConfig.java index 71c60cec..b1921973 100644 --- a/src/main/java/net/fabricmc/loom/util/RunConfig.java +++ b/src/main/java/net/fabricmc/loom/util/RunConfig.java @@ -168,9 +168,10 @@ public class RunConfig { } public String fromDummy(String dummy) throws IOException { - InputStream input = SetupIntelijRunConfigs.class.getClassLoader().getResourceAsStream(dummy); - String dummyConfig = IOUtils.toString(input, StandardCharsets.UTF_8); - input.close(); + String dummyConfig; + try (InputStream input = SetupIntelijRunConfigs.class.getClassLoader().getResourceAsStream(dummy)) { + dummyConfig = IOUtils.toString(input, StandardCharsets.UTF_8); + } dummyConfig = dummyConfig.replace("%NAME%", configName); dummyConfig = dummyConfig.replace("%MAIN_CLASS%", mainClass);