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.

View | Details | Raw Unified | Return to bug 200717
Collapse All | Expand All

(-)a/o.n.bootstrap/src/org/netbeans/ModuleManager.java (-1 / +1 lines)
Lines 1300-1306 Link Here
1300
                // Should never happen:
1300
                // Should never happen:
1301
                if (other == null) throw new IllegalStateException("Should have found module: " + codeNameBase); // NOI18N
1301
                if (other == null) throw new IllegalStateException("Should have found module: " + codeNameBase); // NOI18N
1302
                if (!couldBeEnabledWithEagers(other, willEnable, recursion)) return false;
1302
                if (!couldBeEnabledWithEagers(other, willEnable, recursion)) return false;
1303
            } else if (dep.getType() == Dependency.TYPE_REQUIRES) {
1303
            } else if (dep.getType() == Dependency.TYPE_REQUIRES || dep.getType() == Dependency.TYPE_NEEDS) {
1304
                Set<Module> providers = providersOf.get(dep.getName());
1304
                Set<Module> providers = providersOf.get(dep.getName());
1305
                if (providers == null) throw new IllegalStateException("Should have found a provider of: " + dep.getName()); // NOI18N
1305
                if (providers == null) throw new IllegalStateException("Should have found a provider of: " + dep.getName()); // NOI18N
1306
                // Just need *one* to match.
1306
                // Just need *one* to match.
(-)9a70208e31a7 (+5 lines)
Added Link Here
1
Manifest-Version: 1.0
2
OpenIDE-Module: org.baf/1
3
OpenIDE-Module-Name: Depends on needs_foo test module
4
OpenIDE-Module-Module-Dependencies: needs_foo
5
(-)a/o.n.bootstrap/test/unit/src/org/netbeans/ModuleManagerTest.java (+25 lines)
Lines 1237-1242 Link Here
1237
        }
1237
        }
1238
    }
1238
    }
1239
1239
1240
    public void testProvNeedsWithEager() throws Exception {
1241
        MockModuleInstaller installer = new MockModuleInstaller();
1242
        MockEvents ev = new MockEvents();
1243
        ModuleManager mgr = new ModuleManager(installer, ev);
1244
        mgr.mutexPrivileged().enterWriteAccess();
1245
        try {
1246
            // m1 is regular (disabled) module, providing foo
1247
            Module m1 = mgr.create(new File(jars, "prov-foo.jar"), null, false, false, false);
1248
            // m2 is autoload module, which needs foo
1249
            Module m2 = mgr.create(new File(jars, "needs-foo.jar"), null, false, true, false);
1250
            // m3 is eager module, which depends on m2
1251
            Module m3 = mgr.create(new File(jars, "dep-on-needs_foo-simple.jar"), null, false, false, true);
1252
            
1253
            mgr.enable(Collections.EMPTY_SET);
1254
            // since m1 is disabled, eager module m3 should be still disabled
1255
            assertFalse("Incorrectly enabled m1",m1.isEnabled());
1256
            assertFalse("Incorrectly enabled m2",m2.isEnabled());
1257
            assertFalse("Incorrectly enabled m3",m3.isEnabled());
1258
        } catch (IllegalArgumentException ex) {
1259
            fail(ex.getMessage());
1260
        } finally {
1261
            mgr.mutexPrivileged().exitWriteAccess();
1262
        }
1263
    }
1264
1240
    public void testComplexProvNeeds() throws Exception {
1265
    public void testComplexProvNeeds() throws Exception {
1241
        doComplexProvNeeds(false, false, false);
1266
        doComplexProvNeeds(false, false, false);
1242
    }
1267
    }
(-)a/o.n.bootstrap/test/unit/src/org/netbeans/SetupHid.java (+1 lines)
Lines 230-235 Link Here
230
        createTestJAR("dep-on-relvertest-3-4", null);
230
        createTestJAR("dep-on-relvertest-3-4", null);
231
        createTestJAR("dep-on-relvertest-some", null);
231
        createTestJAR("dep-on-relvertest-some", null);
232
        createTestJAR("depends-on-simple-module-2", null);
232
        createTestJAR("depends-on-simple-module-2", null);
233
        createTestJAR("dep-on-needs_foo-simple", null);
233
        createTestJAR("needs-foo", null);
234
        createTestJAR("needs-foo", null);
234
        createTestJAR("recommends-foo", null);
235
        createTestJAR("recommends-foo", null);
235
        createTestJAR("prov-foo-depends-needs_foo", "prov-foo");
236
        createTestJAR("prov-foo-depends-needs_foo", "prov-foo");

Return to bug 200717