Subject: | poor handling in plugins depending on other plugins using optional features |
t/load_plugins.t in the 1.003021 release dies a horrible death when optional features are not installed -- 'use Devel::REPL::Plugin::CompletionDriver::Globals' does not detect at compile time that Devel::REPL::Plugin::Completion is not available, so it can also bail out of compilation.
Also see RT#88562... it would help if load_plugin() returned false if loading failed, but this doesn't seem to be happening at compile time (even though BEFORE_PLUGIN is called via role application) -- I don't understand why this is running too late to bail out of compilation.
I'm fixing this for now by adding a 'use Devel::REPL::Plugin::Completion' to the module, but this feels like a hack, as load_plugin('Completion') should be be able to handle this, so I'd appreciate if someone else would take a look and suggest a better fix.