Add Java Platform Module System (JPMS) Support
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- java
- Ambito
- backend, build-system, cli, cloud
Direzione di ricerca
Inizia da function-maven-plugin/src/main/java/com/google/cloud/functions/plugin/RunFunction.java, in corrispondenza della configurazione di classpath hardcoded. Traccia il modo in cui Invoker CLI e i plugin Maven/Gradle avviano le funzioni, quindi determina come la configurazione di module-path debba raggiungere il runtime cloud. Il lavoro richiede il supporto coordinato dell’invocazione locale, degli strumenti di build e dell’esecuzione cloud.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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:
- module-info.java files are ignored at runtime (treated as regular classes on classpath)
- provides...with service provider declarations don't work, requiring fallback to legacy META-INF/services files
- Module encapsulation and strong accessibility rules are not enforced
- No module-level dependency management or version conflict resolution
- 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:
- Local Development (Invoker CLI) - Add --module-path support
- Build Tooling (Maven/Gradle plugins) - Add module-path configuration (right now classpath is hardcoded here
- Cloud Runtime Infrastructure - Update Google Cloud Functions runtime to support modular execution
- Lingua principale
- Java
- Stelle
- 154
- Fork
- 63
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di GoogleCloudPlatform/functions-framework-java
-
enhancement P2
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
-
enhancement
GoogleCloudPlatform/functions-framework-java#375 · 1 commento · 1 reazione · 1 assegnatario ·
-
enhancement P3
GoogleCloudPlatform/functions-framework-java#261 · 1 assegnatario ·
-
How to run `google/fhir-data-pipes/pipelines/batch` uber JAR in Google Cloud Functions locally? ApertaP3 question
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
GoogleCloudPlatform/functions-framework-java#254 · 1 commento ·
-
Consider supporting JEP 445 Apertaenhancement P3
GoogleCloudPlatform/functions-framework-java#209 · 1 assegnatario ·
Tutte le issue di GoogleCloudPlatform/functions-framework-java
Issue simili
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
apache/cloudstack#14222 ·
-
[BUG]茶杯方块在取茶时会引发崩溃 Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Cannot differ own consent and managed consents in My Consents view and detailed consent view. Aperta1.0.0-alpha2 Type/Improvement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
wso2/dpdp-accelerator#272 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
apache/rocketmq-dashboard#4860 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
infinispan/infinispan#18150 ·