Modules in V3 fall under 2 major categories which are Container and Infrastructure. Example containers are usually verticals like Web, Ejb, Connector, etc. Infrastructure horizontally spreads across all core/container modules by providing common infrastructure and examples are Logging, Admin(config, runtime, ...), deployment, security, etc.
Based on the above, following workspace structure is proposed.
The infrastructure modules provide common infrastructure to all container modules like web, jdbc, ejb, connector. The container modules will declare dependency on the infrastructure module(s) appropriately.
/v3 /v3/core /v3/core/src/main/java/org/glassfish/log /v3/core/src/main/java/org/glassfish/security /v3/core/src/main/java/org/glassfish/deployment /v3/admin /v3/admin/src/main/java/org/glassfish/admin /v3/admin/src/main/java/org/glassfish/admin/amx /v3/admin/src/main/java/org/glassfish/admin/config /v3/admin/src/main/java/org/glassfish/admin/admin-core /v3/admin/src/main/java/org/glassfish/admin/cli-framework /v3/admin/src/main/java/org/glassfish/admin/cli /v3/admin/src/main/java/org/glassfish/admin/runtime /v3/admin/src/main/java/org/glassfish/admin/monitor ...
/v3 /v3/web /v3/web/<core modules> /v3/web/admin /v3/web/admin/src/main/java/org/glassfish/web/config /v3/web/admin/src/main/java/org/glassfish/web/admin/cli /v3/web/admin/src/main/java/org/glassfish/web/admin/amx /v3/web/admin/src/main/java/org/glassfish/web/admin/monitor /v3/web/admin/src/main/java/org/glassfish/web/admin/common
/v3 /v3/jdbc /v3/jdbc/<core modules> /v3/jdbc/admin /v3/jdbc/admin/src/main/java/org/glassfish/jdbc/config /v3/jdbc/admin/src/main/java/org/glassfish/jdbc/admin/cli /v3/jdbc/admin/src/main/java/org/glassfish/jdbc/admin/amx /v3/jdbc/admin/src/main/java/org/glassfish/jdbc/admin/monitor /v3/jdbc/admin/src/main/java/org/glassfish/jdbc/admin/common