Index: ant/manifest.mf =================================================================== RCS file: /shared/data/ccvs/repository/ant/manifest.mf,v retrieving revision 1.82 diff -u -r1.82 manifest.mf --- ant/manifest.mf 3 Nov 2005 15:13:48 -0000 1.82 +++ ant/manifest.mf 13 Jul 2006 14:58:20 -0000 @@ -4,9 +4,6 @@ OpenIDE-Module-Localizing-Bundle: org/apache/tools/ant/module/Bundle.properties OpenIDE-Module-Install: org/apache/tools/ant/module/AntModule.class OpenIDE-Module-Layer: org/apache/tools/ant/module/resources/AntModuleLayer.xml -OpenIDE-Module-Requires: - org.openide.execution.ExecutionEngine, - org.openide.windows.IOProvider Name: org/apache/tools/ant/module/loader/AntProjectDataLoader.class OpenIDE-Module-Class: Loader Index: ant/nbproject/project.xml =================================================================== RCS file: /shared/data/ccvs/repository/ant/nbproject/project.xml,v retrieving revision 1.32 diff -u -r1.32 project.xml --- ant/nbproject/project.xml 30 Jun 2006 18:05:46 -0000 1.32 +++ ant/nbproject/project.xml 13 Jul 2006 14:58:20 -0000 @@ -138,7 +138,7 @@ - 1.5 + 1.11 Index: contrib/docbook/manifest.mf =================================================================== RCS file: /shared/data/ccvs/repository/contrib/docbook/manifest.mf,v retrieving revision 1.6 diff -u -r1.6 manifest.mf --- contrib/docbook/manifest.mf 7 Sep 2005 20:04:27 -0000 1.6 +++ contrib/docbook/manifest.mf 13 Jul 2006 14:58:20 -0000 @@ -1,6 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.docbook -OpenIDE-Module-Requires: org.openide.windows.IOProvider OpenIDE-Module-Java-Dependencies: Java > 1.4 OpenIDE-Module-Specification-Version: 1.4 OpenIDE-Module-Layer: org/netbeans/modules/docbook/layer.xml Index: contrib/docbook/nbproject/project.xml =================================================================== RCS file: /shared/data/ccvs/repository/contrib/docbook/nbproject/project.xml,v retrieving revision 1.7 diff -u -r1.7 project.xml --- contrib/docbook/nbproject/project.xml 29 Jun 2006 20:13:08 -0000 1.7 +++ contrib/docbook/nbproject/project.xml 13 Jul 2006 14:58:20 -0000 @@ -87,7 +87,7 @@ - 1.0 + 1.11 Index: core/startup/test/unit/src/org/netbeans/core/startup/jars/needs-foo.mf =================================================================== RCS file: core/startup/test/unit/src/org/netbeans/core/startup/jars/needs-foo.mf diff -N core/startup/test/unit/src/org/netbeans/core/startup/jars/needs-foo.mf --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ core/startup/test/unit/src/org/netbeans/core/startup/jars/needs-foo.mf 13 Jul 2006 14:58:20 -0000 @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 +OpenIDE-Module: needs_foo +OpenIDE-Module-Name: Needs foo +OpenIDE-Module-Needs: foo Index: core/startup/test/unit/src/org/netbeans/core/startup/jars/prov-foo-depends-needs_foo.mf =================================================================== RCS file: core/startup/test/unit/src/org/netbeans/core/startup/jars/prov-foo-depends-needs_foo.mf diff -N core/startup/test/unit/src/org/netbeans/core/startup/jars/prov-foo-depends-needs_foo.mf --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ core/startup/test/unit/src/org/netbeans/core/startup/jars/prov-foo-depends-needs_foo.mf 13 Jul 2006 14:58:20 -0000 @@ -0,0 +1,5 @@ +Manifest-Version: 1.0 +OpenIDE-Module: prov_bar_req_foo +OpenIDE-Module-Name: Provides bar, requires foo +OpenIDE-Module-Provides: foo +OpenIDE-Module-Module-Dependencies: needs_foo Index: core/startup/test/unit/src/org/netbeans/core/startup/jars/recommends-foo.mf =================================================================== RCS file: core/startup/test/unit/src/org/netbeans/core/startup/jars/recommends-foo.mf diff -N core/startup/test/unit/src/org/netbeans/core/startup/jars/recommends-foo.mf --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ core/startup/test/unit/src/org/netbeans/core/startup/jars/recommends-foo.mf 13 Jul 2006 14:58:20 -0000 @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 +OpenIDE-Module: needs_foo +OpenIDE-Module-Name: Recommends foo +OpenIDE-Module-Recommends: foo Index: core/bootstrap/src/org/netbeans/Module.java =================================================================== RCS file: /shared/data/ccvs/repository/core/bootstrap/src/org/netbeans/Module.java,v retrieving revision 1.16 diff -u -r1.16 Module.java --- core/bootstrap/src/org/netbeans/Module.java 1 Jul 2006 08:51:26 -0000 1.16 +++ core/bootstrap/src/org/netbeans/Module.java 13 Jul 2006 14:58:20 -0000 @@ -399,6 +399,8 @@ dependencies.addAll(Dependency.create(Dependency.TYPE_PACKAGE, pkgdeps)); // NOI18N } dependencies.addAll(Dependency.create(Dependency.TYPE_REQUIRES, attr.getValue("OpenIDE-Module-Requires"))); // NOI18N + dependencies.addAll(Dependency.create(Dependency.TYPE_NEEDS, attr.getValue("OpenIDE-Module-Needs"))); // NOI18N + dependencies.addAll(Dependency.create(Dependency.TYPE_RECOMMENDS, attr.getValue("OpenIDE-Module-Recommends"))); // NOI18N // Permit the concrete installer to make some changes: mgr.refineDependencies(this, dependencies); dependenciesA = dependencies.toArray(new Dependency[dependencies.size()]); Index: core/bootstrap/src/org/netbeans/ModuleManager.java =================================================================== RCS file: /shared/data/ccvs/repository/core/bootstrap/src/org/netbeans/ModuleManager.java,v retrieving revision 1.17 diff -u -r1.17 ModuleManager.java --- core/bootstrap/src/org/netbeans/ModuleManager.java 1 Jul 2006 08:51:26 -0000 1.17 +++ core/bootstrap/src/org/netbeans/ModuleManager.java 13 Jul 2006 14:58:21 -0000 @@ -1071,10 +1071,20 @@ if (! other.isEnabled()) { maybeAddToEnableList(willEnable, mightEnable, other, false); } - } else if (dep.getType() == Dependency.TYPE_REQUIRES) { + } else if ( + dep.getType() == Dependency.TYPE_REQUIRES || + dep.getType() == Dependency.TYPE_NEEDS || + dep.getType() == Dependency.TYPE_RECOMMENDS + ) { String token = dep.getName(); Set providers = providersOf.get(token); - if (providers == null) throw new IllegalStateException("Should have found a provider of: " + token); // NOI18N + if (providers == null) { + if (dep.getType() != Dependency.TYPE_RECOMMENDS) { + throw new IllegalStateException("Should have found a provider of: " + token); // NOI18N + } else { + continue; + } + } // First check if >= 1 is already enabled or will be soon. If so, great. boolean foundOne = false; for (Module other : providers) { @@ -1241,7 +1251,10 @@ // No need to scan the rest of its dependencies. break; } - } else if (dep.getType() == Dependency.TYPE_REQUIRES) { + } else if ( + dep.getType() == Dependency.TYPE_REQUIRES || + dep.getType() == Dependency.TYPE_NEEDS + ) { if (m.provides(dep.getName())) { // Careful. There may be some third module still enabled which // provides this same token too. @@ -1315,10 +1328,65 @@ // where moduleProblems are used are write-mutex only and so do not have // to worry about contention. synchronized (moduleProblems) { - return _missingDependencies(probed); + Set> result; + ArrayList check = new ArrayList(); + result = _missingDependencies(probed, check); + LOOP: while (result.isEmpty()) { + for (NeedsCheck needs : check) { + String token = needs.dep.getName(); + Set providers = providersOf.get(token); + if (providers == null) { + if (needs.dep.getType() == Dependency.TYPE_NEEDS) { + // Nobody provides it. This dep failed. + result.add(Union2.createFirst(needs.dep)); + } else { + // TYPE_RECOMMENDS is ok if not present + assert needs.dep.getType() == Dependency.TYPE_RECOMMENDS; + } + } else { + // We have some possible providers. Check that at least one is good. + boolean foundOne = false; + Set possibleModules = new HashSet(); + for (Module other : providers) { + if (other.isEnabled()) { + foundOne = true; + break LOOP; + } + } + if (!foundOne) { + for (Module m : providers) { + ArrayList arr = new ArrayList(); + if (!_missingDependencies(m, arr).isEmpty()) { + continue; + } + + if (!arr.isEmpty()) { + check.addAll(arr); + // restart the check + continue LOOP; + } + } + + } + } + } + break LOOP; + } + return result; + } + } + + private static class NeedsCheck { + public final Module module; + public final Dependency dep; + + public NeedsCheck(Module m, Dependency d) { + this.module = m; + this.dep = d; } } - private Set> _missingDependencies(Module probed) { + + private Set> _missingDependencies(Module probed, Collection nonOrderingCheck) { Set> probs = moduleProblems.get(probed); if (probs == null) { probs = new HashSet>(8); @@ -1388,7 +1456,7 @@ if (! other.isEnabled()) { // Need to make sure the other one is not missing anything either. // Nor that it depends (directly on indirectly) on this one. - if (! _missingDependencies(other).isEmpty()) { + if (! _missingDependencies(other, nonOrderingCheck).isEmpty()) { // This is a little subtle. Either the other module had real // problems, in which case our dependency on it is not legit. // Or, the other actually depends cyclically on this one. In @@ -1422,7 +1490,7 @@ if (other.isEnabled()) { foundOne = true; } else { - if (_missingDependencies(other).isEmpty()) { + if (_missingDependencies(other, nonOrderingCheck).isEmpty()) { // See comment above for regular module deps // re. use of PROBING_IN_PROCESS. foundOne = true; @@ -1434,6 +1502,8 @@ probs.add(Union2.createFirst(dep)); } } + } else if (dep.getType() == Dependency.TYPE_NEEDS || dep.getType() == Dependency.TYPE_RECOMMENDS) { + nonOrderingCheck.add(new NeedsCheck(probed, dep)); } else { assert dep.getType() == Dependency.TYPE_JAVA; // Java dependency. Fixed for whole VM session, safe to check once and keep. Index: core/execution/manifest.mf =================================================================== RCS file: /shared/data/ccvs/repository/core/execution/manifest.mf,v retrieving revision 1.26 diff -u -r1.26 manifest.mf --- core/execution/manifest.mf 10 Jan 2006 18:55:57 -0000 1.26 +++ core/execution/manifest.mf 13 Jul 2006 14:58:21 -0000 @@ -4,5 +4,4 @@ OpenIDE-Module-Layer: org/netbeans/core/execution/resources/layer.xml OpenIDE-Module-Install: org/netbeans/core/execution/Install.class OpenIDE-Module-Provides: org.openide.execution.ExecutionEngine -OpenIDE-Module-Requires: org.openide.windows.IOProvider Index: core/execution/nbproject/project.xml =================================================================== RCS file: /shared/data/ccvs/repository/core/execution/nbproject/project.xml,v retrieving revision 1.11 diff -u -r1.11 project.xml --- core/execution/nbproject/project.xml 1 Jul 2006 08:51:29 -0000 1.11 +++ core/execution/nbproject/project.xml 13 Jul 2006 14:58:21 -0000 @@ -94,7 +94,7 @@ - 1.0 + 1.11 Index: core/output/nbproject/project.xml =================================================================== RCS file: /shared/data/ccvs/repository/core/output/nbproject/project.xml,v retrieving revision 1.7 diff -u -r1.7 project.xml --- core/output/nbproject/project.xml 1 Jul 2006 08:51:55 -0000 1.7 +++ core/output/nbproject/project.xml 13 Jul 2006 14:58:21 -0000 @@ -24,15 +24,15 @@ org.netbeans.core.output - org.openide.util + org.netbeans.lib.terminalemulator - 6.2 + 1.0 - org.openide.nodes + org.openide.actions @@ -48,7 +48,7 @@ - org.openide.dialogs + org.openide.compat @@ -56,7 +56,7 @@ - org.openide.compat + org.openide.dialogs @@ -64,15 +64,15 @@ - org.openide.options + org.openide.io - 6.2 + 1.11 - org.openide.windows + org.openide.nodes @@ -80,7 +80,7 @@ - org.openide.actions + org.openide.options @@ -88,19 +88,19 @@ - org.openide.io + org.openide.util - 1.0 + 6.2 - org.netbeans.lib.terminalemulator + org.openide.windows - 1.0 + 6.2 Index: core/output2/nbproject/project.xml =================================================================== RCS file: /shared/data/ccvs/repository/core/output2/nbproject/project.xml,v retrieving revision 1.7 diff -u -r1.7 project.xml --- core/output2/nbproject/project.xml 1 Jul 2006 08:51:57 -0000 1.7 +++ core/output2/nbproject/project.xml 13 Jul 2006 14:58:21 -0000 @@ -24,7 +24,7 @@ org.netbeans.core.output2 - org.openide.util + org.openide.actions @@ -40,15 +40,15 @@ - org.openide.options + org.openide.io - 6.2 + 1.11 - org.openide.windows + org.openide.options @@ -56,7 +56,7 @@ - org.openide.actions + org.openide.util @@ -64,11 +64,11 @@ - org.openide.io + org.openide.windows - 1.5 + 6.2 Index: core/startup/src/org/netbeans/core/startup/AutomaticDependencies.java =================================================================== RCS file: /shared/data/ccvs/repository/core/startup/src/org/netbeans/core/startup/AutomaticDependencies.java,v retrieving revision 1.8 diff -u -r1.8 AutomaticDependencies.java --- core/startup/src/org/netbeans/core/startup/AutomaticDependencies.java 1 Jul 2006 08:52:45 -0000 1.8 +++ core/startup/src/org/netbeans/core/startup/AutomaticDependencies.java 13 Jul 2006 14:58:21 -0000 @@ -196,6 +196,8 @@ pkgDeps.put(name, d); break; case Dependency.TYPE_REQUIRES: + case Dependency.TYPE_NEEDS: + case Dependency.TYPE_RECOMMENDS: tokDeps.put(d.getName(), d); break; case Dependency.TYPE_JAVA: Index: core/startup/src/org/netbeans/core/startup/NbProblemDisplayer.java =================================================================== RCS file: /shared/data/ccvs/repository/core/startup/src/org/netbeans/core/startup/NbProblemDisplayer.java,v retrieving revision 1.5 diff -u -r1.5 NbProblemDisplayer.java --- core/startup/src/org/netbeans/core/startup/NbProblemDisplayer.java 1 Jul 2006 08:52:47 -0000 1.5 +++ core/startup/src/org/netbeans/core/startup/NbProblemDisplayer.java 13 Jul 2006 14:58:21 -0000 @@ -112,6 +112,7 @@ } } case Dependency.TYPE_REQUIRES: + case Dependency.TYPE_NEEDS: polite = (String)m.getLocalizedAttribute("OpenIDE-Module-Requires-Message"); // NOI18N if (polite != null) { return polite; Index: core/startup/test/unit/src/org/netbeans/core/startup/ModuleManagerTest.java =================================================================== RCS file: /shared/data/ccvs/repository/core/startup/test/unit/src/org/netbeans/core/startup/ModuleManagerTest.java,v retrieving revision 1.7 diff -u -r1.7 ModuleManagerTest.java --- core/startup/test/unit/src/org/netbeans/core/startup/ModuleManagerTest.java 1 Jul 2006 08:52:50 -0000 1.7 +++ core/startup/test/unit/src/org/netbeans/core/startup/ModuleManagerTest.java 13 Jul 2006 14:58:21 -0000 @@ -43,6 +43,7 @@ import java.util.Set; import java.util.jar.JarFile; import java.util.jar.Manifest; +import junit.framework.Test; import org.netbeans.InvalidException; import org.netbeans.Module; import org.netbeans.ModuleManager; @@ -50,11 +51,13 @@ import org.netbeans.core.startup.SetupHid.FakeEvents; import org.netbeans.core.startup.SetupHid.FakeModuleInstaller; import org.netbeans.core.startup.SetupHid.LoggedPCListener; +import org.netbeans.junit.NbTestSuite; import org.openide.modules.Dependency; import org.openide.modules.ModuleInfo; import org.openide.util.Lookup; import org.openide.util.LookupEvent; import org.openide.util.LookupListener; +import org.openide.util.TopologicalSortException; import org.openide.util.Utilities; /** Test the module manager as well as the Module class. @@ -88,6 +91,10 @@ super(name); } + public static Test suite() { + return new NbTestSuite(ModuleManagerTest.class); + //return new ModuleManagerTest("testSimpleSatisfiedProvRecommends"); + } /* public static void main(String[] args) { // Turn on verbose logging while developing tests: @@ -1028,7 +1035,186 @@ mgr.mutexPrivileged().exitWriteAccess(); } } + + public void testSimpleProvNeeds() throws Exception { + doSimpleProvNeeds(false, false); + } + + public void testSimpleProvNeedsReversed() throws Exception { + doSimpleProvNeeds(true, false); + } + + public void testSimpleSatisfiedProvRecommends() throws Exception { + doSimpleProvNeeds(false, true); + } + + public void testSimpleSatisfiedProvRecommendsReversed() throws Exception { + doSimpleProvNeeds(true, true); + } + + private void doSimpleProvNeeds(boolean reverseOrder, boolean recommends) throws Exception { + FakeModuleInstaller installer = new FakeModuleInstaller(); + FakeEvents ev = new FakeEvents(); + ModuleManager mgr = new ModuleManager(installer, ev); + mgr.mutexPrivileged().enterWriteAccess(); + try { + Module m1 = mgr.create(new File(jars, "prov-foo-depends-needs_foo.jar"), null, false, false, false); + Module m2; + if (recommends) { + m2 = mgr.create(new File(jars, "recommends-foo.jar"), null, false, false, false); + } else { + m2 = mgr.create(new File(jars, "needs-foo.jar"), null, false, false, false); + } + assertEquals(Collections.singletonList("foo"), Arrays.asList(m1.getProvides())); + assertEquals(Collections.EMPTY_LIST, Arrays.asList(m2.getProvides())); + assertEquals(1, m1.getDependencies().size()); + int type = recommends ? Dependency.TYPE_RECOMMENDS : Dependency.TYPE_NEEDS; + assertEquals(Dependency.create(type, "foo"), m2.getDependencies()); + Map modulesByName = new HashMap(); + modulesByName.put(m1.getCodeNameBase(), m1); + modulesByName.put(m2.getCodeNameBase(), m2); + Map> providersOf = new HashMap>(); + providersOf.put("foo", Collections.singleton(m1)); + List m1m2 = Arrays.asList(new Module[] {m1, m2}); + List m2m1 = Arrays.asList(new Module[] {m2, m1}); + Map> deps = Util.moduleDependencies(m1m2, modulesByName, providersOf); + assertEquals(Collections.singletonList(m2), deps.get(m1)); +/* assertEquals(Collections.singletonList(m1), deps.get(m2)); + + try { + Utilities.topologicalSort(m1m2, deps); + } catch (TopologicalSortException ex) { + Set[] arr = ex.unsortableSets(); + assertEquals("One unsortable set", 1, arr.length); + assertEquals("It contains two elements", 2, arr[0].size()); + assertTrue("m1 is there", arr[0].contains(m1)); + assertTrue("m2 is there", arr[0].contains(m2)); + }*/ + Set m1PlusM2 = new LinkedHashSet(); + if (reverseOrder) { + m1PlusM2.add(m2); + m1PlusM2.add(m1); + } else { + m1PlusM2.add(m1); + m1PlusM2.add(m2); + } + List toEnable = mgr.simulateEnable(m1PlusM2); + assertEquals("correct result of simulateEnable", Arrays.asList(new Module[] {m2, m1}), toEnable); + toEnable = mgr.simulateEnable(Collections.singleton(m1)); + assertEquals("correct result of simulateEnable #2", Arrays.asList(new Module[] {m2, m1}), toEnable); + toEnable = mgr.simulateEnable(Collections.singleton(m2)); + assertEquals("correct result of simulateEnable #3", Arrays.asList(new Module[] {m2, m1}), toEnable); + mgr.enable(m1PlusM2); + assertEquals(Arrays.asList(new String[] { + "prepare", + "prepare", + "load" + }), installer.actions); + assertEquals(Arrays.asList(new Object[] { + m2, + m1, + Arrays.asList(new Module[] {m2, m1}) + }), installer.args); + Class testclazz = Class.forName("org.prov_foo.Clazz", true, m1.getClassLoader()); + try { + Class.forName("org.prov_foo.Clazz", true, m2.getClassLoader()); + fail("Should not be able to access classes due to prov-req deps only"); + } catch (ClassNotFoundException cnfe) { + // OK, good. + } + installer.clear(); + List toDisable = mgr.simulateDisable(Collections.singleton(m1)); + if (!recommends) { + assertEquals("correct result of simulateDisable", Arrays.asList(new Module[] {m1, m2}), toDisable); + toDisable = mgr.simulateDisable(m1PlusM2); + assertEquals("correct result of simulateDisable #2", Arrays.asList(new Module[] {m1, m2}), toDisable); + mgr.disable(m1PlusM2); + assertFalse(m1.isEnabled()); + assertFalse(m2.isEnabled()); + assertEquals(Arrays.asList(new String[] { + "unload", + "dispose", + "dispose" + }), installer.actions); + assertEquals(Arrays.asList(new Object[] { + Arrays.asList(new Module[] {m1, m2}), + m1, + m2 + }), installer.args); + } else { + assertEquals("correct result of simulateDisable", Arrays.asList(new Module[] {m1 }), toDisable); + toDisable = mgr.simulateDisable(m1PlusM2); + assertEquals("correct result of simulateDisable #2", Arrays.asList(new Module[] {m1, m2}), toDisable); + mgr.disable(m1); + assertFalse(m1.isEnabled()); + assertTrue(m2.isEnabled()); + mgr.disable(m2); + assertFalse(m2.isEnabled()); + assertEquals(Arrays.asList(new String[] { + "unload", + "dispose", + "unload", + "dispose" + }), installer.actions); + assertEquals(Arrays.asList(new Object[] { + Arrays.asList(new Module[] {m1}), + m1, + Arrays.asList(new Module[] {m2}), + m2 + }), installer.args); + } + } finally { + mgr.mutexPrivileged().exitWriteAccess(); + } + } + public void testRecommendsWithoutAProvider() throws Exception { + FakeModuleInstaller installer = new FakeModuleInstaller(); + FakeEvents ev = new FakeEvents(); + ModuleManager mgr = new ModuleManager(installer, ev); + mgr.mutexPrivileged().enterWriteAccess(); + try { + Module m2 = mgr.create(new File(jars, "recommends-foo.jar"), null, false, false, false); + assertEquals(Collections.EMPTY_LIST, Arrays.asList(m2.getProvides())); + assertEquals(Dependency.create(Dependency.TYPE_RECOMMENDS, "foo"), m2.getDependencies()); + Map modulesByName = new HashMap(); + modulesByName.put(m2.getCodeNameBase(), m2); + Map> providersOf = new HashMap>(); + List m2List = Arrays.asList(new Module[] { m2 }); + Map> deps = Util.moduleDependencies(m2List, modulesByName, providersOf); + assertEquals(null, deps.get(m2)); + + List toEnable = mgr.simulateEnable(new HashSet(m2List)); + assertEquals("correct result of simulateEnable", Arrays.asList(new Module[] {m2}), toEnable); + mgr.enable(new HashSet(m2List)); + assertEquals(Arrays.asList(new String[] { + "prepare", + "load" + }), installer.actions); + assertEquals(Arrays.asList(new Object[] { + m2, +// m1, + Arrays.asList(new Module[] {m2}) + }), installer.args); + installer.clear(); + List toDisable = mgr.simulateDisable(Collections.singleton(m2)); + assertEquals("correct result of simulateDisable", Arrays.asList(new Module[] {m2}), toDisable); + mgr.disable(m2); + assertFalse(m2.isEnabled()); + assertEquals(Arrays.asList(new String[] { + "unload", + "dispose" + }), installer.actions); + assertEquals(Arrays.asList(new Object[] { + Arrays.asList(new Module[] {m2}), +// m1, + m2 + }), installer.args); + } finally { + mgr.mutexPrivileged().exitWriteAccess(); + } + } + public void testMultipleReqs() throws Exception { FakeModuleInstaller installer = new FakeModuleInstaller(); FakeEvents ev = new FakeEvents(); Index: core/startup/test/unit/src/org/netbeans/core/startup/build.xml =================================================================== RCS file: /shared/data/ccvs/repository/core/startup/test/unit/src/org/netbeans/core/startup/build.xml,v retrieving revision 1.4 diff -u -r1.4 build.xml --- core/startup/test/unit/src/org/netbeans/core/startup/build.xml 1 Jul 2006 08:52:52 -0000 1.4 +++ core/startup/test/unit/src/org/netbeans/core/startup/build.xml 13 Jul 2006 14:58:21 -0000 @@ -158,6 +158,12 @@ + + + + + + Index: db/manifest.mf =================================================================== RCS file: /shared/data/ccvs/repository/db/manifest.mf,v retrieving revision 1.62 diff -u -r1.62 manifest.mf --- db/manifest.mf 24 Sep 2005 00:37:01 -0000 1.62 +++ db/manifest.mf 13 Jul 2006 14:58:21 -0000 @@ -3,6 +3,6 @@ OpenIDE-Module-Install: org/netbeans/modules/db/DatabaseModule.class OpenIDE-Module-Implementation-Version: 3 OpenIDE-Module-Layer: org/netbeans/modules/db/resources/mf-layer.xml -OpenIDE-Module-Requires: org.netbeans.api.javahelp.Help, org.openide.windows.IOProvider +OpenIDE-Module-Requires: org.netbeans.api.javahelp.Help OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/db/resources/Bundle.properties Index: ide/golden/cluster-deps.txt =================================================================== RCS file: /shared/data/ccvs/repository/ide/golden/cluster-deps.txt,v retrieving revision 1.48 diff -u -r1.48 cluster-deps.txt --- ide/golden/cluster-deps.txt 13 Jun 2006 12:33:05 -0000 1.48 +++ ide/golden/cluster-deps.txt 13 Jul 2006 14:58:21 -0000 @@ -21,7 +21,6 @@ REQUIRES org.openide.awt (platform) REQUIRES org.openide.dialogs (platform) REQUIRES org.openide.execution (platform) - REQUIRES org.netbeans.core.execution/1 (platform) REQUIRES org.openide.explorer (platform) REQUIRES org.openide.filesystems (platform) REQUIRES org.openide.io (platform) @@ -33,7 +32,6 @@ REQUIRES org.openide.text (platform) REQUIRES org.openide.util (platform) REQUIRES org.openide.windows (platform) - REQUIRES org.netbeans.core.output2/1 (platform) GROUP j2ee REQUIRES javax.jmi.model/1 (ide) REQUIRES javax.jmi.reflect/1 (ide) @@ -104,7 +102,6 @@ REQUIRES org.openide.util (platform) REQUIRES org.netbeans.modules.httpserver/2 (ide) REQUIRES org.openide.windows (platform) - REQUIRES org.netbeans.core.output2/1 (platform) GROUP nb REQUIRES org.netbeans.core.windows/2 (platform) REQUIRES org.netbeans.modules.autoupdate/1 (platform) Index: ide/golden/deps.txt =================================================================== RCS file: /shared/data/ccvs/repository/ide/golden/deps.txt,v retrieving revision 1.292 diff -u -r1.292 deps.txt --- ide/golden/deps.txt 11 Jul 2006 15:22:54 -0000 1.292 +++ ide/golden/deps.txt 13 Jul 2006 14:58:21 -0000 @@ -15,7 +15,6 @@ REQUIRES org.openide.awt (platform) REQUIRES org.openide.dialogs (platform) REQUIRES org.openide.execution (platform) - REQUIRES org.netbeans.core.execution/1 (platform) REQUIRES org.openide.explorer (platform) REQUIRES org.openide.filesystems (platform) REQUIRES org.openide.io (platform) @@ -27,7 +26,6 @@ REQUIRES org.openide.text (platform) REQUIRES org.openide.util (platform) REQUIRES org.openide.windows (platform) - REQUIRES org.netbeans.core.output2/1 (platform) MODULE org.jdesktop.layout/1 (platform) REQUIRES org.openide.modules.ModuleFormat1 MODULE org.netbeans.api.debugger/1 (ide) @@ -113,7 +111,6 @@ REQUIRES org.openide.nodes (platform) REQUIRES org.openide.util (platform) REQUIRES org.openide.windows (platform) - REQUIRES org.netbeans.core.output2/1 (platform) MODULE org.netbeans.core.ide/1 (ide) REQUIRES org.netbeans.core/2 (platform) REQUIRES org.netbeans.core.ui/1 (platform) @@ -387,7 +384,6 @@ REQUIRES org.openide.text (platform) REQUIRES org.openide.util (platform) REQUIRES org.openide.windows (platform) - REQUIRES org.netbeans.core.output2/1 (platform) MODULE org.netbeans.modules.db/0 (ide) REQUIRES org.jdesktop.layout/1 (platform) REQUIRES org.netbeans.modules.javahelp/1 (platform) @@ -404,7 +400,6 @@ REQUIRES org.openide.options (platform) REQUIRES org.openide.util (platform) REQUIRES org.openide.windows (platform) - REQUIRES org.netbeans.core.output2/1 (platform) MODULE org.netbeans.modules.db.core (ide) REQUIRES org.netbeans.api.progress/1 (platform) REQUIRES org.netbeans.modules.db/0 (ide) @@ -1921,7 +1916,6 @@ REQUIRES org.openide.text (platform) REQUIRES org.openide.util (platform) REQUIRES org.openide.windows (platform) - REQUIRES org.netbeans.core.output2/1 (platform) REQUIRES org.openidex.util/3 (ide) MODULE org.netbeans.modules.utilities.project/1 (ide) REQUIRES org.netbeans.modules.projectapi/1 (ide) @@ -2120,7 +2114,6 @@ REQUIRES org.openide.modules.ModuleFormat1 REQUIRES org.openide.text (platform) REQUIRES org.openide.util (platform) - REQUIRES org.netbeans.core.output2/1 (platform) MODULE org.netbeans.modules.web.jstl11/1 (j2ee) REQUIRES org.netbeans.modules.web.project (j2ee) REQUIRES org.openide.modules.ModuleFormat1 @@ -2354,7 +2347,6 @@ REQUIRES org.openide.text (platform) REQUIRES org.openide.util (platform) REQUIRES org.openide.windows (platform) - REQUIRES org.netbeans.core.output2/1 (platform) MODULE org.netbeans.modules.xml.multiview/1 (j2ee) REQUIRES org.netbeans.core.multiview/1 (platform) REQUIRES org.netbeans.modules.xml.core/2 (ide) Index: openide/execution/manifest.mf =================================================================== RCS file: /shared/data/ccvs/repository/openide/execution/manifest.mf,v retrieving revision 1.15 diff -u -r1.15 manifest.mf --- openide/execution/manifest.mf 12 Dec 2005 15:40:11 -0000 1.15 +++ openide/execution/manifest.mf 13 Jul 2006 14:58:21 -0000 @@ -2,4 +2,4 @@ OpenIDE-Module: org.openide.execution OpenIDE-Module-Specification-Version: 1.9 OpenIDE-Module-Localizing-Bundle: org/openide/execution/Bundle.properties - +OpenIDE-Module-Recommends: org.openide.execution.ExecutionEngine Index: openide/io/manifest.mf =================================================================== RCS file: /shared/data/ccvs/repository/openide/io/manifest.mf,v retrieving revision 1.13 diff -u -r1.13 manifest.mf --- openide/io/manifest.mf 12 Dec 2005 15:40:13 -0000 1.13 +++ openide/io/manifest.mf 13 Jul 2006 14:58:21 -0000 @@ -1,5 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.io -OpenIDE-Module-Specification-Version: 1.10 +OpenIDE-Module-Specification-Version: 1.11 OpenIDE-Module-Localizing-Bundle: org/openide/io/Bundle.properties +OpenIDE-Module-Recommends: org.openide.windows.IOProvider Index: openide/io/api/doc/changes/changes.xml =================================================================== RCS file: /shared/data/ccvs/repository/openide/io/api/doc/changes/changes.xml,v retrieving revision 1.6 diff -u -r1.6 changes.xml --- openide/io/api/doc/changes/changes.xml 1 Jul 2006 09:08:13 -0000 1.6 +++ openide/io/api/doc/changes/changes.xml 13 Jul 2006 14:58:21 -0000 @@ -81,6 +81,25 @@ + + + No need to require IOProvider token anymore + + + + + +

If your module depends on org.openide.io > 1.11 or higher + there is no need to specify that it also requires an implementation of + the API by use of OpenIDE-Module-Requires: org.openide.windows.IOProvider, + this token will be requested automatically by the org.openide.io + module itself. +

+
+ + +
+ Added API to add actions to output's toolbar Index: openide/io/src/org/openide/windows/IOProvider.java =================================================================== RCS file: /shared/data/ccvs/repository/openide/io/src/org/openide/windows/IOProvider.java,v retrieving revision 1.8 diff -u -r1.8 IOProvider.java --- openide/io/src/org/openide/windows/IOProvider.java 1 Jul 2006 09:08:15 -0000 1.8 +++ openide/io/src/org/openide/windows/IOProvider.java 13 Jul 2006 14:58:21 -0000 @@ -45,10 +45,6 @@ * instance in lookup, a fallback instance is created which just uses the * standard system I/O streams. This is useful for unit tests and perhaps * for standalone usage of various libraries. - *

- * Assuming you want to ensure that a real output window implementation is actually - * installed and enabled, you must require the token org.openide.windows.IOProvider - * from the module calling this method. * @return the default instance (never null) */ public static IOProvider getDefault() { @@ -67,7 +63,7 @@ * the output window. Streams for reading/writing can be accessed via * getters on the returned instance. * - * @param name A localized display name for the tab + * @param name A localised display name for the tab * @param newIO if true, a new InputOutput is returned, else an existing InputOutput of the same name may be returned * @return an InputOutput instance for accessing the new tab * @see InputOutput Index: openide/modules/apichanges.xml =================================================================== RCS file: /shared/data/ccvs/repository/openide/modules/apichanges.xml,v retrieving revision 1.7 diff -u -r1.7 apichanges.xml --- openide/modules/apichanges.xml 1 Jul 2006 09:08:52 -0000 1.7 +++ openide/modules/apichanges.xml 13 Jul 2006 14:58:21 -0000 @@ -24,6 +24,22 @@ Modules API + + +

Requires/Provides and Needs + + + + + + It is possible to require some implementation using + OpenIDE-Module-Needs: token and OpenIDE-Module-Recommends: token which are slightly + less restrictive than usual + OpenIDE-Module-Requires: token as + explain in the documentation. + + +
Generified Interfaces Index: openide/modules/manifest.mf =================================================================== RCS file: /shared/data/ccvs/repository/openide/modules/manifest.mf,v retrieving revision 1.11 diff -u -r1.11 manifest.mf --- openide/modules/manifest.mf 22 Mar 2006 06:37:52 -0000 1.11 +++ openide/modules/manifest.mf 13 Jul 2006 14:58:21 -0000 @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.modules OpenIDE-Module-Localizing-Bundle: org/openide/modules/Bundle.properties -OpenIDE-Module-Specification-Version: 7.0 +OpenIDE-Module-Specification-Version: 7.1 Index: openide/modules/src/org/openide/modules/Dependency.java =================================================================== RCS file: /shared/data/ccvs/repository/openide/modules/src/org/openide/modules/Dependency.java,v retrieving revision 1.6 diff -u -r1.6 Dependency.java --- openide/modules/src/org/openide/modules/Dependency.java 1 Jul 2006 09:08:53 -0000 1.6 +++ openide/modules/src/org/openide/modules/Dependency.java 13 Jul 2006 14:58:22 -0000 @@ -53,6 +53,21 @@ */ public final static int TYPE_REQUIRES = 5; + /** Dependency on a token, but without need to have token provider be initialised sooner. + * @see ModuleInfo#getProvides + * @since 7.1 + */ + public final static int TYPE_NEEDS = 6; + + /** An advisory dependency on a token. If at least one provider of such token is + * available, it is enabled. If there is no such provider, then nothing is done + * or reported. + * + * @see ModuleInfo#getProvides + * @since 7.1 + */ + public final static int TYPE_RECOMMENDS = 7; + /** Comparison by specification version. */ public final static int COMPARE_SPEC = 1; @@ -316,6 +331,18 @@ } else if (type == Dependency.TYPE_REQUIRES) { if (comparison != Dependency.COMPARE_ANY) { throw new IllegalArgumentException("Cannot give a comparison for a token requires dep: " + body); // NOI18N + } + + checkCodeName(name, false); + } else if (type == Dependency.TYPE_NEEDS) { + if (comparison != Dependency.COMPARE_ANY) { + throw new IllegalArgumentException("Cannot give a comparison for a token needs dep: " + body); // NOI18N + } + + checkCodeName(name, false); + } else if (type == Dependency.TYPE_RECOMMENDS) { + if (comparison != Dependency.COMPARE_ANY) { + throw new IllegalArgumentException("Cannot give a comparison for a token needs dep: " + body); // NOI18N } checkCodeName(name, false); Index: openide/modules/src/org/openide/modules/doc-files/api.html =================================================================== RCS file: /shared/data/ccvs/repository/openide/modules/src/org/openide/modules/doc-files/api.html,v retrieving revision 1.10 diff -u -r1.10 api.html --- openide/modules/src/org/openide/modules/doc-files/api.html 1 Jul 2006 09:08:53 -0000 1.10 +++ openide/modules/src/org/openide/modules/doc-files/api.html 13 Jul 2006 14:58:22 -0000 @@ -774,8 +774,19 @@ be supplied to the lookup system, though there could be other meanings. A module may also require one or more tokens. A module which requires some tokens may only be enabled by the system if for each such token, there is at least one other -module which provides that token and is already enabled. +module which provides that token and is already enabled. + +Since version 7.1 there is also support for OpenIDE-Module-Needs +which is a weaker version of requires as it does not impose any restriction on +the ordering of module. The OpenIDE-Module-Needs is useful for +modules that define some API and require an implementation of it. Just +specify the need for an implementation and make other modules depend +on your module and OpenIDE-Module-Provides the implementation token. +Moreover there is also OpenIDE-Module-Recommends which is even +weaker version as it creates a conditional dependency - e.g. enables the module +providing the token only if it is available, however if it is not, no dependency +is broken. At the heart of all these tags are the conventions used in the Index: platform/samples/minicomposer/manifest.mf =================================================================== RCS file: /shared/data/ccvs/repository/platform/samples/minicomposer/manifest.mf,v retrieving revision 1.2 diff -u -r1.2 manifest.mf --- platform/samples/minicomposer/manifest.mf 19 Jul 2005 11:59:24 -0000 1.2 +++ platform/samples/minicomposer/manifest.mf 13 Jul 2006 14:58:22 -0000 @@ -2,7 +2,7 @@ OpenIDE-Module: org.netbeans.examples.modules.minicomposer OpenIDE-Module-Localizing-Bundle: org/netbeans/examples/modules/minicomposer/resources/Bundle.properties OpenIDE-Module-Specification-Version: 1.2 -OpenIDE-Module-Requires: org.netbeans.api.javahelp.Help, org.openide.windows.IOProvider +OpenIDE-Module-Requires: org.netbeans.api.javahelp.Help OpenIDE-Module-Layer: org/netbeans/examples/modules/minicomposer/resources/layer.xml Name: org/netbeans/examples/modules/minicomposer/ScoreDataLoader.class Index: platform/samples/minicomposer/nbproject/project.xml =================================================================== RCS file: /shared/data/ccvs/repository/platform/samples/minicomposer/nbproject/project.xml,v retrieving revision 1.3 diff -u -r1.3 project.xml --- platform/samples/minicomposer/nbproject/project.xml 30 Jun 2006 14:13:03 -0000 1.3 +++ platform/samples/minicomposer/nbproject/project.xml 13 Jul 2006 14:58:22 -0000 @@ -104,7 +104,7 @@ - 1.0 + 1.11
Index: utilities/manifest.mf =================================================================== RCS file: /shared/data/ccvs/repository/utilities/manifest.mf,v retrieving revision 1.62 diff -u -r1.62 manifest.mf --- utilities/manifest.mf 12 Dec 2005 15:40:31 -0000 1.62 +++ utilities/manifest.mf 13 Jul 2006 14:58:22 -0000 @@ -4,7 +4,7 @@ OpenIDE-Module-Specification-Version: 1.22 OpenIDE-Module-Install: org/netbeans/modules/utilities/Installer.class OpenIDE-Module-Layer: org/netbeans/modules/utilities/Layer.xml -OpenIDE-Module-Requires: org.openide.windows.IOProvider, org.openide.modules.InstalledFileLocator +OpenIDE-Module-Requires: org.openide.modules.InstalledFileLocator Name: org/netbeans/modules/url/URLDataLoader.class OpenIDE-Module-Class: Loader Index: utilities/nbproject/project.xml =================================================================== RCS file: /shared/data/ccvs/repository/utilities/nbproject/project.xml,v retrieving revision 1.18 diff -u -r1.18 project.xml --- utilities/nbproject/project.xml 30 Jun 2006 22:21:50 -0000 1.18 +++ utilities/nbproject/project.xml 13 Jul 2006 14:58:22 -0000 @@ -85,7 +85,7 @@ - 1.0 + 1.11 Index: vcscore/manifest.mf =================================================================== RCS file: /shared/data/ccvs/repository/vcscore/manifest.mf,v retrieving revision 1.57 diff -u -r1.57 manifest.mf --- vcscore/manifest.mf 9 Apr 2005 16:09:04 -0000 1.57 +++ vcscore/manifest.mf 13 Jul 2006 14:58:22 -0000 @@ -3,6 +3,5 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/vcscore/Bundle.properties OpenIDE-Module-Implementation-Version: 42 OpenIDE-Module-Layer: org/netbeans/modules/vcscore/resources/mf-layer.xml -OpenIDE-Module-Requires: org.openide.windows.IOProvider OpenIDE-Module-Install: org/netbeans/modules/vcscore/VcsModule.class Index: vcscore/nbproject/project.xml =================================================================== RCS file: /shared/data/ccvs/repository/vcscore/nbproject/project.xml,v retrieving revision 1.16 diff -u -r1.16 project.xml --- vcscore/nbproject/project.xml 30 Jun 2006 14:32:46 -0000 1.16 +++ vcscore/nbproject/project.xml 13 Jul 2006 14:58:22 -0000 @@ -24,23 +24,25 @@ org.netbeans.modules.vcscore - org.openide.filesystems + org.netbeans.modules.masterfs - 6.2 + 1 + 1.1 - org.openide.util + org.netbeans.modules.queries - 6.2 + 1 + 1.4 - org.openide.modules + org.openide.actions @@ -48,7 +50,7 @@ - org.openide.nodes + org.openide.awt @@ -56,7 +58,7 @@ - org.openide.explorer + org.openide.compat @@ -64,7 +66,7 @@ - org.openide.awt + org.openide.dialogs @@ -72,15 +74,15 @@ - org.openide.dialogs + org.openide.execution - 6.2 + 1.2 - org.openide.compat + org.openide.explorer @@ -88,7 +90,7 @@ - org.openide.options + org.openide.filesystems @@ -96,23 +98,23 @@ - org.openide.windows + org.openide.io - 6.2 + 1.11 - org.openide.text + org.openide.loaders - 6.2 + 4.11 - org.openide.actions + org.openide.modules @@ -120,53 +122,51 @@ - org.openide.execution + org.openide.nodes - 1.2 + 6.2 - org.openide.io + org.openide.options - 1.0 + 6.2 - org.openide.loaders + org.openide.text - 4.11 + 6.2 - org.openidex.util + org.openide.util - 2-3 + 6.2 - org.netbeans.modules.masterfs + org.openide.windows - 1 - 1.1 + 6.2 - org.netbeans.modules.queries + org.openidex.util - 1 - 1.4 + 2-3 Index: vcsgeneric/manifest.mf =================================================================== RCS file: /shared/data/ccvs/repository/vcsgeneric/manifest.mf,v retrieving revision 1.79 diff -u -r1.79 manifest.mf --- vcsgeneric/manifest.mf 10 Aug 2005 14:44:38 -0000 1.79 +++ vcsgeneric/manifest.mf 13 Jul 2006 14:58:22 -0000 @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.vcs.advanced/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/vcs/advanced/config/Bundle.properties -OpenIDE-Module-Requires: org.openide.windows.IOProvider, org.netbeans.modules.vcscore.javacorebridge, org.netbeans.modules.refactoring.vcs +OpenIDE-Module-Requires: org.netbeans.modules.vcscore.javacorebridge, org.netbeans.modules.refactoring.vcs OpenIDE-Module-Layer: org/netbeans/modules/vcs/advanced/config/mf-layer.xml OpenIDE-Module-Install: org/netbeans/modules/vcs/advanced/ModuleLifecycleManager.class Index: vcsgeneric/nbproject/project.xml =================================================================== RCS file: /shared/data/ccvs/repository/vcsgeneric/nbproject/project.xml,v retrieving revision 1.6 diff -u -r1.6 project.xml --- vcsgeneric/nbproject/project.xml 30 Jun 2006 14:34:58 -0000 1.6 +++ vcsgeneric/nbproject/project.xml 13 Jul 2006 14:58:22 -0000 @@ -24,31 +24,34 @@ org.netbeans.modules.vcs.advanced - org.openide.filesystems + org.netbeans.modules.diff - 6.2 + 1 + - org.openide.util + org.netbeans.modules.queries - 6.2 + 1 + 1.3 - org.openide.modules + org.netbeans.modules.vcscore - 6.2 + 1 + - org.openide.nodes + org.openide.actions @@ -56,7 +59,7 @@ - org.openide.explorer + org.openide.awt @@ -64,7 +67,7 @@ - org.openide.awt + org.openide.compat @@ -80,7 +83,7 @@ - org.openide.compat + org.openide.explorer @@ -88,7 +91,7 @@ - org.openide.options + org.openide.filesystems @@ -96,62 +99,59 @@ - org.openide.windows + org.openide.io - 6.2 + 1.11 - org.openide.actions + org.openide.loaders - 6.2 + 4.11 - org.netbeans.modules.vcscore + org.openide.modules - 1 - + 6.2 - org.netbeans.modules.diff + org.openide.nodes - 1 - + 6.2 - org.openide.io + org.openide.options - 1.0 + 6.2 - org.openide.loaders + org.openide.util - 4.11 + 6.2 - org.netbeans.modules.queries + org.openide.windows - 1 - 1.3 + 6.2 Index: web/jspparser/manifest.mf =================================================================== RCS file: /shared/data/ccvs/repository/web/jspparser/manifest.mf,v retrieving revision 1.31 diff -u -r1.31 manifest.mf --- web/jspparser/manifest.mf 12 Dec 2005 15:40:35 -0000 1.31 +++ web/jspparser/manifest.mf 13 Jul 2006 14:58:22 -0000 @@ -3,5 +3,4 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/jspparser/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/web/jspparser/layer.xml OpenIDE-Module-Specification-Version: 2.6 -OpenIDE-Module-Requires: org.openide.windows.IOProvider Index: xml/core/manifest.mf =================================================================== RCS file: /shared/data/ccvs/repository/xml/core/manifest.mf,v retrieving revision 1.39 diff -u -r1.39 manifest.mf --- xml/core/manifest.mf 9 Apr 2005 16:09:17 -0000 1.39 +++ xml/core/manifest.mf 13 Jul 2006 14:58:22 -0000 @@ -4,7 +4,6 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/core/resources/Bundle.properties OpenIDE-Module-Install: org/netbeans/modules/xml/core/CoreModuleInstall.class OpenIDE-Module-Layer: org/netbeans/modules/xml/core/resources/mf-layer.xml -OpenIDE-Module-Requires: org.openide.windows.IOProvider Name: org/netbeans/modules/xml/core/XMLDataLoader.class OpenIDE-Module-Class: Loader Index: xml/core/nbproject/project.xml =================================================================== RCS file: /shared/data/ccvs/repository/xml/core/nbproject/project.xml,v retrieving revision 1.8 diff -u -r1.8 project.xml --- xml/core/nbproject/project.xml 30 Jun 2006 22:49:47 -0000 1.8 +++ xml/core/nbproject/project.xml 13 Jul 2006 14:58:22 -0000 @@ -24,21 +24,24 @@ org.netbeans.modules.xml.core - org.openide.loaders + org.netbeans.api.xml - + + 1 + 1.10 + - org.openide.filesystems + org.netbeans.spi.navigator - 6.2 + 1 - org.openide.util + org.openide.actions @@ -46,7 +49,7 @@ - org.openide.modules + org.openide.awt @@ -54,7 +57,7 @@ - org.openide.nodes + org.openide.dialogs @@ -62,7 +65,7 @@ - org.openide.awt + org.openide.filesystems @@ -70,23 +73,21 @@ - org.openide.dialogs + org.openide.io - 6.2 + 1.11 - org.openide.options + org.openide.loaders - - 6.2 - + - org.openide.windows + org.openide.modules @@ -94,7 +95,7 @@ - org.openide.text + org.openide.nodes @@ -102,7 +103,7 @@ - org.openide.actions + org.openide.options @@ -110,30 +111,29 @@ - org.openide.io + org.openide.text - 1.0 + 6.2 - org.netbeans.api.xml + org.openide.util - 1 - 1.10 + 6.2 - org.netbeans.spi.navigator + org.openide.windows - 1 + 6.2 - + org.netbeans.modules.xml.api Index: xml/css/manifest.mf =================================================================== RCS file: /shared/data/ccvs/repository/xml/css/manifest.mf,v retrieving revision 1.24 diff -u -r1.24 manifest.mf --- xml/css/manifest.mf 12 Dec 2005 15:40:41 -0000 1.24 +++ xml/css/manifest.mf 13 Jul 2006 14:58:22 -0000 @@ -4,7 +4,6 @@ OpenIDE-Module-Install: org/netbeans/modules/css/CSSModuleInstall.class OpenIDE-Module-Layer: org/netbeans/modules/css/resources/mf-layer.xml OpenIDE-Module-Specification-Version: 1.12 -OpenIDE-Module-Requires: org.openide.windows.IOProvider Name: org/netbeans/modules/css/CSSLoader.class OpenIDE-Module-Class: Loader Index: xml/css/nbproject/project.xml =================================================================== RCS file: /shared/data/ccvs/repository/xml/css/nbproject/project.xml,v retrieving revision 1.5 diff -u -r1.5 project.xml --- xml/css/nbproject/project.xml 30 Jun 2006 22:50:29 -0000 1.5 +++ xml/css/nbproject/project.xml 13 Jul 2006 14:58:22 -0000 @@ -41,7 +41,7 @@ - org.openide.filesystems + org.openide.actions @@ -49,7 +49,7 @@ - org.openide.util + org.openide.awt @@ -57,7 +57,7 @@ - org.openide.modules + org.openide.filesystems @@ -65,23 +65,21 @@ - org.openide.nodes + org.openide.io - 6.2 + 1.11 - org.openide.awt + org.openide.loaders - - 6.2 - + - org.openide.options + org.openide.modules @@ -89,7 +87,7 @@ - org.openide.windows + org.openide.nodes @@ -97,7 +95,7 @@ - org.openide.text + org.openide.options @@ -105,7 +103,7 @@ - org.openide.actions + org.openide.text @@ -113,18 +111,20 @@ - org.openide.io + org.openide.util - 1.0 + 6.2 - org.openide.loaders + org.openide.windows - + + 6.2 +