helidon
helidon copied to clipboard
4.x: Fix Micronaut integration
Description
Using Micronaut 4.x in Helidon 4.x: https://github.com/helidon-io/helidon/issues/7206
Documentation
N/A
A couple of comments:
- I had to remove
helidon/integrations/micronaut/cdi-processor/src/main/java/module-info.java
because there was one issue with Micronaut modules having same packages. I opened an issue: https://github.com/micronaut-projects/micronaut-core/issues/10299 . Anyway, as we use this module for annotation processing there is no real need to have a module-info. - helidon/integrations/micronaut/cdi/src/test/java/io/helidon/integrations/micronaut/cdi/TestBothBean.java is implementing one intrface with default methods and inherited annotations. I had to override the methods and add again the annotations. It seems a bug in Micronaut.
There is one issue with validation: https://github.com/micronaut-projects/micronaut-core/issues/10370
There are some unrelated tests failing under helidon/webserver/tests/webserver
:
Error: 1,823 [ERROR] Errors:
Error: 1,823 [ERROR] OutputStreamAndContentLengthTest.testOutputStreamChunked:81->lambda$testOutputStreamChunked$0:83 » NegativeArraySize -131060
Error: 1,824 [ERROR] OutputStreamAndContentLengthTest.testOutputStreamOutOfOrder:111->lambda$testOutputStreamOutOfOrder$2:113 » NegativeArraySize -131060
Error: 1,824 [ERROR] OutputStreamAndContentLengthTest.testOutputStreamWithContentLength:96->lambda$testOutputStreamWithContentLength$1:98 » NegativeArraySize -131060
I don't see Micronaut dependencies:
[INFO] --- dependency:3.6.0:tree (default-cli) @ helidon-weserver-tests-webserver ---
[INFO] io.helidon.webserver.tests:helidon-weserver-tests-webserver:jar:4.0.0-SNAPSHOT
[INFO] +- io.helidon.webserver:helidon-webserver:jar:4.0.0-SNAPSHOT:compile
[INFO] | +- io.helidon.http:helidon-http:jar:4.0.0-SNAPSHOT:compile
[INFO] | | +- io.helidon.common:helidon-common:jar:4.0.0-SNAPSHOT:compile
[INFO] | | +- io.helidon.common:helidon-common-configurable:jar:4.0.0-SNAPSHOT:compile
[INFO] | | +- io.helidon.common:helidon-common-buffers:jar:4.0.0-SNAPSHOT:compile
[INFO] | | +- io.helidon.common:helidon-common-mapper:jar:4.0.0-SNAPSHOT:compile
[INFO] | | +- io.helidon.common:helidon-common-media-type:jar:4.0.0-SNAPSHOT:compile
[INFO] | | \- io.helidon.common:helidon-common-uri:jar:4.0.0-SNAPSHOT:compile
[INFO] | | \- io.helidon.common:helidon-common-parameters:jar:4.0.0-SNAPSHOT:compile
[INFO] | +- io.helidon.common:helidon-common-socket:jar:4.0.0-SNAPSHOT:compile
[INFO] | | +- io.helidon.common:helidon-common-config:jar:4.0.0-SNAPSHOT:compile
[INFO] | | \- io.helidon.builder:helidon-builder-api:jar:4.0.0-SNAPSHOT:compile
[INFO] | +- io.helidon.common:helidon-common-context:jar:4.0.0-SNAPSHOT:compile
[INFO] | +- io.helidon.common:helidon-common-key-util:jar:4.0.0-SNAPSHOT:compile
[INFO] | +- io.helidon.common:helidon-common-security:jar:4.0.0-SNAPSHOT:compile
[INFO] | +- io.helidon.common:helidon-common-task:jar:4.0.0-SNAPSHOT:compile
[INFO] | +- io.helidon.common:helidon-common-tls:jar:4.0.0-SNAPSHOT:compile
[INFO] | | \- io.helidon.config:helidon-config:jar:4.0.0-SNAPSHOT:compile
[INFO] | | \- io.helidon.inject:helidon-inject-api:jar:4.0.0-SNAPSHOT:compile
[INFO] | | +- io.helidon.common:helidon-common-types:jar:4.0.0-SNAPSHOT:compile
[INFO] | | +- io.helidon.logging:helidon-logging-common:jar:4.0.0-SNAPSHOT:compile
[INFO] | | \- jakarta.inject:jakarta.inject-api:jar:2.0.1:compile
[INFO] | +- io.helidon.http.media:helidon-http-media:jar:4.0.0-SNAPSHOT:compile
[INFO] | +- io.helidon.http.encoding:helidon-http-encoding:jar:4.0.0-SNAPSHOT:compile
[INFO] | \- io.helidon.common.features:helidon-common-features:jar:4.0.0-SNAPSHOT:compile
[INFO] | \- io.helidon.common.features:helidon-common-features-api:jar:4.0.0-SNAPSHOT:compile
[INFO] +- io.helidon.webserver.testing.junit5:helidon-webserver-testing-junit5:jar:4.0.0-SNAPSHOT:test
[INFO] | +- io.helidon.webclient:helidon-webclient:jar:4.0.0-SNAPSHOT:test
[INFO] | | +- io.helidon.webclient:helidon-webclient-api:jar:4.0.0-SNAPSHOT:test
[INFO] | | \- io.helidon.webclient:helidon-webclient-http1:jar:4.0.0-SNAPSHOT:test
[INFO] | +- io.helidon.common.testing:helidon-common-testing-http-junit5:jar:4.0.0-SNAPSHOT:test
[INFO] | | \- io.helidon.common.testing:helidon-common-testing-junit5:jar:4.0.0-SNAPSHOT:test
[INFO] | \- io.helidon.config:helidon-config-yaml:jar:4.0.0-SNAPSHOT:test
[INFO] | \- org.yaml:snakeyaml:jar:2.0:test
[INFO] +- org.junit.jupiter:junit-jupiter-api:jar:5.9.3:test
[INFO] | +- org.opentest4j:opentest4j:jar:1.2.0:test
[INFO] | +- org.junit.platform:junit-platform-commons:jar:1.9.3:test
[INFO] | \- org.apiguardian:apiguardian-api:jar:1.1.2:test
[INFO] +- org.junit.jupiter:junit-jupiter-params:jar:5.9.3:test
[INFO] \- org.hamcrest:hamcrest-all:jar:1.3:test
@tomas-langer do we still need this change?. I think you said that when we have JPA changes integrated in Helidon we will not require this Micronaut upgrade. I guess we will remove Micronaut integration.
Hi @jbescos, @tomas-langer , @romain-grecourt I would like to upgrade Helidon from 2.x to 4.x and will need to decide whether need to continue using the Micronaut dependency.
Anyone here can confirm will this fix be release in Helidon 4.x ? Please do let us know hence i can plan accordingly the migration.
I am solving conflicts so reviewers can move it forward.
Examples fails as expected. It requires a new PR there
@romain-grecourt @tomas-langer could you take a look to this PR please?