Migrate from Micronaut 2.x to 3.x
Recipe ID
org.openrewrite.java.micronaut.Micronaut2to3MigrationArtifactorg.openrewrite.recipe:rewrite-micronautThis recipe will apply changes required for migrating from Micronaut 2 to Micronaut 3.
Composite recipeApache 2.0
Add to your build
Get a download tokenSign in with GitHub or Google, and your token replaces YOUR_DOWNLOAD_TOKEN below. Free for open source recipes like this one.
~/.gradle/gradle.properties
codeGenomeUsername=you@example.com
codeGenomeToken=YOUR_DOWNLOAD_TOKEN
build.gradle.kts
plugins {
id("org.openrewrite.rewrite") version("latest.release")
}
rewrite {
activeRecipe("org.openrewrite.java.micronaut.Micronaut2to3Migration")
}
repositories {
mavenCentral()
maven {
url = uri("https://artifacts.codegenomeproject.org/maven")
credentials {
username = providers.gradleProperty("codeGenomeUsername").get()
password = providers.gradleProperty("codeGenomeToken").get()
}
}
}
dependencies {
rewrite("org.openrewrite.recipe:rewrite-micronaut:2.38.1")
}
Then run
./gradlew rewriteRunUsage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe org.openrewrite.java.micronaut.Micronaut2to3MigrationIf the recipe isn’t available locally, install it with:
mod config recipes jar install org.openrewrite.recipe:rewrite-micronaut:RELEASEDefinition
This recipe runs the following recipes in order.
- Migrate to Jakarta EE 9
org.openrewrite.java.migrate.jakarta.JavaxMigrationToJakarta - De-capitalize
BeanIntrospectiongetProperty(..)andgetRequiredProperty(..)name argumentsorg.openrewrite.java.micronaut.BeanPropertyCapitalizationStrategy - Copy non-inherited annotations from super class
org.openrewrite.java.micronaut.CopyNonInheritedAnnotations - Change factory method return types to reflect their resolved return type
org.openrewrite.java.micronaut.SubclassesReturnedFromFactoriesNotInjectable - Convert
OncePerRequestServerFilterextensions toHttpServerFilterorg.openrewrite.java.micronaut.OncePerRequestHttpServerFilterToHttpServerFilter Providerimplementation beans to Micronaut@Factoryorg.openrewrite.java.micronaut.ProviderImplementationsToMicronautFactories- Add
@Introspectedto classes requiring a map representationorg.openrewrite.java.micronaut.TypeRequiresIntrospection - Fix deprecated no-arg
ExceptionHandlerconstructorsorg.openrewrite.java.micronaut.FixDeprecatedExceptionHandlerConstructors - Upgrade Maven parent project version to
io.micronaut:micronaut-parent:3.xorg.openrewrite.maven.UpgradeParentVersion - Upgrade Maven dependency version
io.micronaut:micronaut-bom:3.xorg.openrewrite.maven.UpgradeDependencyVersion - Upgrade gradle.properties Micronaut version
3.xorg.openrewrite.java.micronaut.UpgradeMicronautGradlePropertiesVersion - Upgrade
micronaut.versionMaven property3.xorg.openrewrite.java.micronaut.UpgradeMicronautMavenPropertyVersion - Rename package name
io.micronaut.configuration.cassandratoio.micronaut.cassandraorg.openrewrite.java.ChangePackage - Rename package name
io.micronaut.configuration.security.ldaptoio.micronaut.security.ldaporg.openrewrite.java.ChangePackage - Change method name
io.micronaut.context.ApplicationContext build(..)tobuilderorg.openrewrite.java.ChangeMethodName - Change type
io.micronaut.core.async.SupplierUtiltoio.micronaut.core.util.SupplierUtilorg.openrewrite.java.ChangeType - Change method name
io.micronaut.http.netty.stream.DelegateHttpRequest getMethod()tomethodorg.openrewrite.java.ChangeMethodName - Change method name
io.micronaut.http.netty.stream.DelegateHttpResponse getStatus()tostatusorg.openrewrite.java.ChangeMethodName - Change method name
io.micronaut.http.server.netty.DelegateHttpResponse getStatus()tostatusorg.openrewrite.java.ChangeMethodName - Change method name
io.micronaut.http.netty.stream.DelegateHttpRequest getUri()touriorg.openrewrite.java.ChangeMethodName - Change method name
io.micronaut.http.netty.stream.DelegateHttpMessage getDecoderResult()todecoderResultorg.openrewrite.java.ChangeMethodName - Change method name
io.micronaut.http.netty.stream.DelegateHttpMessage getProtocolVersion()toprotocolVersionorg.openrewrite.java.ChangeMethodName - Change type
RxJavaBeanDefinitionDataCollectortoDefaultBeanDefinitionDataCollectororg.openrewrite.java.ChangeType - Change type
RxJavaRouteDataCollectortoDefaultRouteDataCollectororg.openrewrite.java.ChangeType - Change type
RxJavaHealthAggregatortoDefaultHealthAggregatororg.openrewrite.java.ChangeType - Change type
BodytoMessageBodyorg.openrewrite.java.ChangeType - Change type
HeaderstoMessageHeadersorg.openrewrite.java.ChangeType - Change method name
io.micronaut.rss.itunespodcast.ItunesPodcast isExplict()toisExplicitorg.openrewrite.java.ChangeMethodName - Change method name
io.micronaut.rss.itunespodcast.ItunesPodcast setExplict(boolean)tosetExplicitorg.openrewrite.java.ChangeMethodName - Change method name
io.micronaut.rss.itunespodcast.ItunesPodcast explict(boolean)tosetExplicitorg.openrewrite.java.ChangeMethodName - Change method name
io.micronaut.rss.itunespodcast.ItunesPodcastEpisode isExplict()toisExplicitorg.openrewrite.java.ChangeMethodName - Change type
io.micronaut.runtime.server.EmbeddedServerInstancetoio.micronaut.discovery.EmbeddedServerInstanceorg.openrewrite.java.ChangeType - Change type
io.micronaut.http.client.RxHttpClienttoio.micronaut.rxjava2.http.client.RxHttpClientorg.openrewrite.java.ChangeType - Change type
io.micronaut.http.client.RxProxyHttpClienttoio.micronaut.rxjava2.http.client.proxy.RxProxyHttpClientorg.openrewrite.java.ChangeType - Change type
io.micronaut.http.client.RxStreamingHttpClienttoio.micronaut.rxjava2.http.client.RxStreamingHttpClientorg.openrewrite.java.ChangeType - Change type
io.micronaut.http.client.sse.RxSseClienttoio.micronaut.rxjava2.http.client.sse.RxSseClientorg.openrewrite.java.ChangeType - Change type
io.micronaut.websocket.RxWebSocketClienttoio.micronaut.rxjava2.http.client.websockets.RxWebSocketClientorg.openrewrite.java.ChangeType - Change method name
io.micronaut.web.router accept(io.micronaut.http.MediaType)todoesConsumeorg.openrewrite.java.ChangeMethodName - Change method name
io.micronaut.web.router.Route acceptAll()toconsumesAllorg.openrewrite.java.ChangeMethodName - Change method name
io.micronaut.web.router.RouteMatch accept(io.micronaut.http.MediaType)todoesConsumeorg.openrewrite.java.ChangeMethodName - Change method name
io.micronaut.web.router.RouteMatch explicitAccept(io.micronaut.http.MediaType)toexplicitlyConsumesorg.openrewrite.java.ChangeMethodName - Change type
javax.annotation.Nullabletoio.micronaut.core.annotation.Nullableorg.openrewrite.java.ChangeType - Change type
NonnulltoNonNullorg.openrewrite.java.ChangeType - Change type
io.micronaut.test.annotation.MicronautTesttoio.micronaut.test.extensions.junit5.annotation.MicronautTestorg.openrewrite.java.ChangeType
Data tables
Structured output this recipe can produce.
- Maven metadata failuresAttempts to resolve maven metadata that failed.
org.openrewrite.maven.table.MavenMetadataFailures - Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats