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

build: use Micronaut Framework 4.0.0-SNAPSHOT #1499

Merged
merged 39 commits into from
Feb 6, 2023
Merged

build: use Micronaut Framework 4.0.0-SNAPSHOT #1499

merged 39 commits into from
Feb 6, 2023

Conversation

sdelamo
Copy link
Contributor

@sdelamo sdelamo commented Nov 1, 2022

No description provided.

wetted and others added 4 commits September 1, 2022 10:57
* build: add internal module to avoid repetition

* use buildSrc scripts to expose snapshot repos to tests

Co-authored-by: Dean Wette <wetted@objectcomputing.com>
…-groovy-4.0, github workflows to Java 17, fixes for core breaking changes (#1497)
@sdelamo sdelamo force-pushed the 4.0.x branch 4 times, most recently from 3759b96 to 1610643 Compare November 1, 2022 17:13
@sdelamo
Copy link
Contributor Author

sdelamo commented Nov 2, 2022

@dstepanov maybe you can help me out.

We have to modify the code to use the new API introduced here micronaut-projects/micronaut-core#8217

./gradlew :function-aws-api-proxy:compileJava  
Type-safe project accessors is an incubating feature.
Project accessors enabled, but root project name not explicitly set for 'buildSrc'. Checking out the project in different folders will impact the generated code and implicitly the buildscript classpath, breaking caching.

> Task :function-aws-api-proxy:compileJava
warning: unknown enum constant When.MAYBE
  reason: class file for javax.annotation.meta.When not found
Note: Creating bean classes for 7 type elements
warning: unknown enum constant When.MAYBE
  reason: class file for javax.annotation.meta.When not found
warning: unknown enum constant When.MAYBE
  reason: class file for javax.annotation.meta.When not found
warning: unknown enum constant When.MAYBE
  reason: class file for javax.annotation.meta.When not found
/Users/sdelamo/github/micronaut-projects/micronaut-aws/function-aws-api-proxy/src/main/java/io/micronaut/function/aws/proxy/MicronautAwsProxyResponse.java:228: error: MicronautAwsProxyResponse.AwsHeaders is not abstract and does not override abstract method setConversionService(ConversionService) in ConversionServiceAware
    private class AwsHeaders implements MutableHttpHeaders {
            ^
/Users/sdelamo/github/micronaut-projects/micronaut-aws/function-aws-api-proxy/src/main/java/io/micronaut/function/aws/proxy/MicronautLambdaContainerHandler.java:360: error: no suitable method found for executeRoute(MicronautAwsProxyRequest<CAP#1>,boolean,Flux<RouteMatch<?>>)
            routeResponse = routeExecutor.executeRoute(
                                         ^
    method RouteExecutor.executeRoute(RequestBodyReader,HttpRequest<?>,boolean,StaticResourceResponseFinder) is not applicable
      (actual and formal argument lists differ in length)
    method RouteExecutor.executeRoute(AtomicReference<HttpRequest<?>>,boolean,boolean,ExecutionFlow<RouteMatch<?>>) is not applicable
      (actual and formal argument lists differ in length)
  where CAP#1 is a fresh type-variable:
    CAP#1 extends Object from capture of ?
/Users/sdelamo/github/micronaut-projects/micronaut-aws/function-aws-api-proxy/src/main/java/io/micronaut/function/aws/proxy/MicronautLambdaContainerHandler.java:366: error: incompatible types: ExecutionFlow<MutableHttpResponse<?>> cannot be converted to Supplier<ExecutionFlow<MutableHttpResponse<?>>>
            routeResponse = Flux.from(routeE`xecutor.filterPublisher(new AtomicReference<>(request), routeExecutor.onError(e, request)));
                                                                                                                         ^
/Users/sdelamo/github/micronaut-projects/micronaut-aws/function-aws-api-proxy/src/main/java/io/micronaut/function/aws/proxy/MicronautLambdaContainerHandler.java:710: error: incompatible types: Publisher<MutableHttpResponse<?>> cannot be converted to Supplier<ExecutionFlow<MutableHttpResponse<?>>>
        Flux.from(routeExecutor.filterPublisher(requestReference, responsePublisher))

Moreover, AwsHeaders seems to need to implement ConversionServiceAware.java

Also, this fails:

./gradlew :function-client-aws:compileTestGroovy
Type-safe project accessors is an incubating feature.
Project accessors enabled, but root project name not explicitly set for 'buildSrc'. Checking out the project in different folders will impact the generated code and implicitly the buildscript classpath, breaking caching.

> Task :function-client-aws:compileTestGroovy
Note: Creating bean classes for 4 type elements
warning: Implicitly compiled files were not subject to annotation processing.
  Use -implicit to specify a policy for implicit compilation.
1 warning

> Task :function-client-aws:compileTestGroovy FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':function-client-aws:compileTestGroovy'.
> io/micronaut/ast/groovy/utils/AstAnnotationUtils

@dstepanov It seems you removed AstAnnotationUtils here: micronaut-projects/micronaut-core@752a221#diff-12d26803929b8b3d13e678348c0a42048673cc40649cc7bdda4c41b88e70e5aa

yawkat and others added 9 commits December 9, 2022 13:00
Untested, can't get the snapshot to run locally. Most of the code that I removed seems to be identical with RouteExecutor (or, now, RequestLifecycle), however I may have missed some differences.
This test relied on method order before: When no version was supplied, it would pick the first available route. The use of RequestLifecycle changes this to an error (ambiguous route), which is the correct behavior. I've patched the test so that the route choice is unambiguous.
@github-actions
Copy link

❌ Java CI failed: https://ge.micronaut.io/s/rwh5i3pbx7zqa

@github-actions
Copy link

❌ GraalVM CE CI 17 latest failed: https://ge.micronaut.io/s/i42pkw65h7oyu

@github-actions
Copy link

❌ Java CI failed: https://ge.micronaut.io/s/mrflyzhb642yc

@timyates
Copy link
Contributor

Investigating the failure with Cloudwatch logging

@timyates
Copy link
Contributor

@sdelamo Ready for review 👍

@timyates timyates linked an issue Jan 31, 2023 that may be closed by this pull request
settings.gradle.kts Outdated Show resolved Hide resolved
settings.gradle.kts Outdated Show resolved Hide resolved
@sdelamo sdelamo marked this pull request as ready for review January 31, 2023 17:11
@github-actions
Copy link

❌ GraalVM CE CI 17 latest failed: https://ge.micronaut.io/s/ryvgjwngdydnk

@github-actions
Copy link

❌ Java CI failed: https://ge.micronaut.io/s/paiwplhl7gbi4

@timyates
Copy link
Contributor

Fixed the TCK build script, we seem to have a couple of TCK failures ion the ErrorHandlerTest, I will investigate

@github-actions
Copy link

❌ GraalVM CE CI 19 dev failed: https://ge.micronaut.io/s/cxoe7sdx4r6bq

@github-actions
Copy link

❌ Java CI failed: https://ge.micronaut.io/s/pmjagcdhiepo4

aws-distributed-configuration/build.gradle.kts Outdated Show resolved Hide resolved
@sonarcloud
Copy link

sonarcloud bot commented Feb 3, 2023

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 13 Code Smells

67.8% 67.8% Coverage
0.0% 0.0% Duplication

@timyates
Copy link
Contributor

timyates commented Feb 3, 2023

@sdelamo 👍

@sdelamo sdelamo merged commit b1b479b into master Feb 6, 2023
@sdelamo sdelamo deleted the 4.0.x branch February 6, 2023 13:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Done
Status: Done
Development

Successfully merging this pull request may close these issues.

Merge master against 4.0.x and makes sure it passes
7 participants