From 8b7f3bfcf0bb5a64d89363344b3c7cc0062f426c Mon Sep 17 00:00:00 2001 From: Niels de Bruin Date: Tue, 31 Dec 2024 13:42:42 +0100 Subject: [PATCH 1/4] Add test for lombok generated logger --- .../logging/ParameterizedLoggingTest.java | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java b/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java index 8bfc38b..f89ab91 100644 --- a/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java +++ b/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java @@ -37,7 +37,7 @@ class ParameterizedLoggingTest implements RewriteTest { @Override public void defaults(RecipeSpec spec) { spec.parser(JavaParser.fromJavaVersion() - .classpathFromResources(new InMemoryExecutionContext(), "slf4j-api-2.1", "log4j-api-2.23", "log4j-core-2.23")); + .classpathFromResources(new InMemoryExecutionContext(), "slf4j-api-2.1", "log4j-api-2.23", "log4j-core-2.23", "lombok-1.18")); } @DocumentExample @@ -697,4 +697,33 @@ void method(int cnt, String name) { ); } + @Test + void lombokLoggingAnnotation() { + rewriteRun( + spec -> spec.recipe(new ParameterizedLogging("org.slf4j.Logger info(..)", false)), + // language=java + java( + """ + import lombok.extern.slf4j.Slf4j; + + @Slf4j + class Test { + static void method(String name) { + log.info(marker, "Hello " + name + ", nice to meet you " + name); + } + } + """, + """ + import lombok.extern.slf4j.Slf4j; + + @Slf4j + class Test { + static void method(String name) { + log.info(marker, "Hello {}, nice to meet you {}", name, name); + } + } + """ + ) + ); + } } From c963465816e037371fa889c5689725ca7b0f33c2 Mon Sep 17 00:00:00 2001 From: Niels de Bruin Date: Tue, 31 Dec 2024 14:00:53 +0100 Subject: [PATCH 2/4] Update lombok initialization --- .../java/logging/ParameterizedLoggingTest.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java b/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java index f89ab91..160dc30 100644 --- a/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java +++ b/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java @@ -15,6 +15,8 @@ */ package org.openrewrite.java.logging; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.openrewrite.DocumentExample; import org.openrewrite.InMemoryExecutionContext; @@ -34,10 +36,20 @@ }) class ParameterizedLoggingTest implements RewriteTest { + @BeforeAll + static void setUp() { + System.setProperty("rewrite.lombok", "true"); + } + + @AfterAll + static void tearDown() { + System.clearProperty("rewrite.lombok"); + } + @Override public void defaults(RecipeSpec spec) { spec.parser(JavaParser.fromJavaVersion() - .classpathFromResources(new InMemoryExecutionContext(), "slf4j-api-2.1", "log4j-api-2.23", "log4j-core-2.23", "lombok-1.18")); + .classpathFromResources(new InMemoryExecutionContext(), "slf4j-api-2.1", "log4j-api-2.23", "log4j-core-2.23", "lombok")); } @DocumentExample From 1a61c25b3e507cf287b64238ea53cf2758910e49 Mon Sep 17 00:00:00 2001 From: Tim te Beek Date: Tue, 31 Dec 2024 14:04:31 +0100 Subject: [PATCH 3/4] Drop missing marker reference --- .../openrewrite/java/logging/ParameterizedLoggingTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java b/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java index 160dc30..785ce59 100644 --- a/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java +++ b/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java @@ -721,7 +721,7 @@ void lombokLoggingAnnotation() { @Slf4j class Test { static void method(String name) { - log.info(marker, "Hello " + name + ", nice to meet you " + name); + log.info"Hello " + name + ", nice to meet you " + name); } } """, @@ -731,7 +731,7 @@ static void method(String name) { @Slf4j class Test { static void method(String name) { - log.info(marker, "Hello {}, nice to meet you {}", name, name); + log.info("Hello {}, nice to meet you {}", name, name); } } """ From 2a7fa3e10efe0a38bc1ad5acdbc58dd22883e4f8 Mon Sep 17 00:00:00 2001 From: Tim te Beek Date: Tue, 31 Dec 2024 14:06:04 +0100 Subject: [PATCH 4/4] Only run select tests with Lombok support enabled --- .../logging/ParameterizedLoggingTest.java | 76 ++++++++++--------- 1 file changed, 41 insertions(+), 35 deletions(-) diff --git a/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java b/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java index 785ce59..ba9299d 100644 --- a/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java +++ b/src/test/java/org/openrewrite/java/logging/ParameterizedLoggingTest.java @@ -17,6 +17,7 @@ import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.openrewrite.DocumentExample; import org.openrewrite.InMemoryExecutionContext; @@ -36,16 +37,6 @@ }) class ParameterizedLoggingTest implements RewriteTest { - @BeforeAll - static void setUp() { - System.setProperty("rewrite.lombok", "true"); - } - - @AfterAll - static void tearDown() { - System.clearProperty("rewrite.lombok"); - } - @Override public void defaults(RecipeSpec spec) { spec.parser(JavaParser.fromJavaVersion() @@ -709,33 +700,48 @@ void method(int cnt, String name) { ); } - @Test - void lombokLoggingAnnotation() { - rewriteRun( - spec -> spec.recipe(new ParameterizedLogging("org.slf4j.Logger info(..)", false)), - // language=java - java( - """ - import lombok.extern.slf4j.Slf4j; - - @Slf4j - class Test { - static void method(String name) { - log.info"Hello " + name + ", nice to meet you " + name); + @Nested + class LombokSupport { + + @BeforeAll + static void setUp() { + System.setProperty("rewrite.lombok", "true"); + } + + @AfterAll + static void tearDown() { + System.clearProperty("rewrite.lombok"); + } + + @Test + void lombokLoggingAnnotation() { + rewriteRun( + spec -> spec.recipe(new ParameterizedLogging("org.slf4j.Logger info(..)", false)), + // language=java + java( + """ + import lombok.extern.slf4j.Slf4j; + + @Slf4j + class Test { + static void method(String name) { + log.info("Hello " + name + ", nice to meet you " + name); + } } - } - """, - """ - import lombok.extern.slf4j.Slf4j; + """, + """ + import lombok.extern.slf4j.Slf4j; - @Slf4j - class Test { - static void method(String name) { - log.info("Hello {}, nice to meet you {}", name, name); + @Slf4j + class Test { + static void method(String name) { + log.info("Hello {}, nice to meet you {}", name, name); + } } - } - """ - ) - ); + """ + ) + ); + } + } }