These three elements must all match for a plugin module to be discovered:
File name
Class name
Declared module_name
It seems that these items can be different when building CP from source. But the modules will not be created correctly (they complain about not being able to find core CP imports, e.g. CP-core Module).
To reproduce:
Create a simple module with these 3 elements not matching (it was sufficient to add an underscore _ to the file name, but be otherwise equal)
Build CP from source
Run CP and point it at the CP-plugins directory with aforementioned module
Restart and run CP > plugin should be discovered ok
Install a binary CP distribution
run CP from the binary > plugin is not discovered (they reuse the same configured plugins directory)
These three elements must all match for a plugin module to be discovered:
module_name
It seems that these items can be different when building CP from source. But the modules will not be created correctly (they complain about not being able to find core CP imports, e.g. CP-core
Module
).To reproduce:
_
to the file name, but be otherwise equal)Suspect line of code is here in CP-core plugins.py.
Tested on Windows with case-insensitive files. Didn't test on case-sensitive OS, e.g. on Mac.