diff --git a/build.gradle.kts b/build.gradle.kts index 025f5e6d..b84c229e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,6 +16,7 @@ recipeDependencies { parserClasspath("commons-logging:commons-logging:1.+") parserClasspath("ch.qos.logback:logback-classic:1.3.+") parserClasspath("org.projectlombok:lombok:1.18.+") + parserClasspath("org.jboss.logging:jboss-logging:3.+") } dependencies { @@ -31,11 +32,9 @@ dependencies { implementation("org.openrewrite.recipe:rewrite-static-analysis:${rewriteVersion}") runtimeOnly("org.openrewrite:rewrite-java-17") - implementation("org.apache.logging.log4j:log4j-core:2.+") { - exclude("com.github.spotbugs", "spotbugs-annotations").because("https://github.com/apache/logging-log4j2/issues/3754") - } - implementation("org.slf4j:slf4j-api:2.+") - implementation("org.jboss.logging:jboss-logging:3.+") + compileOnly("org.apache.logging.log4j:log4j-core:2.+") + compileOnly("org.slf4j:slf4j-api:2.+") + compileOnly("org.jboss.logging:jboss-logging:3.+") annotationProcessor("org.openrewrite:rewrite-templating:$rewriteVersion") implementation("org.openrewrite:rewrite-templating:$rewriteVersion") @@ -63,3 +62,7 @@ dependencies { testImplementation("org.assertj:assertj-core:latest.release") testRuntimeOnly(gradleApi()) } + +tasks.withType { + options.compilerArgs.add("-Arewrite.javaParserClasspathFrom=resources") +} diff --git a/src/main/resources/META-INF/rewrite/classpath.tsv.zip b/src/main/resources/META-INF/rewrite/classpath.tsv.zip index 30aee92e..44e7999e 100644 Binary files a/src/main/resources/META-INF/rewrite/classpath.tsv.zip and b/src/main/resources/META-INF/rewrite/classpath.tsv.zip differ diff --git a/src/test/java/org/openrewrite/java/logging/CatchBlockLogLevelTest.java b/src/test/java/org/openrewrite/java/logging/CatchBlockLogLevelTest.java index 205c6c62..a8fbaa15 100644 --- a/src/test/java/org/openrewrite/java/logging/CatchBlockLogLevelTest.java +++ b/src/test/java/org/openrewrite/java/logging/CatchBlockLogLevelTest.java @@ -17,6 +17,7 @@ import org.junit.jupiter.api.Test; import org.openrewrite.DocumentExample; +import org.openrewrite.InMemoryExecutionContext; import org.openrewrite.java.JavaParser; import org.openrewrite.test.RecipeSpec; import org.openrewrite.test.RewriteTest; @@ -35,7 +36,7 @@ public void defaults(RecipeSpec spec) { @Test void log4j1() { rewriteRun( - spec -> spec.parser(JavaParser.fromJavaVersion().classpath("log4j")), + spec -> spec.parser(JavaParser.fromJavaVersion().classpathFromResources(new InMemoryExecutionContext(), "log4j-1")), //language=java java( """ @@ -77,7 +78,7 @@ void test() { @Test void log4j2() { rewriteRun( - spec -> spec.parser(JavaParser.fromJavaVersion().classpath("log4j-core", "log4j-api")), + spec -> spec.parser(JavaParser.fromJavaVersion().classpathFromResources(new InMemoryExecutionContext(), "log4j-core-2+", "log4j-api-2+")), //language=java java( """ diff --git a/src/test/java/org/openrewrite/java/logging/ChangeLoggersToPrivateTest.java b/src/test/java/org/openrewrite/java/logging/ChangeLoggersToPrivateTest.java index 7b81758b..b2e907f1 100644 --- a/src/test/java/org/openrewrite/java/logging/ChangeLoggersToPrivateTest.java +++ b/src/test/java/org/openrewrite/java/logging/ChangeLoggersToPrivateTest.java @@ -17,6 +17,8 @@ import org.junit.jupiter.api.Test; import org.openrewrite.DocumentExample; +import org.openrewrite.InMemoryExecutionContext; +import org.openrewrite.java.JavaParser; import org.openrewrite.test.RecipeSpec; import org.openrewrite.test.RewriteTest; @@ -26,7 +28,8 @@ class ChangeLoggersToPrivateTest implements RewriteTest { @Override public void defaults(RecipeSpec spec) { - spec.recipe(new ChangeLoggersToPrivate()); + spec.recipe(new ChangeLoggersToPrivate()) + .parser(JavaParser.fromJavaVersion().classpathFromResources(new InMemoryExecutionContext(), "log4j-1", "slf4j-api-2.1.+", "log4j-api-2.+")); } @DocumentExample diff --git a/src/test/java/org/openrewrite/java/logging/jboss/FormattedArgumentsToVMethodTest.java b/src/test/java/org/openrewrite/java/logging/jboss/FormattedArgumentsToVMethodTest.java index 5ae35e06..99a87061 100644 --- a/src/test/java/org/openrewrite/java/logging/jboss/FormattedArgumentsToVMethodTest.java +++ b/src/test/java/org/openrewrite/java/logging/jboss/FormattedArgumentsToVMethodTest.java @@ -19,6 +19,8 @@ import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; import org.openrewrite.DocumentExample; +import org.openrewrite.InMemoryExecutionContext; +import org.openrewrite.java.JavaParser; import org.openrewrite.test.RecipeSpec; import org.openrewrite.test.RewriteTest; @@ -27,7 +29,8 @@ class FormattedArgumentsToVMethodTest implements RewriteTest { @Override public void defaults(RecipeSpec spec) { - spec.recipe(new FormattedArgumentsToVMethodRecipes()); + spec.recipe(new FormattedArgumentsToVMethodRecipes()) + .parser(JavaParser.fromJavaVersion().classpathFromResources(new InMemoryExecutionContext(), "jboss-logging")); } @DocumentExample diff --git a/src/test/java/org/openrewrite/java/logging/jboss/JBossLoggingBestPracticesTest.java b/src/test/java/org/openrewrite/java/logging/jboss/JBossLoggingBestPracticesTest.java index b74710e4..8152750b 100644 --- a/src/test/java/org/openrewrite/java/logging/jboss/JBossLoggingBestPracticesTest.java +++ b/src/test/java/org/openrewrite/java/logging/jboss/JBossLoggingBestPracticesTest.java @@ -17,6 +17,8 @@ import org.junit.jupiter.api.Test; import org.openrewrite.DocumentExample; +import org.openrewrite.InMemoryExecutionContext; +import org.openrewrite.java.JavaParser; import org.openrewrite.test.RecipeSpec; import org.openrewrite.test.RewriteTest; @@ -25,10 +27,8 @@ class JBossLoggingBestPracticesTest implements RewriteTest { @Override public void defaults(RecipeSpec spec) { - spec.recipeFromResource( - "/META-INF/rewrite/jboss.yml", - "org.openrewrite.java.logging.jboss.JBossLoggingBestPractices" - ); + spec.recipeFromResource("/META-INF/rewrite/jboss.yml", "org.openrewrite.java.logging.jboss.JBossLoggingBestPractices") + .parser(JavaParser.fromJavaVersion().classpathFromResources(new InMemoryExecutionContext(), "jboss-logging")); } @DocumentExample diff --git a/src/test/java/org/openrewrite/java/logging/jboss/LoggerLevelArgumentToMethodTest.java b/src/test/java/org/openrewrite/java/logging/jboss/LoggerLevelArgumentToMethodTest.java index 0a5f83f0..6bbaaed6 100644 --- a/src/test/java/org/openrewrite/java/logging/jboss/LoggerLevelArgumentToMethodTest.java +++ b/src/test/java/org/openrewrite/java/logging/jboss/LoggerLevelArgumentToMethodTest.java @@ -19,6 +19,8 @@ import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; import org.openrewrite.DocumentExample; +import org.openrewrite.InMemoryExecutionContext; +import org.openrewrite.java.JavaParser; import org.openrewrite.test.RecipeSpec; import org.openrewrite.test.RewriteTest; @@ -28,7 +30,8 @@ class LoggerLevelArgumentToMethodTest implements RewriteTest { @Override public void defaults(RecipeSpec spec) { - spec.recipe(new LoggerLevelArgumentToMethod()); + spec.recipe(new LoggerLevelArgumentToMethod()) + .parser(JavaParser.fromJavaVersion().classpathFromResources(new InMemoryExecutionContext(), "jboss-logging")); } @DocumentExample diff --git a/src/test/java/org/openrewrite/java/logging/log4j/Log4j1ToLog4j2Test.java b/src/test/java/org/openrewrite/java/logging/log4j/Log4j1ToLog4j2Test.java index 92628998..a336a774 100644 --- a/src/test/java/org/openrewrite/java/logging/log4j/Log4j1ToLog4j2Test.java +++ b/src/test/java/org/openrewrite/java/logging/log4j/Log4j1ToLog4j2Test.java @@ -17,6 +17,7 @@ import org.junit.jupiter.api.Test; import org.openrewrite.DocumentExample; +import org.openrewrite.InMemoryExecutionContext; import org.openrewrite.Issue; import org.openrewrite.java.JavaParser; import org.openrewrite.test.RecipeSpec; @@ -34,7 +35,7 @@ class Log4j1ToLog4j2Test implements RewriteTest { @Override public void defaults(RecipeSpec spec) { spec.recipeFromResource("/META-INF/rewrite/log4j.yml", "org.openrewrite.java.logging.log4j.Log4j1ToLog4j2") - .parser(JavaParser.fromJavaVersion().classpath("log4j")); + .parser(JavaParser.fromJavaVersion().classpathFromResources(new InMemoryExecutionContext(), "log4j-1")); } @DocumentExample diff --git a/src/test/java/org/openrewrite/java/logging/log4j/LoggingExceptionConcatenationTest.java b/src/test/java/org/openrewrite/java/logging/log4j/LoggingExceptionConcatenationTest.java index ef491f34..24f0b24c 100644 --- a/src/test/java/org/openrewrite/java/logging/log4j/LoggingExceptionConcatenationTest.java +++ b/src/test/java/org/openrewrite/java/logging/log4j/LoggingExceptionConcatenationTest.java @@ -17,6 +17,7 @@ import org.junit.jupiter.api.Test; import org.openrewrite.DocumentExample; +import org.openrewrite.InMemoryExecutionContext; import org.openrewrite.java.JavaParser; import org.openrewrite.test.RecipeSpec; import org.openrewrite.test.RewriteTest; @@ -28,7 +29,7 @@ class LoggingExceptionConcatenationTest implements RewriteTest { @Override public void defaults(RecipeSpec spec) { spec.recipe(new LoggingExceptionConcatenationRecipe()) - .parser(JavaParser.fromJavaVersion().classpath("log4j-api")); + .parser(JavaParser.fromJavaVersion().classpathFromResources(new InMemoryExecutionContext(), "log4j-api")); } @DocumentExample @@ -39,7 +40,7 @@ void loggingException() { java( """ import org.apache.logging.log4j.Logger; - + class Test { void test(Logger logger, RuntimeException e) { logger.error("test" + e); @@ -48,7 +49,7 @@ void test(Logger logger, RuntimeException e) { """, """ import org.apache.logging.log4j.Logger; - + class Test { void test(Logger logger, RuntimeException e) { logger.error("test", e); diff --git a/src/test/java/org/openrewrite/java/logging/slf4j/JBossLoggingToSlf4jTest.java b/src/test/java/org/openrewrite/java/logging/slf4j/JBossLoggingToSlf4jTest.java index 5ca0bf01..302c9380 100644 --- a/src/test/java/org/openrewrite/java/logging/slf4j/JBossLoggingToSlf4jTest.java +++ b/src/test/java/org/openrewrite/java/logging/slf4j/JBossLoggingToSlf4jTest.java @@ -18,6 +18,8 @@ import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.openrewrite.DocumentExample; +import org.openrewrite.InMemoryExecutionContext; +import org.openrewrite.java.JavaParser; import org.openrewrite.test.RecipeSpec; import org.openrewrite.test.RewriteTest; import org.openrewrite.test.SourceSpec; @@ -31,7 +33,8 @@ class JBossLoggingToSlf4jTest implements RewriteTest { @Override public void defaults(RecipeSpec spec) { - spec.recipeFromResources("org.openrewrite.java.logging.slf4j.JBossLoggingToSlf4j"); + spec.recipeFromResources("org.openrewrite.java.logging.slf4j.JBossLoggingToSlf4j") + .parser(JavaParser.fromJavaVersion().classpathFromResources(new InMemoryExecutionContext(), "jboss-logging")); } @DocumentExample