Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: non-CPAN module distributions

by leriksen (Curate)
on Sep 17, 2003 at 00:35 UTC ( [id://292008]=note: print w/replies, xml ) Need Help??


in reply to non-CPAN module distributions

I think there are several advantages to breaking up the lotsa-modules structure you have
  • you get to think about exactly how all the parts relate to each other
  • whilst they may not be candidates for CPAN, you can create localised 'general' modulues - I find I end up with three groups -
    1. core
    2. tools/utils
    3. specials
  • there are opportunities to refactor/simplify
  • your release process can be better defined - this release is based on fixes to library A and extensions to library B, instead of we changed a whole bunch o stuff
  • because the libraries are separated, one would hope that over time opportunities to use some of them for other projects would emerge - if they are all in one, that step may not be made
  • it shows a level of maturity in your's and the codes development

As for the versioning I use the $VERSION string too, but sometime I even create a VERSION.pm file for a library, whose only job is to hold the master version identity of the library. I sometime link this to the CVS version support via
$VERSION = sprintf("%d.%2d", q$Revision$ =~ /(\d+)\.(\d+)/);
or I link to a tag holding the master version identity in CVS via
$VERSION = sprintf("%d.%2d", q$Name$ =~ /(\d+)_(\d+)/);
Be aware that $Name requires you checkout with -r <tagname>, and that CVS doesn't allow you to put '.'s in tagnames, that's why I use the '_' character.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://292008]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (None)
    As of 2024-04-25 00:00 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found