On Apr 21, 2006, at 11:17, John Peacock wrote:
PAUSE requires a package name and a $VERSION, neither of which exist in any current plugins (although it is apparently possible to add them and have the plugin still function). There is the [minor] issue of having to sign up for a PAUSE account. I don't know if it is worth it for such small files (since we can already load them to the wiki).
Well, there's nothing to stop them from having a package name and a version, especially if the Qpsmtpd::Plugin namespace is explicitly supported by qpsmtpd as another place to look for plugins.
As far as testing goes, I suppose someone could create a Qpsmtpd::Test class that would load/compile the plugin and then do simplified unit testing (basically see what hooks are registered and then feed them data and see what comes back).
Exactly.
There would be a certain level of duplication involved (e.g. Qpsmtpd::Constants as a whole, bits of Qpsmtpd.pm, and at least some of Qpsmtpd::Plugins). The existing Test::Qpsmtpd framework isn't going to be usable because it relies on having the actual Qpsmtpd classes available.
Yeah. I'm not sure why Qpsmtpd itself can't be distributed via CPAN, but I admit that I haven't played with it enough yet to really know. One thing I do know: It seems to depend on a relative directory for plugins. However, if all default plugins were moved to the Qpsmtpd::Plugin namespace, that problem goes away.
I guess, then, that it comes down to the config file. But other apps on CPAN deal with that, no?
Best, David
