rewrite
rewrite copied to clipboard
org.openrewrite.gradle.AddDependency ignores acceptTransitive option
What version of OpenRewrite are you using?
I am using
- Gradle plugin v7.13.0
- org.openrewrite.recipe:rewrite-recipe-bom:3.19.0
- org.openrewrite.recipe:rewrite-spring (6.19.0 from bom)
How are you running OpenRewrite?
I am using the Gradle plugin, and my project is a single module project.
rewrite {
activeRecipe(
"org.mycompany.Recipe"
)
}
What is the smallest, simplest way to reproduce the problem?
type: specs.openrewrite.org/v1beta/recipe
name: org.mycompany.Recipe
displayName: Test Recipe
recipeList:
- org.openrewrite.gradle.AddDependency:
groupId: jakarta.persistence
artifactId: jakarta.persistence-api
version: 3.0.0
configuration: implementation
acceptTransitive: false
plugins {
java
id("org.springframework.boot") version "2.7.18"
id("io.spring.dependency-management") version "1.0.11.RELEASE"
id("org.openrewrite.rewrite") version "7.13.0"
}
repositories {
repositories {
mavenCentral()
}
}
rewrite {
activeRecipe(
"org.mycompany.Recipe"
)
}
dependencies {
rewrite(platform("org.openrewrite.recipe:rewrite-recipe-bom:3.19.0"))
rewrite("org.openrewrite.recipe:rewrite-spring")
// has transitive dependency on jakarta.persistence-api
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
}
What did you expect to see?
dependencies {
rewrite(platform("org.openrewrite.recipe:rewrite-recipe-bom:3.19.0"))
rewrite("org.openrewrite.recipe:rewrite-spring")
// has transitive dependency on jakarta.persistence-api
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("jakarta.persistence:jakarta.persistence-api:2.2")
}
What did you see instead?
no changes
What is the full stack trace of any errors you encountered?
- Seems like this change https://github.com/openrewrite/rewrite/pull/5371 dropped
acceptTransitiveflag and always ignores dependency if found in transitive. See new GradleConfigurationFilter.java
Looks like https://github.com/openrewrite/rewrite/pull/6248 is trying to fix the same changes I'm referencing here.
@BoykoAlex do you have any updates?
Not really... the issue is that GradleProject marker is not updated after plugin version change. Dependencies and configs need to be recomputed. I'd involve the gradle into this somehow...