org.openrewrite.java.micronaut.Micronaut2to3Migration
This recipe will apply changes required for migrating from Micronaut 2 to Micronaut 3.
Recipe source
GitHub , Issue Tracker , Maven Central
groupId: org.openrewrite.recipe
artifactId: rewrite-micronaut
This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above.
Usage
This recipe has no required configuration options. It can be activated by adding a dependency on org.openrewrite.recipe:rewrite-micronaut:2.3.1
in your build file or by running a shell command (in which case no build changes are needed):
Gradle Gradle init script Maven POM Maven Command Line Moderne CLI
Add the following to your build.gradle
file:
Copy plugins {
id( "org.openrewrite.rewrite" ) version( "6.12.0" )
}
rewrite {
activeRecipe( "org.openrewrite.java.micronaut.Micronaut2to3Migration" )
}
repositories {
mavenCentral()
}
dependencies {
rewrite( "org.openrewrite.recipe:rewrite-micronaut:2.3.1" )
}
Run gradle rewriteRun
to run the recipe.
Create a file named init.gradle
in the root of your project.
Copy initscript {
repositories {
maven { url "https://plugins.gradle.org/m2" }
}
dependencies { classpath( "org.openrewrite:plugin:6.12.0" ) }
}
rootProject {
plugins . apply( org.openrewrite.gradle.RewritePlugin )
dependencies {
rewrite( "org.openrewrite.recipe:rewrite-micronaut:2.3.1" )
}
rewrite {
activeRecipe( "org.openrewrite.java.micronaut.Micronaut2to3Migration" )
}
afterEvaluate {
if (repositories . isEmpty()) {
repositories {
mavenCentral()
}
}
}
}
Run gradle --init-script init.gradle rewriteRun
to run the recipe.
Add the following to your pom.xml
file:
Copy < project >
< build >
< plugins >
< plugin >
< groupId >org.openrewrite.maven</ groupId >
< artifactId >rewrite-maven-plugin</ artifactId >
< version >5.29.0</ version >
< configuration >
< activeRecipes >
< recipe >org.openrewrite.java.micronaut.Micronaut2to3Migration</ recipe >
</ activeRecipes >
</ configuration >
< dependencies >
< dependency >
< groupId >org.openrewrite.recipe</ groupId >
< artifactId >rewrite-micronaut</ artifactId >
< version >2.3.1</ version >
</ dependency >
</ dependencies >
</ plugin >
</ plugins >
</ build >
</ project >
Run mvn rewrite:run
to run the recipe.
Copy mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-micronaut:RELEASE -Drewrite.activeRecipes=org.openrewrite.java.micronaut.Micronaut2to3Migration
You will need to have configured the Moderne CLI on your machine before you can run the following command.
Copy mod run . --recipe Micronaut2to3Migration
Definition
Recipe List Yaml Recipe List
Rename package name
oldPackageName: io.micronaut.configuration.cassandra
newPackageName: io.micronaut.cassandra
Rename package name
oldPackageName: io.micronaut.configuration.security.ldap
newPackageName: io.micronaut.security.ldap
Change type
oldFullyQualifiedTypeName: io.micronaut.core.async.SupplierUtil
newFullyQualifiedTypeName: io.micronaut.core.util.SupplierUtil
Change method name
methodPattern: io.micronaut.http.netty.stream.DelegateHttpRequest getMethod()
Change method name
methodPattern: io.micronaut.http.netty.stream.DelegateHttpResponse getStatus()
Change method name
methodPattern: io.micronaut.http.server.netty.DelegateHttpResponse getStatus()
Change method name
methodPattern: io.micronaut.http.netty.stream.DelegateHttpRequest getUri()
Change method name
methodPattern: io.micronaut.http.netty.stream.DelegateHttpMessage getDecoderResult()
newMethodName: decoderResult
Change method name
methodPattern: io.micronaut.http.netty.stream.DelegateHttpMessage getProtocolVersion()
newMethodName: protocolVersion
Change type
oldFullyQualifiedTypeName: io.micronaut.management.endpoint.beans.impl.RxJavaBeanDefinitionDataCollector
newFullyQualifiedTypeName: io.micronaut.management.endpoint.beans.impl.DefaultBeanDefinitionDataCollector
Change type
oldFullyQualifiedTypeName: io.micronaut.management.endpoint.routes.impl.RxJavaRouteDataCollector
newFullyQualifiedTypeName: io.micronaut.management.endpoint.routes.impl.DefaultRouteDataCollector
Change type
oldFullyQualifiedTypeName: io.micronaut.management.health.aggregator.RxJavaHealthAggregator
newFullyQualifiedTypeName: io.micronaut.management.health.aggregator.DefaultHealthAggregator
Change type
oldFullyQualifiedTypeName: io.micronaut.messaging.annotation.Body
newFullyQualifiedTypeName: io.micronaut.messaging.annotation.MessageBody
Change type
oldFullyQualifiedTypeName: io.micronaut.messaging.annotation.Headers
newFullyQualifiedTypeName: io.micronaut.messaging.annotation.MessageHeaders
Change method name
methodPattern: io.micronaut.rss.itunespodcast.ItunesPodcast isExplict()
newMethodName: isExplicit
Change method name
methodPattern: io.micronaut.rss.itunespodcast.ItunesPodcast setExplict(boolean)
newMethodName: setExplicit
Change method name
methodPattern: io.micronaut.rss.itunespodcast.ItunesPodcast explict(boolean)
newMethodName: setExplicit
Change method name
methodPattern: io.micronaut.rss.itunespodcast.ItunesPodcastEpisode isExplict()
newMethodName: isExplicit
Change type
oldFullyQualifiedTypeName: io.micronaut.runtime.server.EmbeddedServerInstance
newFullyQualifiedTypeName: io.micronaut.discovery.EmbeddedServerInstance
Change type
oldFullyQualifiedTypeName: io.micronaut.http.client.RxHttpClient
newFullyQualifiedTypeName: io.micronaut.rxjava2.http.client.RxHttpClient
Change type
oldFullyQualifiedTypeName: io.micronaut.http.client.RxProxyHttpClient
newFullyQualifiedTypeName: io.micronaut.rxjava2.http.client.proxy.RxProxyHttpClient
Change type
oldFullyQualifiedTypeName: io.micronaut.http.client.RxStreamingHttpClient
newFullyQualifiedTypeName: io.micronaut.rxjava2.http.client.RxStreamingHttpClient
Change type
oldFullyQualifiedTypeName: io.micronaut.http.client.sse.RxSseClient
newFullyQualifiedTypeName: io.micronaut.rxjava2.http.client.sse.RxSseClient
Change type
oldFullyQualifiedTypeName: io.micronaut.websocket.RxWebSocketClient
newFullyQualifiedTypeName: io.micronaut.rxjava2.http.client.websockets.RxWebSocketClient
Change method name
methodPattern: io.micronaut.web.router accept(io.micronaut.http.MediaType)
newMethodName: doesConsume
Change method name
methodPattern: io.micronaut.web.router.Route acceptAll()
newMethodName: consumesAll
Change method name
methodPattern: io.micronaut.web.router.RouteMatch accept(io.micronaut.http.MediaType)
newMethodName: doesConsume
Change method name
methodPattern: io.micronaut.web.router.RouteMatch explicitAccept(io.micronaut.http.MediaType)
newMethodName: explicitlyConsumes
Change type
oldFullyQualifiedTypeName: javax.annotation.Nullable
newFullyQualifiedTypeName: io.micronaut.core.annotation.Nullable
Change type
oldFullyQualifiedTypeName: javax.annotation.Nonnull
newFullyQualifiedTypeName: io.micronaut.core.annotation.NonNull
Change type
oldFullyQualifiedTypeName: io.micronaut.test.annotation.MicronautTest
newFullyQualifiedTypeName: io.micronaut.test.extensions.junit5.annotation.MicronautTest
Copy ---
type : specs.openrewrite.org/v1beta/recipe
name : org.openrewrite.java.micronaut.Micronaut2to3Migration
displayName : Migrate from Micronaut 2.x to 3.x
description : This recipe will apply changes required for migrating from Micronaut 2 to Micronaut 3.
recipeList :
- org.openrewrite.java.micronaut.BeanPropertyCapitalizationStrategy
- org.openrewrite.java.micronaut.CopyNonInheritedAnnotations
- org.openrewrite.java.micronaut.SubclassesReturnedFromFactoriesNotInjectable
- org.openrewrite.java.micronaut.OncePerRequestHttpServerFilterToHttpServerFilter
- org.openrewrite.java.micronaut.ProviderImplementationsToMicronautFactories
- org.openrewrite.java.micronaut.TypeRequiresIntrospection
- org.openrewrite.java.micronaut.FixDeprecatedExceptionHandlerConstructors
- org.openrewrite.maven.UpgradeParentVersion :
groupId : io.micronaut
artifactId : micronaut-parent
newVersion : 3.x
- org.openrewrite.maven.UpgradeDependencyVersion :
groupId : io.micronaut
artifactId : micronaut-bom
newVersion : 3.x
overrideManagedVersion : true
- org.openrewrite.java.micronaut.UpgradeMicronautGradlePropertiesVersion :
newVersion : 3.x
- org.openrewrite.java.micronaut.UpgradeMicronautMavenPropertyVersion :
newVersion : 3.x
- org.openrewrite.java.ChangePackage :
oldPackageName : io.micronaut.configuration.cassandra
newPackageName : io.micronaut.cassandra
- org.openrewrite.java.ChangePackage :
oldPackageName : io.micronaut.configuration.security.ldap
newPackageName : io.micronaut.security.ldap
- org.openrewrite.java.ChangeMethodName :
methodPattern : io.micronaut.context.ApplicationContext build(..)
newMethodName : builder
- org.openrewrite.java.ChangeType :
oldFullyQualifiedTypeName : io.micronaut.core.async.SupplierUtil
newFullyQualifiedTypeName : io.micronaut.core.util.SupplierUtil
- org.openrewrite.java.ChangeMethodName :
methodPattern : io.micronaut.http.netty.stream.DelegateHttpRequest getMethod()
newMethodName : method
- org.openrewrite.java.ChangeMethodName :
methodPattern : io.micronaut.http.netty.stream.DelegateHttpResponse getStatus()
newMethodName : status
- org.openrewrite.java.ChangeMethodName :
methodPattern : io.micronaut.http.server.netty.DelegateHttpResponse getStatus()
newMethodName : status
- org.openrewrite.java.ChangeMethodName :
methodPattern : io.micronaut.http.netty.stream.DelegateHttpRequest getUri()
newMethodName : uri
- org.openrewrite.java.ChangeMethodName :
methodPattern : io.micronaut.http.netty.stream.DelegateHttpMessage getDecoderResult()
newMethodName : decoderResult
- org.openrewrite.java.ChangeMethodName :
methodPattern : io.micronaut.http.netty.stream.DelegateHttpMessage getProtocolVersion()
newMethodName : protocolVersion
- org.openrewrite.java.ChangeType :
oldFullyQualifiedTypeName : io.micronaut.management.endpoint.beans.impl.RxJavaBeanDefinitionDataCollector
newFullyQualifiedTypeName : io.micronaut.management.endpoint.beans.impl.DefaultBeanDefinitionDataCollector
- org.openrewrite.java.ChangeType :
oldFullyQualifiedTypeName : io.micronaut.management.endpoint.routes.impl.RxJavaRouteDataCollector
newFullyQualifiedTypeName : io.micronaut.management.endpoint.routes.impl.DefaultRouteDataCollector
- org.openrewrite.java.ChangeType :
oldFullyQualifiedTypeName : io.micronaut.management.health.aggregator.RxJavaHealthAggregator
newFullyQualifiedTypeName : io.micronaut.management.health.aggregator.DefaultHealthAggregator
- org.openrewrite.java.ChangeType :
oldFullyQualifiedTypeName : io.micronaut.messaging.annotation.Body
newFullyQualifiedTypeName : io.micronaut.messaging.annotation.MessageBody
- org.openrewrite.java.ChangeType :
oldFullyQualifiedTypeName : io.micronaut.messaging.annotation.Headers
newFullyQualifiedTypeName : io.micronaut.messaging.annotation.MessageHeaders
- org.openrewrite.java.ChangeMethodName :
methodPattern : io.micronaut.rss.itunespodcast.ItunesPodcast isExplict()
newMethodName : isExplicit
- org.openrewrite.java.ChangeMethodName :
methodPattern : io.micronaut.rss.itunespodcast.ItunesPodcast setExplict(boolean)
newMethodName : setExplicit
- org.openrewrite.java.ChangeMethodName :
methodPattern : io.micronaut.rss.itunespodcast.ItunesPodcast explict(boolean)
newMethodName : setExplicit
- org.openrewrite.java.ChangeMethodName :
methodPattern : io.micronaut.rss.itunespodcast.ItunesPodcastEpisode isExplict()
newMethodName : isExplicit
- org.openrewrite.java.ChangeType :
oldFullyQualifiedTypeName : io.micronaut.runtime.server.EmbeddedServerInstance
newFullyQualifiedTypeName : io.micronaut.discovery.EmbeddedServerInstance
- org.openrewrite.java.ChangeType :
oldFullyQualifiedTypeName : io.micronaut.http.client.RxHttpClient
newFullyQualifiedTypeName : io.micronaut.rxjava2.http.client.RxHttpClient
- org.openrewrite.java.ChangeType :
oldFullyQualifiedTypeName : io.micronaut.http.client.RxProxyHttpClient
newFullyQualifiedTypeName : io.micronaut.rxjava2.http.client.proxy.RxProxyHttpClient
- org.openrewrite.java.ChangeType :
oldFullyQualifiedTypeName : io.micronaut.http.client.RxStreamingHttpClient
newFullyQualifiedTypeName : io.micronaut.rxjava2.http.client.RxStreamingHttpClient
- org.openrewrite.java.ChangeType :
oldFullyQualifiedTypeName : io.micronaut.http.client.sse.RxSseClient
newFullyQualifiedTypeName : io.micronaut.rxjava2.http.client.sse.RxSseClient
- org.openrewrite.java.ChangeType :
oldFullyQualifiedTypeName : io.micronaut.websocket.RxWebSocketClient
newFullyQualifiedTypeName : io.micronaut.rxjava2.http.client.websockets.RxWebSocketClient
- org.openrewrite.java.ChangeMethodName :
methodPattern : io.micronaut.web.router accept(io.micronaut.http.MediaType)
newMethodName : doesConsume
- org.openrewrite.java.ChangeMethodName :
methodPattern : io.micronaut.web.router.Route acceptAll()
newMethodName : consumesAll
- org.openrewrite.java.ChangeMethodName :
methodPattern : io.micronaut.web.router.RouteMatch accept(io.micronaut.http.MediaType)
newMethodName : doesConsume
- org.openrewrite.java.ChangeMethodName :
methodPattern : io.micronaut.web.router.RouteMatch explicitAccept(io.micronaut.http.MediaType)
newMethodName : explicitlyConsumes
- org.openrewrite.java.ChangeType :
oldFullyQualifiedTypeName : javax.annotation.Nullable
newFullyQualifiedTypeName : io.micronaut.core.annotation.Nullable
- org.openrewrite.java.ChangeType :
oldFullyQualifiedTypeName : javax.annotation.Nonnull
newFullyQualifiedTypeName : io.micronaut.core.annotation.NonNull
- org.openrewrite.java.ChangeType :
oldFullyQualifiedTypeName : io.micronaut.test.annotation.MicronautTest
newFullyQualifiedTypeName : io.micronaut.test.extensions.junit5.annotation.MicronautTest
See how this recipe works across multiple open-source repositories
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.
Contributors
Patrick , Knut Wannheden , Patrick Way, Sam Snyder , Tim te Beek , Tyler Van Gorder, Jeremy Grelle , Jonathan Schneider , Tracey Yoshima , Jonathan Schnéider , Aaron Gershman , Aaron Gershman