[Bioperl-l] Global version number for all bioperl modules

Heikki Lehvaslaiho heikki at ebi.ac.uk
Wed Jun 4 10:19:24 EDT 2003

I've done the changes. All the modules in bioperl now get their $VERSION
from Bio::Root::Version.

A few exceptions and complications:

1. When I comment out $VERSION from Bio::DB::GFF::Adaptor::memory 
   t/BioDBGFF.t fail, but I can not see the reason for it. The error 
   from Bio::DB::GFF complains about memory module not evaluating to
   true, which really should not be dependant on this variable?

2. Bio::Index modules still return same values from _version(), so
   that older indexes can be accessed, but those values are not
   assigned to $VERSION.

3. None of the core or run modules should complain when tested like:
    perl -e 'use Bio::DB::GFF::Adaptor::memory 1.3;'
    perl -we 'use Bio::Root::HTTPget; print \   
              $Bio::Root::HTTPget::VERSION, "\n";'
    # will print "1.3\n"

4. maintenance/modules.pl has a new option --version which should 
   test all core modules for version number but the code sometimes 
   returns the correct number and sometimes, not even when it can 
   be accessed from command line.  Could someone help please!
   (I've limited the output for Bio::Root modules for now):

                              Bio::Root::Err 1.3
                        Bio::Root::Exception 1.3
                           Bio::Root::Global 1.3
                          Bio::Root::HTTPget ---
                               Bio::Root::IO ---
                        Bio::Root::IOManager ---
                           Bio::Root::Object 1.3
                             Bio::Root::Root 1.3
                            Bio::Root::RootI 1.3
                        Bio::Root::Utilities ---
                           Bio::Root::Vector 1.3
                          Bio::Root::Version 1.3
                             Bio::Root::Xref ---


On Mon, 2003-06-02 at 12:09, Heikki Lehvaslaiho wrote:
> Dear All,
> One of the headaches we've had in the past with bioperl releases is that
> CPAN, despite all our efforts, seems to pick up the representative
> module for the bioperl CPAN bundle more or less randomly and therefore
> the version numbers seem to jump up and down. (If you have bioperl
> installed, go into cpan shell and press 'r' to see upgrade
> recommendations, and you'll see what I mean).
> The solution is to have one centrally controlled version number for all
> bioperl modules, provided by Aaron Mackey in March in the form of
> Bio::Root::Version:
> http://bioperl.org/pipermail/bioperl-l/2003-March/011527.html
> There are quite a number of modules (164 in core+run to be exact) that
> set $VERSION so that it overwrites the global value. I do not think
> there is any advantage to that. They are commonly set at 0.1 and never
> changed again. Unless someone feels very strongly against that  I am
> going to remove them all. 
> In the rare cases where the module does not inherit from
> Bio::Root::RootI, I'll add it.
> If you need to keep track of CVS or other version numbers, I suggest you
> use variable $Revision. You can use either of the code examples below:
> use vars qw(@ISA $VERSION $Revision);
> BEGIN { 
>   $VERSION = do { my @r = (q$Revision: 1.8 $ =~ /\d+/g); 
>          sprintf "%d.%-02d", @r };
>   $Revision = q$Id: Biblio.pm,v 1.8 2003/05/17 19:03:52 heikki Exp $;
> }
> (This is from current Bio::Biblio, I'll remove the $VERSION )
> 	-Heikki
______ _/      _/_____________________________________________________
      _/      _/                      http://www.ebi.ac.uk/mutations/
     _/  _/  _/  Heikki Lehvaslaiho    heikki_at_ebi ac uk
    _/_/_/_/_/  EMBL Outstation, European Bioinformatics Institute
   _/  _/  _/  Wellcome Trust Genome Campus, Hinxton
  _/  _/  _/  Cambs. CB10 1SD, United Kingdom
     _/      Phone: +44 (0)1223 494 644   FAX: +44 (0)1223 494 468
___ _/_/_/_/_/________________________________________________________

More information about the Bioperl-l mailing list