Skip to content

Commit 3c76fdc

Browse files
committed
Fix a potential resource leak
1 parent a0b4092 commit 3c76fdc

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

smithy-build/src/main/java/software/amazon/smithy/build/plugins/SourcesPlugin.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import java.util.List;
2727
import java.util.logging.Logger;
2828
import java.util.stream.Collectors;
29+
import java.util.stream.Stream;
2930
import software.amazon.smithy.build.FileManifest;
3031
import software.amazon.smithy.build.PluginContext;
3132
import software.amazon.smithy.build.SmithyBuildPlugin;
@@ -108,10 +109,11 @@ private static List<String> copySources(PluginContext context) {
108109
private static void copyDirectory(List<String> names, FileManifest manifest, Path root, Path current) {
109110
try {
110111
if (Files.isDirectory(current)) {
111-
Files.list(current)
112-
.filter(p -> !p.equals(current))
113-
.filter(p -> Files.isDirectory(p) || Files.isRegularFile(p))
114-
.forEach(p -> copyDirectory(names, manifest, root, p));
112+
try (Stream<Path> fileList = Files.list(current)) {
113+
fileList.filter(p -> !p.equals(current))
114+
.filter(p -> Files.isDirectory(p) || Files.isRegularFile(p))
115+
.forEach(p -> copyDirectory(names, manifest, root, p));
116+
}
115117
} else if (Files.isRegularFile(current)) {
116118
if (current.toString().endsWith(".jar")) {
117119
// Account for just a simple file vs recursing into directories.

0 commit comments

Comments
 (0)