Project: aptanastudio
Issue APSTUD-4543: Build participants get instantiated even if they're not used in build, resulting in unused plugins loading unnecessarily
I noticed that even if I had no PHP projects or files in my workspace, the PHP plugin is loading and generating builtins (which eats RAM). Diving deeper, it's because of the way I implemented the UnifiedBuilder and build participants. We instantiate every single one, then filter them down by enablement and then on a per-file basis we filter based on content types. If possible we should only instantiate the actual classes when they're used, and filter based on prefs/extension attributes.
Story points: 13