This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Libraries may want to use other libraries as their building blocks (resources). Implementation of such resource should be willing to contibute the "inserted library" contents of the desired type to content queries, such as documentation roots, or classpath items.
Adjusting milestone for planning
Current libraries framework design uses very simple approach that enables an implementation to realize this requirement. <code>Library</code> itself contains only typed file sets. File set itself are raw URLs without any semantics. These can be easily merged at the library level. There is also an SPI <code>Volume</code> that interprets library file sets as lookups. The volume asks library for content to interpret. It can got the merged fileset. It's true that the volume does not know file set URLs origin, but it AFAIK does not matter (until you will argue with perfomance&caching). I hope I do not miss some important aspect.
At the current world of frameworks I have not found any use case where explicit/hard library dependencies are needed. Descheduling from 4.0 plans. The functionality can be exposed once such use case will be discovered, the design allows it.
I personally don't find the case that a library uses another library as part of its implementation so rare. Defining a library as closure of its dependencies does not seem too user-friendly to me. If a library definition should change, it also requires to change everything that has that library merged in its closure. I am marking this issue for solution in NetBeans for Developers project.
I'm not sure if API is required. Such libraries should be AFAIK _tranparent_ to clients. the framerork implementtaion just need to provide UI and implement the transparent behaviour if user using the UI creates a composite library. <repeating_myself no-new-idea=true> Of cource the question is how to implement the transparent behaviour without understanding resources meaning. As solution I propose to merge resources at FileSet level and then let them interpret by SPI volume provider. </repeating_myself> API => UI
The volume provider should know which resources are defined in the library and which are "merged in"; e.g. for giving the local ones over the "imported" ones. Libraries as are currently being developed do not satisfy original requirements as they seem tied to a small strictly closed set of java-centric use cases. I plan to replace the whole subsystem in NB4DEV, if time permits.
Local vs. imported issue: FileSets are ordered. Merging them, imported get prevailed by local ones (if provider interpret order in such a way). Please state requirement that cannot be satisfied by this simplified approach.
The projects prototype has been canceled. For more details see http://www.netbeans.org/servlets/ReadMsg?msgId=619519&listName=nbdiscuss