diff -r e1233b44695d autoupdate.services/nbproject/project.properties --- a/autoupdate.services/nbproject/project.properties Thu Sep 25 11:15:01 2014 +0200 +++ b/autoupdate.services/nbproject/project.properties Thu Oct 02 06:59:58 2014 -0700 @@ -8,6 +8,9 @@ test-unit-sys-prop.java.awt.headless=true pack200.excludes=modules/ext/updater.jar modules/ext/locale/updater_*.jar +cp.extra=${netbeans.dest.dir}/platform/lib/org-openide-modules.jar:\ + ${netbeans.dest.dir}/platform/lib/boot.jar + test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ **/ModuleUpdaterConfigTest.class,\ diff -r e1233b44695d autoupdate.services/nbproject/project.xml --- a/autoupdate.services/nbproject/project.xml Thu Sep 25 11:15:01 2014 +0200 +++ b/autoupdate.services/nbproject/project.xml Thu Oct 02 06:59:58 2014 -0700 @@ -15,24 +15,6 @@ - org.netbeans.bootstrap - - - - 1 - 2.14 - - - - org.netbeans.core.startup - - - - 1 - 1.39 - - - org.openide.filesystems @@ -41,14 +23,6 @@ - org.openide.modules - - - - 7.25 - - - org.openide.util diff -r e1233b44695d autoupdate.services/src/org/netbeans/api/autoupdate/OperationContainer.java --- a/autoupdate.services/src/org/netbeans/api/autoupdate/OperationContainer.java Thu Sep 25 11:15:01 2014 +0200 +++ b/autoupdate.services/src/org/netbeans/api/autoupdate/OperationContainer.java Thu Oct 02 06:59:58 2014 -0700 @@ -50,7 +50,6 @@ import java.util.Map; import java.util.Set; import org.netbeans.modules.autoupdate.services.OperationContainerImpl; -import org.openide.modules.ModuleInfo; /** * An object that keeps requests for operations upon instances of UpdateEelement diff -r e1233b44695d autoupdate.services/src/org/netbeans/modules/autoupdate/services/InstallManager.java --- a/autoupdate.services/src/org/netbeans/modules/autoupdate/services/InstallManager.java Thu Sep 25 11:15:01 2014 +0200 +++ b/autoupdate.services/src/org/netbeans/modules/autoupdate/services/InstallManager.java Thu Oct 02 06:59:58 2014 -0700 @@ -49,6 +49,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; +import java.lang.reflect.Method; import java.util.*; import java.util.jar.JarEntry; import java.util.jar.JarFile; @@ -57,12 +58,11 @@ import org.netbeans.Module; import org.netbeans.api.autoupdate.OperationException; import org.netbeans.api.autoupdate.UpdateElement; -import org.netbeans.core.startup.MainLookup; -import org.netbeans.core.startup.layers.LocalFileSystemEx; import org.netbeans.spi.autoupdate.AutoupdateClusterCreator; import org.netbeans.updater.ModuleDeactivator; import org.netbeans.updater.UpdateTracking; import org.openide.filesystems.FileUtil; +import org.openide.filesystems.LocalFileSystem; import org.openide.modules.InstalledFileLocator; import org.openide.util.Lookup; import org.openide.util.lookup.ServiceProvider; @@ -236,17 +236,26 @@ private static void extendSystemFileSystem(File cluster) { try { + ClassLoader l = Lookup.getDefault().lookup(ClassLoader.class); + if (l == null) { + l = Thread.currentThread().getContextClassLoader(); + } + if (l == null) { + l = InstallManager.class.getClassLoader(); + } + File extradir = new File(cluster, ModuleDeactivator.CONFIG); extradir.mkdir(); - LocalFileSystemEx lfse = new LocalFileSystemEx(); + Class c = Class.forName("org.netbeans.core.startup.layers.LocalFileSystemEx", true, l); + LocalFileSystem lfse = (LocalFileSystem) c.newInstance(); lfse.setRootDirectory(extradir); - MainLookup.register(lfse); + Class m = Class.forName("org.netbeans.core.startup.MainLookup", true, l); + Method reg = m.getMethod("register", Object.class); + reg.invoke(null, lfse); synchronized (InstallManager.class) { clusters.add(cluster); } - } catch (PropertyVetoException ioe) { - ERR.log (Level.INFO, ioe.getMessage (), ioe); - } catch (IOException ioe) { + } catch (Exception ioe) { ERR.log (Level.INFO, ioe.getMessage (), ioe); } } diff -r e1233b44695d autoupdate.services/src/org/netbeans/modules/autoupdate/services/Utilities.java --- a/autoupdate.services/src/org/netbeans/modules/autoupdate/services/Utilities.java Thu Sep 25 11:15:01 2014 +0200 +++ b/autoupdate.services/src/org/netbeans/modules/autoupdate/services/Utilities.java Thu Oct 02 06:59:58 2014 -0700 @@ -47,11 +47,13 @@ import java.io.*; import java.lang.ref.Reference; import java.lang.ref.WeakReference; +import java.lang.reflect.Method; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.security.cert.Certificate; import java.security.cert.CertificateException; +import java.text.MessageFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -65,9 +67,6 @@ import org.netbeans.api.autoupdate.UpdateElement; import org.netbeans.api.autoupdate.UpdateManager; import org.netbeans.api.autoupdate.UpdateUnit; -import org.netbeans.core.startup.AutomaticDependencies; -import org.netbeans.core.startup.Main; -import org.netbeans.core.startup.TopLogging; import org.netbeans.modules.autoupdate.updateprovider.DummyModuleInfo; import org.netbeans.modules.autoupdate.updateprovider.InstalledModuleProvider; import org.netbeans.modules.autoupdate.updateprovider.UpdateItemImpl; @@ -700,10 +699,6 @@ Collection recommended, boolean avoidRecommended) { Set res = new HashSet (); - AutomaticDependencies.Report rep = AutomaticDependencies.getDefault().refineDependenciesAndReport(el.getCodeName(), original); - if (rep.isModified()) { - err.fine(rep.toString()); - } for (Dependency dep : original) { if (Dependency.TYPE_RECOMMENDS == dep.getType() && avoidRecommended) { continue; @@ -983,7 +978,8 @@ public static String getProductVersion () { if (productVersion == null) { String buildNumber = System.getProperty ("netbeans.buildnumber"); // NOI18N - productVersion = NbBundle.getMessage (TopLogging.class, "currentVersion", buildNumber); // NOI18N + ResourceBundle b = NbBundle.getBundle("org.netbeans.core.startup.Bundle"); // NOI18N + productVersion = MessageFormat.format(b.getString("currentVersion"), buildNumber); // NOI18N } return productVersion; } @@ -1097,7 +1093,23 @@ } public static boolean isKitModule (ModuleInfo mi) { - return Main.getModuleSystem().isShowInAutoUpdateClient(mi); + try { + ClassLoader l = Lookup.getDefault().lookup(ClassLoader.class); + if (l == null) { + l = Thread.currentThread().getContextClassLoader(); + } + if (l == null) { + l = InstallManager.class.getClassLoader(); + } + Class m = Class.forName("org.netbeans.core.startup.Main", true, l); + Method reg = m.getMethod("getModuleSystem"); + Object ms = reg.invoke(null); + Method show = ms.getClass().getMethod("isShowInAutoUpdateClient", ModuleInfo.class); + return (Boolean)show.invoke(ms, mi); + } catch (Exception ex) { + Exceptions.printStackTrace(ex); + return false; + } } public static boolean isEssentialModule (ModuleInfo mi) {