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.
[release50 FCS, JDK 1.5.0_06] Adding Library dependency on modules Ant and Project UI API doesn't add specification number to project.xml for nb.org projects (I mean projects under nb.org CVS). When adding the same dependencies to nb modules that are not part of nb.org CVS Specification number is correct - 3.24.1.1 for Ant and 1.13.1.5 for Project UI API. I was using Default platform for nb modules (those not under nb.org CVS). It looks like it's happening only for modules with four numbers in Specification number.
True. ModuleEntry.getSpecificationVersion() is null for source modules which use spec.version.base. ModuleList.scanPossibleProject should check for that.
Note: patch reverts part of issue #72427.
Would appreciate code review and QA verification that there no associated regressions before merging. Checking in src/org/netbeans/modules/apisupport/project/universe/AbstractEntryWithSources.java; /shared/data/ccvs/repository/apisupport/project/src/org/netbeans/modules/apisupport/project/universe/AbstractEntryWithSources.java,v <-- AbstractEntryWithSources.java new revision: 1.4; previous revision: 1.3 done Checking in src/org/netbeans/modules/apisupport/project/universe/NetBeansOrgEntry.java; /shared/data/ccvs/repository/apisupport/project/src/org/netbeans/modules/apisupport/project/universe/NetBeansOrgEntry.java,v <-- NetBeansOrgEntry.java new revision: 1.7; previous revision: 1.6 done Checking in src/org/netbeans/modules/apisupport/project/universe/ExternalEntry.java; /shared/data/ccvs/repository/apisupport/project/src/org/netbeans/modules/apisupport/project/universe/ExternalEntry.java,v <-- ExternalEntry.java new revision: 1.6; previous revision: 1.5 done Checking in src/org/netbeans/modules/apisupport/project/universe/ModuleList.java; /shared/data/ccvs/repository/apisupport/project/src/org/netbeans/modules/apisupport/project/universe/ModuleList.java,v <-- ModuleList.java new revision: 1.27; previous revision: 1.26 done Checking in src/org/netbeans/modules/apisupport/project/NbModuleProject.java; /shared/data/ccvs/repository/apisupport/project/src/org/netbeans/modules/apisupport/project/NbModuleProject.java,v <-- NbModuleProject.java new revision: 1.137; previous revision: 1.136 done Checking in test/unit/src/org/netbeans/modules/apisupport/project/universe/ModuleListTest.java; /shared/data/ccvs/repository/apisupport/project/test/unit/src/org/netbeans/modules/apisupport/project/universe/ModuleListTest.java,v <-- ModuleListTest.java new revision: 1.16; previous revision: 1.15 done Checking in test/unit/src/org/netbeans/modules/apisupport/project/ui/customizer/ModuleDependencyTest.java; /shared/data/ccvs/repository/apisupport/project/test/unit/src/org/netbeans/modules/apisupport/project/ui/customizer/ModuleDependencyTest.java,v <-- ModuleDependencyTest.java new revision: 1.5; previous revision: 1.4 done Checking in src/org/netbeans/modules/apisupport/project/ui/customizer/ModuleDependency.java; /shared/data/ccvs/repository/apisupport/project/src/org/netbeans/modules/apisupport/project/ui/customizer/ModuleDependency.java,v <-- ModuleDependency.java new revision: 1.21; previous revision: 1.20 done
1) This caused a regression that when you edit a dependency (no matter from where) children in Libraries node are not refreshed. Since Children.setKeys(Collection) merges currents with just set keys i.e. removes non-present, adds new and *keep current*. So it will keep old ones - since there is no difference between two different ModuleDependencies with the same CNB. But this may be probably solved by better implementation of Libraries children. (probably should be simple fix somewhere in LibrariesNode). 2) ModuleDependency.CNB_COMPARATOR is now redundant (is used in ProjectXMLManager for sorting dependencies in project.xmlr). Now just used natural ordering may be used. Regarding of reverting 72427, I though that we should use CNB.eqauls(CNB) for ModuleEntries in the same universe. For dependencies "ant r.v. 3" and "ant r.v. 2" should not be count as the same dependencies. This seemed clear to me. When somebody wants to use different approach then there are ModuleDependency.[CNB|LOCALIZED_NAME|...]_COMPARATORS (though does not work for non-sorted sets). This was the reason. But.... "...AFAIK there will never be two MD's with the same code name base in one set at once. And supporting lazy evaluation of the specification version..." is true. And anybody may provide something like DETAILED_COMPARATOR. I'm reopening this one as the fix needs to be polished to not cause that regression.
I redid the patch to ModuleDependency. Hopefully should be better now. Comparator can force resolution of spec version, but normally this won't happen; specifically it does not happen inside the Add Module Dependency dialog, where it was a problem without any patch. Again, review appreciated. Checking in test/unit/src/org/netbeans/modules/apisupport/project/ui/customizer/ModuleDependencyTest.java; /shared/data/ccvs/repository/apisupport/project/test/unit/src/org/netbeans/modules/apisupport/project/ui/customizer/ModuleDependencyTest.java,v <-- ModuleDependencyTest.java new revision: 1.6; previous revision: 1.5 done Checking in src/org/netbeans/modules/apisupport/project/ui/customizer/ModuleDependency.java; /shared/data/ccvs/repository/apisupport/project/src/org/netbeans/modules/apisupport/project/ui/customizer/ModuleDependency.java,v <-- ModuleDependency.java new revision: 1.22; previous revision: 1.21 done
Reviewed
Checking in src/org/netbeans/modules/apisupport/project/universe/NetBeansOrgEntry.java; /shared/data/ccvs/repository/apisupport/project/src/org/netbeans/modules/apisupport/project/universe/NetBeansOrgEntry.java,v <-- NetBeansOrgEntry.java new revision: 1.6.2.1; previous revision: 1.6 done Checking in src/org/netbeans/modules/apisupport/project/universe/AbstractEntryWithSources.java; /shared/data/ccvs/repository/apisupport/project/src/org/netbeans/modules/apisupport/project/universe/AbstractEntryWithSources.java,v <-- AbstractEntryWithSources.java new revision: 1.3.2.1; previous revision: 1.3 done Checking in src/org/netbeans/modules/apisupport/project/universe/ModuleList.java; /shared/data/ccvs/repository/apisupport/project/src/org/netbeans/modules/apisupport/project/universe/ModuleList.java,v <-- ModuleList.java new revision: 1.26.2.1; previous revision: 1.26 done Checking in src/org/netbeans/modules/apisupport/project/universe/ExternalEntry.java; /shared/data/ccvs/repository/apisupport/project/src/org/netbeans/modules/apisupport/project/universe/ExternalEntry.java,v <-- ExternalEntry.java new revision: 1.5.2.1; previous revision: 1.5 done Checking in test/unit/src/org/netbeans/modules/apisupport/project/ui/customizer/ModuleDependencyTest.java; /shared/data/ccvs/repository/apisupport/project/test/unit/src/org/netbeans/modules/apisupport/project/ui/customizer/ModuleDependencyTest.java,v <-- ModuleDependencyTest.java new revision: 1.3.6.2; previous revision: 1.3.6.1 done Checking in src/org/netbeans/modules/apisupport/project/NbModuleProject.java; /shared/data/ccvs/repository/apisupport/project/src/org/netbeans/modules/apisupport/project/NbModuleProject.java,v <-- NbModuleProject.java new revision: 1.136.2.1; previous revision: 1.136 done Checking in src/org/netbeans/modules/apisupport/project/ui/customizer/ModuleDependency.java; /shared/data/ccvs/repository/apisupport/project/src/org/netbeans/modules/apisupport/project/ui/customizer/ModuleDependency.java,v <-- ModuleDependency.java new revision: 1.19.2.2; previous revision: 1.19.2.1 done Checking in test/unit/src/org/netbeans/modules/apisupport/project/universe/ModuleListTest.java; /shared/data/ccvs/repository/apisupport/project/test/unit/src/org/netbeans/modules/apisupport/project/universe/ModuleListTest.java,v <-- ModuleListTest.java new revision: 1.15.2.1; previous revision: 1.15 done
verified in release50 cvs.