Add Java Platform Module System (JPMS) Support

Abierto
#372 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
30/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
java

Línea de trabajo

Comienza con function-maven-plugin/src/main/java/com/google/cloud/functions/plugin/RunFunction.java, en la configuración de classpath codificada directamente. Rastrea cómo Invoker CLI y los plugins de Maven/Gradle inician las funciones y, después, determina cómo debe llegar la configuración de module-path al runtime de la nube. La tarea requiere compatibilidad coordinada entre la invocación local, las herramientas de build y la ejecución en la nube.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement P2

Add support for running functions on the module path (--module-path) instead of only the classpath (--classpath) to enable full Java Platform Module System (JPMS) features in the Functions Framework.

Currently, the Functions Framework for Java only supports classpath-based execution, which prevents developers from utilizing JPMS features at runtime even when their code is properly modularized with module-info.java files.

Modern Java applications using JPMS face the following issues:

  1. module-info.java files are ignored at runtime (treated as regular classes on classpath)
  2. provides...with service provider declarations don't work, requiring fallback to legacy META-INF/services files
  3. Module encapsulation and strong accessibility rules are not enforced
  4. No module-level dependency management or version conflict resolution
  5. Cannot leverage jlink to create optimized custom runtime images with only required modules, resulting in larger deployment artifacts

This feature request requires changes across three layers:

  1. Local Development (Invoker CLI) - Add --module-path support
  2. Build Tooling (Maven/Gradle plugins) - Add module-path configuration (right now classpath is hardcoded here
  3. Cloud Runtime Infrastructure - Update Google Cloud Functions runtime to support modular execution
Lenguaje dominante
Java
Estrellas
154
Forks
63
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de GoogleCloudPlatform/functions-framework-java

Todos los issues de GoogleCloudPlatform/functions-framework-java

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.