Skip to content

Latest commit

 

History

History
328 lines (292 loc) · 9.4 KB

ehcachejavaxtojakarta.md

File metadata and controls

328 lines (292 loc) · 9.4 KB

Migrate Ehcache from javax to jakarta namespace

org.openrewrite.java.migrate.jakarta.EhcacheJavaxToJakarta

Java EE has been rebranded to Jakarta EE. This recipe replaces existing Ehcache dependencies with their counterparts that are compatible with Jakarta EE 9.

Source

GitHub, Issue Tracker, Maven Central

  • groupId: org.openrewrite.recipe
  • artifactId: rewrite-migrate-java
  • version: 2.0.1

Examples

Example 1

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

Before

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

<project>
    <groupId>com.example.ehcache</groupId>
    <artifactId>ehcache-legacy</artifactId>
    <version>1.0.0</version>
    <dependencies>
        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache</artifactId>
            <version>3.9.10</version>
        </dependency>
        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache-clustered</artifactId>
            <version>3.9.10</version>
        </dependency>
        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache-transactions</artifactId>
            <version>3.9.10</version>
        </dependency>
    </dependencies>
</project>

{% endcode %}

After

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

<project>
    <groupId>com.example.ehcache</groupId>
    <artifactId>ehcache-legacy</artifactId>
    <version>1.0.0</version>
    <dependencies>
        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache</artifactId>
            <version>3.10.8</version>
            <classifier>jakarta</classifier>
        </dependency>
        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache-clustered</artifactId>
            <version>3.10.8</version>
        </dependency>
        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache-transactions</artifactId>
            <version>3.10.8</version>
            <classifier>jakarta</classifier>
        </dependency>
    </dependencies>
</project>

{% endcode %}

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

--- pom.xml
+++ pom.xml
@@ -9,1 +9,2 @@
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache</artifactId>
-           <version>3.9.10</version>
+           <version>3.10.8</version>
+           <classifier>jakarta</classifier>
        </dependency>
@@ -14,1 +15,1 @@
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache-clustered</artifactId>
-           <version>3.9.10</version>
+           <version>3.10.8</version>
        </dependency>
@@ -19,1 +20,2 @@
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache-transactions</artifactId>
-           <version>3.9.10</version>
+           <version>3.10.8</version>
+           <classifier>jakarta</classifier>
        </dependency>

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


Example 2

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

Before

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

<project>
    <groupId>com.example.ehcache</groupId>
    <artifactId>ehcache-legacy</artifactId>
    <version>1.0.0</version>
    <dependencies>
        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache</artifactId>
            <version>3.9.10</version>
        </dependency>
        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache-clustered</artifactId>
            <version>3.9.10</version>
        </dependency>
        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache-transactions</artifactId>
            <version>3.9.10</version>
        </dependency>
    </dependencies>
</project>

{% endcode %}

After

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

<project>
    <groupId>com.example.ehcache</groupId>
    <artifactId>ehcache-legacy</artifactId>
    <version>1.0.0</version>
    <dependencies>
        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache</artifactId>
            <version>3.10.8</version>
            <classifier>jakarta</classifier>
        </dependency>
        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache-clustered</artifactId>
            <version>3.10.8</version>
        </dependency>
        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache-transactions</artifactId>
            <version>3.10.8</version>
            <classifier>jakarta</classifier>
        </dependency>
    </dependencies>
</project>

{% endcode %}

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

--- pom.xml
+++ pom.xml
@@ -9,1 +9,2 @@
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache</artifactId>
-           <version>3.9.10</version>
+           <version>3.10.8</version>
+           <classifier>jakarta</classifier>
        </dependency>
@@ -14,1 +15,1 @@
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache-clustered</artifactId>
-           <version>3.9.10</version>
+           <version>3.10.8</version>
        </dependency>
@@ -19,1 +20,2 @@
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache-transactions</artifactId>
-           <version>3.9.10</version>
+           <version>3.10.8</version>
+           <classifier>jakarta</classifier>
        </dependency>

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

Usage

This recipe has no required configuration options. It can be activated by adding a dependency on org.openrewrite.recipe:rewrite-migrate-java:2.0.1 in your build file or by running a shell command (in which case no build changes are needed): {% tabs %} {% tab title="Gradle" %} {% code title="build.gradle" %}

plugins {
    id("org.openrewrite.rewrite") version("6.1.4")
}

rewrite {
    activeRecipe("org.openrewrite.java.migrate.jakarta.EhcacheJavaxToJakarta")
}

repositories {
    mavenCentral()
}

dependencies {
    rewrite("org.openrewrite.recipe:rewrite-migrate-java:2.0.1")
}

{% endcode %} {% endtab %} {% tab title="Maven POM" %} {% 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>org.openrewrite.java.migrate.jakarta.EhcacheJavaxToJakarta</recipe>
          </activeRecipes>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.openrewrite.recipe</groupId>
            <artifactId>rewrite-migrate-java</artifactId>
            <version>2.0.1</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>
</project>

{% endcode %} {% endtab %}

{% tab title="Maven Command Line" %} {% code title="shell" %} You will need to have Maven installed on your machine before you can run the following command.

mvn -U org.openrewrite.maven:rewrite-maven-plugin:run \
  -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-migrate-java:RELEASE \
  -Drewrite.activeRecipes=org.openrewrite.java.migrate.jakarta.EhcacheJavaxToJakarta

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

Definition

{% tabs %} {% tab title="Recipe List" %}

{% endtab %}

{% tab title="Yaml Recipe List" %}

---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.migrate.jakarta.EhcacheJavaxToJakarta
displayName: Migrate Ehcache from javax to jakarta namespace
description: Java EE has been rebranded to Jakarta EE.  This recipe replaces existing Ehcache dependencies with their counterparts that are compatible with Jakarta EE 9.

recipeList:
  - org.openrewrite.java.dependencies.UpgradeDependencyVersion:
      groupId: org.ehcache
      artifactId: *
      newVersion: 3.10.x
  - org.openrewrite.maven.ChangeDependencyClassifier:
      groupId: org.ehcache
      artifactId: ehcache
      newClassifier: jakarta
  - org.openrewrite.maven.ChangeDependencyClassifier:
      groupId: org.ehcache
      artifactId: ehcache-transactions
      newClassifier: jakarta

{% endtab %} {% endtabs %}

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.