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]
