-
Notifications
You must be signed in to change notification settings - Fork 65
Open
Labels
Description
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