# Deprecated since 5.0u1; for compatibility with 5.0:
disabled.clusters=\
    apisupport1,\
    harness,\
    ide8,\
    java1,\
    nb6.0,\
    profiler2
disabled.modules=\
    org.netbeans.core.execution,\
    org.netbeans.core.multiview,\
    org.netbeans.core.output2,\
    org.netbeans.modules.applemenu,\
    org.netbeans.modules.autoupdate.services,\
    org.netbeans.modules.autoupdate.ui,\
    org.netbeans.modules.core.kit,\
    org.netbeans.modules.favorites,\
    org.netbeans.modules.javahelp,\
    org.netbeans.modules.masterfs,\
    org.netbeans.modules.options.keymap,\
    org.netbeans.modules.sendopts,\
    org.netbeans.modules.templates,\
    org.openide.compat,\
    org.openide.execution,\
    org.openide.util.enumerations
enabled.clusters=\
    platform7
nbjdk.active=JDK_1.6
nbplatform.active=default
