The GitHub Actions job "Validate and test" on 
pekko-grpc.git/refactor/replace-reflection-with-methodhandles has succeeded.
Run started by GitHub user He-Pin (triggered by He-Pin).

Head commit for run:
d0a8d360b794c6ce0b0196d2852a5c6324985641 / 虎鸣 <[email protected]>
refactor: replace codegen reflection with method handles

Motivation:
Avoid reflective invocation in gRPC code generation and plugin bridge code on 
strongly encapsulated JVMs, while keeping generated-code loading compatible 
with Scala 3.

Modification:
Cache MethodHandles for logger calls, generator constructors, module access, 
and generator bridge entry points. Remove the runtime toolbox reflection path 
and use invokeWithArguments() for no-arg MethodHandle results to avoid Scala 3 
polymorphic signature inference issues.

Result:
The codegen, Maven plugin, and sbt plugin paths invoke dynamic APIs through 
MethodHandles instead of direct reflection, with the branch rebased onto 
origin/main.

Tests:
- git diff --check origin/main...HEAD - success
- JDK 17: sbt "codegen / compile" "maven-plugin / compile" "sbt-plugin / 
compile" - success
- JDK 17: sbt "+codegen / compile" "+maven-plugin / compile" "+sbt-plugin / 
compile" - success
- JDK 17: sbt "++2.13.18!" codegen/test "++3.3.8!" codegen/test - success, 2 
tests per version
- JDK 17: sbt "++2.13.*" "sbt-plugin/scripted gen-scala-server/*" - environment 
failure first because protoc-gen-go was missing; after installing protoc-gen-go 
v1.32.0, reran gen-scala-server/06-compatibility-plugins successfully. Other 
gen-scala-server tests in the first run passed.
- JDK 17: sbt "++3.8.4!" "sbt-plugin/scripted scala3/*" "++2.13.*" 
"sbt-plugin/scripted gen-java/*" - interrupted after Scala 3 artifacts 
published/compiled because the user redirected to push.

References:
None - internal refactoring

Report URL: https://github.com/apache/pekko-grpc/actions/runs/28803507507

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to