Community
Participate
Working Groups
Created attachment 116299 [details] Screen shot Build: I20081027-1800 Drilling down into the "Installed Software" dialog, I see many entries repeated. Because we are following dependencies rather than inclusions, there are bound to be duplicate dependencies and possibly even circularities. Notice how big the list is here with only a small handful of features. Now imagine a product with hundreds of features, and I don't think the list will be very usable. One reasonable algorithm is to expand the dependency tree breadth first, using a set to avoid adding duplicate entries. Thus "Eclipse Platform" wouldn't appear below the CVS/JDT/PDE features, because it is already a child of their parent (the SDK feature).
I discussed this issue with Pascal when I first released this support, including a breadth-first approach, and we decided we would leave it as is for now so that we could actually see these dependencies as defined. One problem with breadth-first is you'll only see the dependency in the first place it is found, and it may not be the place you expect to see it, and if you uninstalled the thing that referred to it and expected it to go away, it won't. I also considered limiting the depth of the tree, although this is also somewhat arbitrary. In general a tree is a poor way to show a graph, but I wanted to see how it played, and people tend to expect a tree. However I think we will have to do something for 3.5.
This list will get smaller if decide to ignore "uncategorized" groups when drilling down in the install wizard (bug #227675). If we do this, then not all groups would be shown here. However we would have to mark the IU's with some kind of profile property to remember if they were visible at the time of install.
Created attachment 118417 [details] improvement - screen shot I've got some code (not released yet) that largely solves the problem as shown in this screen shot. It eliminates those required IU's that are siblings of the parent IU. So it's a "one-level breadth first" elimination of duplicates. This screen shot shows that this largely solves the problem, and that those duplicates that remain (such as Equinox p2 Provisioning) are truly showing us some dependency references that aren't needed.
marking M4. This same elimination of duplicates was needed for scenarios like this: User chooses to install Mylyn Focused UI Mylyn Task List Mylyn Focused UI requires Mylyn task list, and we don't want to drill down into Mylyn Focused UI in the wizard and see the task list. We only want to see the groups that are being installed that we didn't choose.
Fixed in HEAD > 20081125 as described in previous comment.
verified on WinXP, Build id: I20081209-0100 in M4 candidate, the nesting is as shown in the second screen snap.