Skip to content

Latest commit

 

History

History
165 lines (135 loc) · 5.12 KB

changeplugingroupidandartifactid.md

File metadata and controls

165 lines (135 loc) · 5.12 KB

Change Maven plugin groupId and artifactId

org.openrewrite.maven.ChangePluginGroupIdAndArtifactId

Change the groupId and/or the artifactId of a specified Maven plugin.

Source

GitHub, Issue Tracker, Maven Central

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

Options

Type Name Description
String oldGroupId The old groupId to replace. The groupId is the first part of a plugin coordinate 'com.google.guava:guava:VERSION'. Supports glob expressions.
String oldArtifactId The old artifactId to replace. The artifactId is the second part of a plugin coordinate 'com.google.guava:guava:VERSION'. Supports glob expressions.
String newGroupId Optional. The new groupId to use. Defaults to the existing group id.
String newArtifactId Optional. The new artifactId to use. Defaults to the existing artifact id.

Data Tables (Only available on the Moderne platform)

Maven metadata failures

Attempts to resolve maven metadata that failed.

Column Name Description

Example

Parameters
Parameter Value
oldGroupId io.quarkus
oldArtifactId quarkus-bootstrap-maven-plugin
newGroupId null
newArtifactId quarkus-extension-maven-plugin

{% tabs %} {% tab title="pom.xml" %}

Before

{% code title="pom.xml" %}

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany.app</groupId>
    <artifactId>my-app</artifactId>
    <version>1</version>
    <build>
        <plugins>
            <plugin>
                <groupId>io.quarkus</groupId>
                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
                <version>3.0.0.Beta1</version>
            </plugin>
        </plugins>
    </build>
</project>

{% endcode %}

After

{% code title="pom.xml" %}

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany.app</groupId>
    <artifactId>my-app</artifactId>
    <version>1</version>
    <build>
        <plugins>
            <plugin>
                <groupId>io.quarkus</groupId>
                <artifactId>quarkus-extension-maven-plugin</artifactId>
                <version>3.0.0.Beta1</version>
            </plugin>
        </plugins>
    </build>
</project>

{% endcode %}

{% endtab %} {% tab title="Diff" %} {% code %}

--- pom.xml
+++ pom.xml
@@ -10,1 +10,1 @@
            <plugin>
                <groupId>io.quarkus</groupId>
-               <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
+               <artifactId>quarkus-extension-maven-plugin</artifactId>
                <version>3.0.0.Beta1</version>

{% endcode %} {% endtab %} {% endtabs %}

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.ChangePluginGroupIdAndArtifactIdExample. Here's how you can define and customize such a recipe within your rewrite.yml:

{% code title="rewrite.yml" %}

---
type: specs.openrewrite.org/v1beta/recipe
name: com.yourorg.ChangePluginGroupIdAndArtifactIdExample
displayName: Change Maven plugin groupId and artifactId example
recipeList:
  - org.openrewrite.maven.ChangePluginGroupIdAndArtifactId:
      oldGroupId: org.openrewrite.recipe
      oldArtifactId: my-deprecated-maven-plugin
      newGroupId: corp.internal.openrewrite.recipe
      newArtifactId: my-new-maven-plugin

{% endcode %}

Now that com.yourorg.ChangePluginGroupIdAndArtifactIdExample has been defined activate it in your build file: {% tabs %}

{% tab title="Maven" %} {% code title="pom.xml" %}

<project>
  <build>
    <plugins>
      <plugin>
        <groupId>org.openrewrite.maven</groupId>
        <artifactId>rewrite-maven-plugin</artifactId>
        <version>5.2.4</version>
        <configuration>
          <activeRecipes>
            <recipe>com.yourorg.ChangePluginGroupIdAndArtifactIdExample</recipe>
          </activeRecipes>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

{% endcode %} {% endtab %} {% endtabs %}

Contributors

See how this recipe works across multiple open-source repositories

Moderne Link Image

The community edition of the Moderne platform 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.