Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Verify that modules work properly with Micronaut 3.0 #5607

Closed
ilopmar opened this issue Jun 16, 2021 · 2 comments
Closed

Verify that modules work properly with Micronaut 3.0 #5607

ilopmar opened this issue Jun 16, 2021 · 2 comments
Labels
priority: high High priority
Milestone

Comments

@ilopmar
Copy link
Contributor

ilopmar commented Jun 16, 2021

We need to upgrade all modules to Micronaut 3.0 and release new major versions of them.

To do the upgrade:

  • Upgrade Micronaut version in the module to Micronaut 3.0.0-M2 (or any release after it)
  • Use Micronaut nullability annotations
  • Switch to Jakarta annotations.
  • Change javax.inject.Provider to io.micronaut.context.BeanProvider
  • If the module has an RxJava dependency add a dependency on implementation 'io.projectreactor:reactor-core' and switch to it (look for RxJava2 - Reactor equivalences in Migration from RxJava2 to Reactor #5583). Public interfaces should not expose reactor types but Publisher.
  • Upgrade to Gradle 7
  • Upgrade to the latest version on the build plugins (currently 4.0.0) and docs (2.0.0.RC1)
  • Review the annotations in this PR Allow controlling annotation inheritance with @Inherited #5643 and modify the module accordingly
  • Review @Introspected classes. If the annotation is there for GraalVM, then replace it with @ReflectiveAccess. If not, just add @ReflectiveAccess/@TypeHint.
  • Release a new major Milestone version of the module that targets Micronaut 3.0.x branch in core.
  • When Micronaut 3.0 is released we need to upgrade the module with 3.0.0 (instead of the M or RC version) and release a new patch version targeting next Micronaut 3 patch release (theoretically 3.0.1)

Legend:

Symbol Status
Upgraded to Micronaut 3
✳️ Upgrade to Micronaut 3 in progress, waiting on some dependency
Doesn't work with Micronaut 3
Hasn't been tested with Micronaut 3
☑️ Not Applicable

The upgrade PRs are mostly to see the changes required for the upgrade, so that when they want to move ahead, don't need to start from scratch. PRs that are failing are marked as draft to prevent merges.

Micronaut version in the following tables is the current Micronaut version used in master branch

Data Access

Module Micronaut version Status Upgrade PR Issues Additional comments
Data 3.0.0-M5 3.0.0-RC1
MongoDB 3.0.0-M4 4.0.0-M2
Neo4j Configuration 3.0.0-M4 5.0.0-RC1
Redis 3.0.0-M4 5.0.0-M1
SQL / JDBC 2.5.8 micronaut-projects/micronaut-sql#469 4.0.0-RC4
Cassandra 3.0.0-M4
R2DBC 2.5.9 micronaut-projects/micronaut-r2dbc#139 2.0.0-RC2

Database Migration

Module Micronaut version Status Upgrade PR Issues Additional comments
Flyway 2.5.9 Released 4.0.0
Liquibase 2.5.9 Released 4.0.0

Analytics

Module Micronaut version Status Upgrade PR Issues Additional comments
ElasticSearch 3.0.0-M4 3.0.0-M1
JMX 3.0.0-M2 3.0.0-RC2
Micrometer 3.0.0-M4 4.0.0-RC2

Views

Module Micronaut version Status Upgrade PR Issues Additional comments
RSS Configuration 3.0.0-M4 3.0.0-M1
Views 3.0.0-M4 ✳️ ❗️#251

Languages

Module Micronaut version Status Upgrade PR Issues Additional comments
Groovy 3.0.0-RC1 3.0.0
Kotlin 3.0.0-M4 https://youtrack.jetbrains.com/issue/KT-47444 3.0.0-RC1

Reactive

Module Micronaut version Status Upgrade PR Issues Additional comments
Reactor 3.0.0-M4 2.0.0-M1
RxJava 2 3.0.0-M4 New module targeting Micronaut 3.0 for users that want to keep using RxJava2 with Micronaut 3.x. 1.0.0-M1
RxJava 3 3.0.0-M4 2.0.0-M1

Misc

Module Micronaut version Status Upgrade PR Issues Additional comments
Cache 3.0.0-M3 3.0.0-RC2
Hibernate Validator 2.4.4
Picocli 3.0.0-M4 4.0.0-RC1
Security 3.0.0-M4 3.0.0-M2
Test 3.0.0-M4 3.0.0-RC2
ACME 2.5.8 3.0.0-RC1

Messaging

Module Micronaut version Status Upgrade PR Issues Additional comments
Kafka 3.0.0-M4 4.0.0-RC2
RabbitMQ 3.0.0-M4 3.0.0-RC2
NATS 3.0.0-M4 3.0.0-M2
MQTT 3.0.0-M4 2.0.0-RC1
JMS 3.0.0-M4 2.0.0-M1

Cloud

Module Micronaut version Status Upgrade PR Issues Additional comments
AWS 3.0.0-M4 ✳️ ❗️Failing Test #1138)
GCP 3.0.0-M4 4.0.0-RC1
Azure 3.0.0-M4 3.0.0-M1
Oracle Cloud 3.0.0-M4 2.0.0-RC1
Discovery Client 3.0.0-M4 3.0.0-M2
Kubernetes 3.0.0-M5

API

Module Micronaut version Status Upgrade PR Issues Additional comments
Servlet 3.0.0-M4 3.0.0-RC1
GRPC 2.5.7 3.0.0-RC2
GraphQL 3.0.0-M4 3.0.0-M1
JAX-RS 3.0.0-M4 3.0.0-M1
Jackson XML 3.0.0-M4 3.0.0-M1
Open API 2.5.9 3.0.0
Spring 3.0.0-M4 4.0.0-RC2
Multitenancy 2.5.8 4.0.0-M1
Problem JSON 3.0.0-M4 2.0.0-M2

Community & WIP

Module Micronaut version Status Upgrade PR Issues Additional comments
Ignite 2.0.1
Pulsar 2.4.4
Camel 2.0.2
Coherence 2.5.0
Couchbase 2.0.2
@ilopmar ilopmar added this to the 3.0.0 milestone Jun 16, 2021
@ilopmar ilopmar added the priority: high High priority label Jun 16, 2021
This was referenced Jun 17, 2021
This was referenced Jun 17, 2021
@jameskleeh jameskleeh pinned this issue Jul 9, 2021
@sdelamo sdelamo unpinned this issue Jul 14, 2021
@sdelamo sdelamo pinned this issue Jul 14, 2021
@ilopmar
Copy link
Contributor Author

ilopmar commented Aug 17, 2021

@jameskleeh jameskleeh modified the milestones: 3.0.0, 3.0.1 Aug 19, 2021
@sapanparikh18
Copy link
Contributor

@ilopmar micronaut-coherence seems to be using micronautVersion = '3.0.1' already along with
Gradle 7.1, and build plugin 4.1.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: high High priority
Projects
None yet
Development

No branches or pull requests

3 participants