You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by vy...@apache.org on 2023/01/09 19:32:23 UTC
[logging-log4j-tools] 03/03: Skip empty directories in exporter
This is an automated email from the ASF dual-hosted git repository.
vy pushed a commit to branch release/0.1.0
in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git
commit cc214aad1289920ebe063b093ed1e22d9d550662
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Mon Jan 9 20:31:15 2023 +0100
Skip empty directories in exporter
---
.../changelog/exporter/ChangelogExporter.java | 33 ++++++++++++++--------
1 file changed, 21 insertions(+), 12 deletions(-)
diff --git a/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/exporter/ChangelogExporter.java b/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/exporter/ChangelogExporter.java
index 1ea18de..236dcea 100644
--- a/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/exporter/ChangelogExporter.java
+++ b/log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/exporter/ChangelogExporter.java
@@ -18,6 +18,7 @@ package org.apache.logging.log4j.changelog.exporter;
import java.io.IOException;
import java.io.UncheckedIOException;
+import java.nio.file.Files;
import java.nio.file.Path;
import java.util.*;
import java.util.stream.Collectors;
@@ -38,18 +39,7 @@ public final class ChangelogExporter {
final ChangelogExporterArgs args = ChangelogExporterArgs.fromSystemProperties();
// Find release directories
- final List<Path> releaseDirectories = FileUtils
- .findAdjacentFiles(
- args.changelogDirectory, true,
- paths -> paths
- .filter(file -> file.toFile().isDirectory())
- .sorted(Comparator.comparing(releaseDirectory -> {
- final Path releaseXmlFile = ChangelogFiles.releaseXmlFile(releaseDirectory);
- final ChangelogRelease changelogRelease =
- ChangelogRelease.readFromXmlFile(releaseXmlFile);
- return changelogRelease.date;
- }))
- .collect(Collectors.toList()));
+ final List<Path> releaseDirectories = findReleaseDirectories(args);
final int releaseDirectoryCount = releaseDirectories.size();
// Read the release information files
@@ -120,6 +110,25 @@ public final class ChangelogExporter {
}
+ private static List<Path> findReleaseDirectories(ChangelogExporterArgs args) {
+ return FileUtils.findAdjacentFiles(
+ args.changelogDirectory, true,
+ paths -> paths
+ .filter(ChangelogExporter::isNonEmptyDirectory)
+ .sorted(Comparator.comparing(releaseDirectory -> {
+ final Path releaseXmlFile = ChangelogFiles.releaseXmlFile(releaseDirectory);
+ final ChangelogRelease changelogRelease =
+ ChangelogRelease.readFromXmlFile(releaseXmlFile);
+ return changelogRelease.date;
+ }))
+ .collect(Collectors.toList()));
+ }
+
+ private static boolean isNonEmptyDirectory(final Path path) {
+ return Files.isDirectory(path) &&
+ FileUtils.findAdjacentFiles(path, false, paths -> paths.findFirst().isPresent());
+ }
+
private static void exportRelease(
final Path outputDirectory,
final Path releaseDirectory,