diff -r 191573e15566 core.startup/src/org/netbeans/core/startup/ModuleList.java --- a/core.startup/src/org/netbeans/core/startup/ModuleList.java Tue Jun 10 17:12:36 2008 +0200 +++ b/core.startup/src/org/netbeans/core/startup/ModuleList.java Tue Jun 10 17:20:30 2008 +0200 @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 1997-2008 Sun Microsystems, Inc. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common @@ -24,7 +24,7 @@ * Contributor(s): * * The Original Software is NetBeans. The Initial Developer of the Original - * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2008 Sun * Microsystems, Inc. All Rights Reserved. * * If you wish your version of this file to be governed by only the CDDL @@ -430,8 +430,9 @@ LOG.log(Level.WARNING, null, ie); Module bad = ie.getModule(); if (bad == null) throw new IllegalStateException(); - ev.log(Events.FAILED_INSTALL_NEW_UNEXPECTED, bad, ie); - modules.remove(bad); + Set affectedModules = mgr.getModuleInterdependencies (bad, true, true); + ev.log(Events.FAILED_INSTALL_NEW_UNEXPECTED, bad, affectedModules, ie); + modules.removeAll (affectedModules); // Try again without it. Note that some other dependent modules might // then be in the missing list for the second round. installNew(modules); diff -r 191573e15566 core.startup/src/org/netbeans/core/startup/NbEvents.java --- a/core.startup/src/org/netbeans/core/startup/NbEvents.java Tue Jun 10 17:12:36 2008 +0200 +++ b/core.startup/src/org/netbeans/core/startup/NbEvents.java Tue Jun 10 17:20:30 2008 +0200 @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 1997-2008 Sun Microsystems, Inc. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common @@ -24,7 +24,7 @@ * Contributor(s): * * The Original Software is NetBeans. The Initial Developer of the Original - * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2008 Sun * Microsystems, Inc. All Rights Reserved. * * If you wish your version of this file to be governed by only the CDDL @@ -45,6 +45,7 @@ import java.awt.Dimension; import java.io.File; import java.text.MessageFormat; +import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -164,17 +165,20 @@ setStatusText(""); } else if (message == FAILED_INSTALL_NEW_UNEXPECTED) { Module m = (Module)args[0]; - // ignore args[1]: InvalidException + List modules = new ArrayList (); + modules.add (m); + modules.addAll (NbCollections.checkedSetByCopy((Set) args[1], Module.class, true)); + // ignore args[2]: InvalidException { StringBuilder buf = new StringBuilder(NbBundle.getMessage(NbEvents.class, "MSG_failed_install_new_unexpected", m.getDisplayName())); - NbProblemDisplayer.problemMessagesForModules(buf, Collections.singleton(m), false); + NbProblemDisplayer.problemMessagesForModules(buf, modules, false); buf.append('\n'); logger.log(Level.INFO, buf.toString()); } { StringBuilder buf = new StringBuilder(NbBundle.getMessage(NbEvents.class, "MSG_failed_install_new_unexpected", m.getDisplayName())); - NbProblemDisplayer.problemMessagesForModules(buf, Collections.singleton(m), true); + NbProblemDisplayer.problemMessagesForModules(buf, modules, true); notify(buf.toString(), true); } setStatusText(""); diff -r 191573e15566 core.startup/src/org/netbeans/core/startup/NbProblemDisplayer.java --- a/core.startup/src/org/netbeans/core/startup/NbProblemDisplayer.java Tue Jun 10 17:12:36 2008 +0200 +++ b/core.startup/src/org/netbeans/core/startup/NbProblemDisplayer.java Tue Jun 10 17:20:30 2008 +0200 @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 1997-2008 Sun Microsystems, Inc. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common @@ -24,7 +24,7 @@ * Contributor(s): * * The Original Software is NetBeans. The Initial Developer of the Original - * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun + * Software is Sun Microsystems, Inc. Portions Copyright 1997-2008 Sun * Microsystems, Inc. All Rights Reserved. * * If you wish your version of this file to be governed by only the CDDL @@ -43,6 +43,7 @@ import java.io.IOException; import java.text.Collator; +import java.util.Collection; import java.util.HashSet; import java.util.Iterator; import java.util.Set; @@ -181,7 +182,7 @@ } } - static void problemMessagesForModules(Appendable writeTo, Set modules, boolean justRootCause) { + static void problemMessagesForModules(Appendable writeTo, Collection modules, boolean justRootCause) { try { HashSet names = new HashSet(); for (Module m : modules) {