I have been reading a lot of the commentary around the new module infra.... here's my take on it:
I want a module to be something I can work on in isolation just as well as I can work on it with other modules.
For example: Many projects I work on have a "server", "client", and "common" sub-divisions. So, I intuitively and by design would like to work with different configurations:
-common (example: modify implementation)
-common & client (example: development)
-common & server (example: development)
-common & client & server (example: refactoring)
(and many other combinations)
So for me a module represents a few things:
-It's a logical application component
-It's an atomic part of my framework... most likely to be a single released library(1 module = 1 jar)
-It serves to define dependencies/decoupling
-Load into IDE only the codebase I need to load for the task at hand.
-Easily manage a project to depend on a module or a known build of that module(ie: developing agains editable source code vs developing against a versioned build)
Does anyone know what the final feature set of Modules will be like? Will all the things I mention be part of the final Module imlpementation in IDE?