GlassFish V3 Workspace Structure

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.

Infrastructure

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
...

Web Container

/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

JDBC Container

/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