Skip to content

Groovy to Core Milestone #686

@sdelamo

Description

@sdelamo

Issue description

Do the necessary changes to update the project for Micronaut 5.

Update Micronaut Core version

You can find the micronaut core version in gradle/libs.versions.toml. It uses the key micronaut.

You can set micronaut = "5.0.0-M2"

You can find an example commit here:

micronaut-projects/micronaut-rxjava3@bb451ef

Update Micronaut Serialization version

If there is a key for Micronaut serialization in gradle/libs.versions.toml it will be micronaut-serde. Set it to

micronaut-serde = "3.0.0-M1"

If there was no occurrence of micronaut-serde in gradle/libs.versions.toml don’t add it.

Update Micronaut Reactor version

If there is a key for Micronaut Reactor in gradle/libs.versions.toml it will be micronaut-reactor. Set it to

micronaut-reactor = "4.0.0-M1"

If there was no occurrence of micronaut-reactor in gradle/libs.versions.toml don’t add it.

Update Micronaut Validation version

If there is a key for Micronaut Validation in gradle/libs.versions.toml it will be micronaut-validation. Set it to

micronaut-validation = "5.0.0-M1"

If there was no occurrence of micronaut-reactor in gradle/libs.versions.toml don’t add it.

Remove Micronaut docs version from gradle/libs.versions.toml

Remove micronaut-docs version from gradle/libs.versions.toml

It is currently provided by Micronaut Gradle Build Plugins and projects do not need to define it

Example commit:
micronaut-projects/micronaut-rxjava3@83f977f

Remove Spock version from gradle/libs.versions.toml

Remove spock version from gradle/libs.versions.toml

It is currently provided by Micronaut Gradle Build Plugins and projects do not need to define it

Example commit:
micronaut-projects/micronaut-rxjava3@41f68b0

Remove Apache Groovy version from gradle/libs.versions.toml

Remove groovy version from gradle/libs.versions.toml

It is currently provided by Micronaut Gradle Build Plugins and projects do not need to define it

Example commit:
micronaut-projects/micronaut-rxjava3@0c8414d

Remove Micronaut Test version from gradle/libs.versions.toml

Remove micronaut-test version from gradle/libs.versions.toml

It is currently provided by Micronaut Gradle Build Plugins and projects do not need to define it

Example commit:
micronaut-projects/micronaut-rxjava3@c45186f

JSpecify

z```kotlin
implementation("org.jspecify:jspecify")


For Maven applications, you can define the JSpecify by adding the following to the `dependencies` block in the `pom.xml`:

```xml
<dependency>
    <groupId>org.jspecify</groupId>
    <artifactId>jspecify</artifactId>
</dependency>

Replace usages of io.micronaut.core.annotation.Nullable with org.jspecify.annotations.Nullable

Replace usages of io.micronaut.core.annotation.NonNull with org.jspecify.annotations.NonNull

When you find a Micronaut nullability annotation in a fully qualified type, the syntax is a bit different from JSpecify.

For example, this code is valid with Micronaut nullability annotations:

public ReadBuffer adapt(@NonNull io.micronaut.core.io.buffer.ByteBuffer<?> buffer) {

With the JSpecify nullability annotation, you need to change this code to:

public ReadBuffer adapt(io.micronaut.core.io.buffer.@NonNull ByteBuffer<?> buffer) {

For inner classes, Micronaut nullability annotations, you could do:

public FileChangedEvent(@NonNull Path path, @NonNull WatchEvent.Kind eventType) {

With JSpecify, you will need to change the code to:

public FileChangedEvent(@NonNull Path path, WatchEvent.@NonNull Kind eventType) {

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions