Links

Change Maven project property value

org.openrewrite.maven.ChangePropertyValue Changes the specified Maven project property value leaving the key intact.

Source

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

Options

Type
Name
Description
String
key
The name of the property key whose value is to be changed.
String
newValue
Value to apply to the matching property.
Boolean
addIfMissing
Optional. Add the property if it is missing from the pom file.
Boolean
trustParent
Optional. Even if the parent defines a property with the same key, trust it even if the value isn't the same. Useful when you want to wait for the parent to have its value changed first. The parent is not trusted by default.

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.ChangePropertyValueExample. 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.ChangePropertyValueExample
displayName: Change Maven project property value example
recipeList:
- org.openrewrite.maven.ChangePropertyValue:
key: junit.version
newValue: 4.13
addIfMissing: null
trustParent: null
Now that com.yourorg.ChangePropertyValueExample 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.ChangePropertyValueExample")
}
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.ChangePropertyValueExample</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.