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

Reply via email to