From 04760ceb90f885dd1f3fc97a5c7ebe7954ed1c3b Mon Sep 17 00:00:00 2001 From: Edgar Espina Date: Sun, 19 May 2024 21:12:03 -0300 Subject: [PATCH] build: add test for finding binary dev directory ref #3428 --- .../main/java/io/jooby/LoggingService.java | 13 ++++------ .../java/io/jooby/LoggingServiceTest.java | 25 +++++++++++++++++++ 2 files changed, 30 insertions(+), 8 deletions(-) create mode 100644 jooby/src/test/java/io/jooby/LoggingServiceTest.java diff --git a/jooby/src/main/java/io/jooby/LoggingService.java b/jooby/src/main/java/io/jooby/LoggingService.java index 7fff3aad37..1ec3bfe41c 100644 --- a/jooby/src/main/java/io/jooby/LoggingService.java +++ b/jooby/src/main/java/io/jooby/LoggingService.java @@ -11,11 +11,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.ServiceLoader; +import java.util.*; import java.util.stream.Stream; import java.util.stream.StreamSupport; @@ -105,7 +101,7 @@ static String configure(@NonNull ClassLoader classLoader, @NonNull List .filter(Files::exists) .map(Path::toAbsolutePath) // Skip build directories from maven/gradle - .filter(it -> !isBinary(it, "target") && !isBinary(it, "build")) + .filter(it -> !isBinary(it)) .findFirst(); if (logPath.isPresent()) { System.setProperty(loggingService.getPropertyName(), logPath.get().toString()); @@ -136,9 +132,10 @@ static String configure(@NonNull ClassLoader classLoader, @NonNull List return null; } - static boolean isBinary(Path path, String segment) { + static boolean isBinary(Path path) { + var bin = Set.of("target", "build", "bin"); return StreamSupport.stream(path.spliterator(), false) - .anyMatch(it -> it.toString().equals(segment)); + .anyMatch(it -> bin.contains(it.toString())); } private static List logFiles( diff --git a/jooby/src/test/java/io/jooby/LoggingServiceTest.java b/jooby/src/test/java/io/jooby/LoggingServiceTest.java new file mode 100644 index 0000000000..561c1e3936 --- /dev/null +++ b/jooby/src/test/java/io/jooby/LoggingServiceTest.java @@ -0,0 +1,25 @@ +/* + * Jooby https://jooby.io + * Apache License Version 2.0 https://jooby.io/LICENSE.txt + * Copyright 2014 Edgar Espina + */ +package io.jooby; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.nio.file.Paths; + +import org.junit.jupiter.api.Test; + +public class LoggingServiceTest { + + @Test + public void isBinaryPath() { + assertFalse(LoggingService.isBinary(Paths.get("src", "main", "java"))); + assertTrue(LoggingService.isBinary(Paths.get("target"))); + assertTrue(LoggingService.isBinary(Paths.get("project", "target"))); + assertTrue(LoggingService.isBinary(Paths.get("project", "build"))); + assertTrue(LoggingService.isBinary(Paths.get("project", "bin"))); + } +}