Snapcraft 4.0.4: failed to load plugin

Snapcraft 4.0.4 was just released to stable, and now Nextcloud is no longer building, as snapcraft can no longer find the local plugins that have been working for years:

Failed to load plugin: unknown plugin: ‘apache’

My CI is busted. What changed regarding local plugins?

1 Like

Having the same problem here, seems Snapcraft 4.0.4 does not load local plugins any longer.

Sorry, I guess we missed this (as we never really had a test for this scenario) and we don’t even document local plugins like this https://snapcraft.io/docs/writing-local-plugins

Fix is imminent though.

Do your plugin names and plugin filenames also differ like for the reporter? We are fixing that issue, but if yours is different we would need to know about it.

The filename is called x-openresty.py, which houses OpenRestyPlugin class, and the plugin is called openresty. The reporter names

Failed to load plugin: unknown plugin: 'openresty'

OK, the fix is incoming, if you want to try on your side though, either changing the plugin entry to plugin: x-openresty OR the filename to just openresty.py should work.

Indeed, changing the filename to openresty.py works. Thanks for the quick response!

Should we change the base class from BasePlugin to PluginV1 for future proofing?

Yes, that would be a good idea :slight_smile:

PR for compat: https://github.com/snapcore/snapcraft/pull/3166