Replace the modules removed in Cucumber-JVM 8.0.0

MSAL

Cucumber-JVM 8.0.0 removed the Java EE based cucumber-cdi2 and cucumber-openejb modules in favor of cucumber-jakarta-cdi and cucumber-jakarta-openejb. Swap the dependencies, keeping their version, and point every reference to the old object factories at the new ones: in code, in string literals such as an @ConfigurationParameter value, and in a cucumber.object-factory property. cucumber-deltaspike was removed without a replacement, so it is only flagged. Migrating the CDI beans themselves from javax to jakarta is left to the Jakarta EE recipes.

org.openrewrite.cucumber.jvm.ReplaceRemovedCucumber8Modules
mod run . --recipe=org.openrewrite.cucumber.jvm.ReplaceRemovedCucumber8Modules

Install it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.

Recipe list

It runs these recipes, in this order.

  1. Change Gradle or Maven dependency io.cucumber:cucumber-cdi2
  2. Change Gradle or Maven dependency io.cucumber:cucumber-openejb
  3. Change type Cdi2Factory to CdiJakartaFactory
  4. Change type io.cucumber.openejb.OpenEJBObjectFactory to io.cucumber.jakarta.openejb.OpenEJBObjectFactory
  5. Replace String literal
  6. Replace String literal
  7. Change property value
  8. Change property value
  9. Gradle or Maven dependency insight io.cucumber:cucumber-deltaspike