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.
Performance test reports there is NetBeans startup regression which is caused by the loading of the following classes: org.netbeans.modules.editor.deprecated.pre61settings.EditorPreferencesInjector org.netbeans.modules.editor.deprecated.pre61settings.KeybindingsInjector Please don't load them. More information is available via URL. The comment from jtulach: "These classes shall not be loaded at all. Víťa knows if this is tracked or not. If not, please report it as P2 bug. I guess that one of the goals for 7.0 was to remove deprecated APIs and this clearly is deprecated, so I guess it deserves to be P2 goal..."
Created attachment 76230 [details] Stacktraces
I think that something strange goes on during black/whitelist tests. The editor.deprecated.pre61settings module is a deprecated autoload; there are no modules that trigger loading this autoload module during 'normal' IDE startup (eg. with ergonomic1 cluster commented out). However in black/whitelist tests the module __is__ loaded for some reason. I suspect that during these tests the module system is forced to load all modules including autoload modules that would not normally be loaded. Jardo could you please double check these tests and advice what to do? Thanks
Created attachment 76668 [details] enableAutoloads(false)
NbModuleSuite turns autoloads into regular modules if they match the enableModules(pattern). I am not sure what this feature is for, but it is there since beginnings and I am afraid to incompatibly change it. It might cause failures in a lot of tests (it definitely managed to fail few in nbjunit itself). As such I am proposing to add new enableAutoloads(false) method. That is safe, compatible addition. OK? Or anyone prefers incompatible change?
I would expect a single flag to make both autoloads and eager behave "normally". If so, perhaps you can take advantage of the new flag in ValidateUpdateCenterTest.loadManifests, though it is already working the way it is. BTW accidental indentation change for matcherEnabled.
Y01 Add org.openide.options.SystemOption to blacklist Re. "normally" - eager modules already behave normally, as far as I can tell. I can rename the enableAutoloads(false) to ignoreNonRegular(true) or controlJustRegular(true) or enableOnlyRegular(true), if you think this is better.
I think "enableAutoloads(false)" is misleading because it implies that no autoloads will be enabled; similarly "enableOnlyRegular(true)". Perhaps "honorAutoloadEager(true)" as a departure from the default behavior would be easier to understand? I find it pretty confusing that by default autoloads in the CP are all turned on but eagers may not be, if this is in fact the case.
Well, eagers will be enable if all their dependencies are satisfied, which is usually the case. honorAutoloadEager(true) seems OK. The alternative is to make incompatible change. I can do it if that is what everyone wants.
core-main#2c92ef6a2f9b
Integrated into 'main-golden', will be available in build *200902161401* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main/rev/2c92ef6a2f9b User: Jaroslav Tulach <jtulach@netbeans.org> Log: #157429: Verifying that SystemOption is no longer in used in the real IDE