# from Johan Vromans
# on Friday 18 May 2007 12:46 pm:

>Hoewever, it should not be a requirement. We could make it a
>recommendation.

Please stop saying anything about requirements!  I never mentioned 
requirement, enforcement, etc.

>So, one of the first things we'd need is a Application::Starter module
>(program?) to set up the basic structure.

I'm currently using a very hacked-up Module::Starter for modules, but 
the config-via-subclassing scheme can be painful and has to be debugged 
as soon as it becomes non-trivial.  It could be made to work for 
scripts, but I think would involve deleting some .pm files after 
generation.

So I would like to take a step back and look comprehensively at the 
whole boiler-plate, test, version control, publish issue.  This is what 
I'm calling "The Comprehensive Perl Development Kit".  The current code 
is only a rough-in and pile of notes, but I'm working on it as part of 
the three-platform binary + source release mechanism of dotReader, 
so...
  http://scratchcomputing.com/svn/CPDK/trunk/

See also: ShipIt and maybe a few others.  This is fairly nascent, but 
the idea is to somehow support user+project config files and mixins or 
traits rather than subclasses as a means of customization (with the 
utopian idea that cooperating tools and components could be built by 
multiple authors.)  I have a dream that I'll oneday be able to hit a 
big button to bring CPAN releases up-to-date with my svn but I don't 
claim to exactly have the answer for how it works.

As for the script-as-module skeleton, this is one of those works-for-me 
things which could fairly easily be brought into the CPDK scheme.
  http://scratchcomputing.com/svn/misc/trunk/code/perl/bin/new_tool

>> And yes, we're currently lacking installer support for that.
>
>You seem to be rather fluid with Module::Build. Would it be an option
>to have Application::Starter put a Module::Build derived class in the
>generated structure to deal with that?

Sure.  Or a dependency on a plugin, or just builtin support in 
Module::Build.  For now, I think we can just create a Build.PL that is 
able to get the version number and author from the script and have a 
pretty descent script-only distro.  Of course, I'll have too look into 
what happens in the absence of a lib dir.

But that's enough of reciting my todo list for one day.  I'll have to 
see where the tuits fall.

--Eric
-- 
If the above message is encrypted and you have lost your pgp key, please
send a self-addressed, stamped lead box to the address below.
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------

Reply via email to