[wtp-dev] Components: Required libraries, projects and classes
There appear to be
some serious limitations with respect to component dependencies
on external jars and classes. Here are a few typical use cases and the
1) If a component uses a library, the jar needs to be copied into the
component library directory by the user ... for instance component/web-inf/lib.
2) If a component uses some classes from a "required project", the classes
need to be copied in the by the user ... for instance
3) And lastly, flexible projects don't work with source folders which
are project wide and are shared / used by the
My guess is that it
will be reasonably straight forward to do the following
1) Allow libraries / jar references to be added to
2) Allow "required projects" to components
3) Allow shared sources in flexible projects and include them in all
component .deployables **
The solution I am
proposing is whenever one of these (libraries, jars or projects) or added to a
component, automatically add it to the project build path. Adding it to the
project build path will use the exact same mechanism as when the user set's it
from the project properties dialog.
So, the work
1) Updating WtpModules model to accommodate the new
2) Some UI to add these (libraries, jars or projects) to components.
Possibly component properties similar to project properties
dependency aware filtering would be nice as well.