--- a/autoupdate.services/src/org/netbeans/modules/autoupdate/services/DependencyChecker.java Fri Jun 06 06:53:39 2008 +0200 +++ a/autoupdate.services/src/org/netbeans/modules/autoupdate/services/DependencyChecker.java Fri Jun 06 16:16:01 2008 +0200 @@ -44,6 +44,7 @@ import java.util.*; import java.util.logging.Level; import java.util.logging.Logger; +import org.netbeans.Util; import org.openide.modules.ModuleInfo; import org.openide.modules.Dependency; import org.openide.modules.SpecificationVersion; @@ -93,6 +94,13 @@ if (! matchDependencyJava (dep)) { err.log(Level.FINE, "The Java platform version " + dep + " or higher was requested but only " + Dependency.JAVA_SPEC + " is running."); + res.add (dep); + } + break; + case (Dependency.TYPE_PACKAGE) : + if (! matchPackageDependency (dep)) { + err.log(Level.FINE, "The package " + dep + + " was requested but it is not in current ClassPath."); res.add (dep); } break; @@ -157,6 +165,13 @@ res.add (dep); } break; + case (Dependency.TYPE_PACKAGE) : + if (! matchPackageDependency (dep)) { + err.log(Level.FINE, "The package " + dep + + " was requested but it is not in current ClassPath."); + res.add (dep); + } + break; default: //assert false : "Unknown type of Dependency, was " + dep.getType (); err.log(Level.FINE, "Uncovered Dependency " + dep); @@ -200,6 +215,10 @@ } // All other usages unlikely return true; + } + + private static boolean matchPackageDependency (Dependency dep) { + return Util.checkPackageDependency (dep, ClassLoader.getSystemClassLoader ()); } static boolean checkDependencyModuleAllowEqual (Dependency dep, ModuleInfo module) { --- a/o.n.bootstrap/manifest.mf Fri Jun 06 06:53:39 2008 +0200 +++ a/o.n.bootstrap/manifest.mf Fri Jun 06 16:16:01 2008 +0200 @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.bootstrap/1 -OpenIDE-Module-Specification-Version: 2.13 +OpenIDE-Module-Specification-Version: 2.14 OpenIDE-Module-Localizing-Bundle: org/netbeans/Bundle.properties --- a/o.n.bootstrap/src/org/netbeans/Util.java Fri Jun 06 06:53:39 2008 +0200 +++ a/o.n.bootstrap/src/org/netbeans/Util.java Fri Jun 06 16:16:01 2008 +0200 @@ -242,8 +242,13 @@ /** Check whether a package dependency is met. * A classloader must be supplied to check in. + * @param dep a module dependency + * @param cl a package-accessible classloader + * @return true if package is met + * @throws IllegalArgumentException + * @since 2.14 */ - static boolean checkPackageDependency(Dependency dep, ClassLoader cl) throws IllegalArgumentException { + public static boolean checkPackageDependency(Dependency dep, ClassLoader cl) throws IllegalArgumentException { if (dep.getType() != Dependency.TYPE_PACKAGE) { throw new IllegalArgumentException("Not a package dependency"); // NOI18N }