Links

Remove Maven managed dependency

org.openrewrite.maven.RemoveManagedDependency Removes a single managed dependency from the section of the pom.xml.

Source

  • groupId: org.openrewrite
  • artifactId: rewrite-maven
  • version: 7.38.0

Options

Type
Name
Description
String
groupId
The first part of a managed dependency coordinate 'com.google.guava:guava:VERSION'.
String
artifactId
The second part of a managed dependency coordinate 'com.google.guava:guava:VERSION'.
String
scope
Optional. Only remove managed dependencies if they are in this scope. If 'runtime', this willalso remove managed dependencies in the 'compile' scope because 'compile' dependencies are part of the runtime dependency set

Usage

This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly. To activate this recipe you must create a new recipe which fills in the required parameters. In your rewrite.yml create a new recipe with a unique name. For example: com.yourorg.RemoveManagedDependencyExample. Here's how you can define and customize such a recipe within your rewrite.yml:
rewrite.yml
---
type: specs.openrewrite.org/v1beta/recipe
name: com.yourorg.RemoveManagedDependencyExample
displayName: Remove Maven managed dependency example
recipeList:
- org.openrewrite.maven.RemoveManagedDependency:
groupId: com.google.guava
artifactId: guava
scope: compile
Now that com.yourorg.RemoveManagedDependencyExample has been defined activate it in your build file:
Gradle
Maven
build.gradle
plugins {
id("org.openrewrite.rewrite") version("5.38.0")
}
rewrite {
activeRecipe("com.yourorg.RemoveManagedDependencyExample")
}
repositories {
mavenCentral()
}
pom.xml
<project>
<build>
<plugins>
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<version>4.42.0</version>
<configuration>
<activeRecipes>
<recipe>com.yourorg.RemoveManagedDependencyExample</recipe>
</activeRecipes>
</configuration>
</plugin>
</plugins>
</build>
</project>

See how this recipe works across multiple open-source repositories

Moderne Link Image
The Moderne public SaaS instance enables you to easily run recipes across thousands of open-source repositories.
Please contact Moderne for more information about safely running the recipes on your own codebase in a private SaaS.