diff --git a/build.gradle.kts b/build.gradle.kts index a95732cd6a..59799ba853 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,6 @@ plugins { - id("org.openrewrite.build.root") version("latest.release") - id("org.openrewrite.build.java-base") version("latest.release") + id("org.openrewrite.build.root") version("2.5.6") + id("org.openrewrite.build.java-base") version("2.5.6") id("org.owasp.dependencycheck") version("latest.release") } diff --git a/rewrite-gradle/src/test/java/org/openrewrite/gradle/GradleParserTest.java b/rewrite-gradle/src/test/java/org/openrewrite/gradle/GradleParserTest.java index 828ac22994..b5b41855be 100644 --- a/rewrite-gradle/src/test/java/org/openrewrite/gradle/GradleParserTest.java +++ b/rewrite-gradle/src/test/java/org/openrewrite/gradle/GradleParserTest.java @@ -21,6 +21,8 @@ import org.openrewrite.Parser; import org.openrewrite.SourceFile; import org.openrewrite.java.tree.J; +import org.openrewrite.java.tree.JavaType; +import org.openrewrite.java.tree.TypeUtils; import org.openrewrite.test.RewriteTest; import org.openrewrite.tree.ParseError; @@ -29,6 +31,7 @@ import java.util.stream.Stream; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.openrewrite.gradle.Assertions.*; class GradleParserTest implements RewriteTest { @@ -383,4 +386,25 @@ implementation platform("commons-lang:commons-lang3:3.0",) ) ); } + + @Issue("https://github.com/openrewrite/rewrite-testing-frameworks/pull/836") + @Test + void typeAttributionOnTasks() { + rewriteRun( + //language=groovy + buildGradle( + """ + plugins { + id 'java' + } + tasks.withType(Test) { + } + """, + spec -> spec.beforeRecipe(cu -> { + JavaType tasksType = ((J.MethodInvocation) cu.getStatements().getLast()).getSelect().getType(); + assertTrue(TypeUtils.isAssignableTo("org.gradle.api.tasks.TaskContainer", tasksType), tasksType.toString()); + }) + ) + ); + } }