[Bioperl-l] versioning

Heikki Lehvaslaiho heikki at nildram.co.uk
Tue Dec 23 10:54:25 EST 2003


Juguang,

We've had quite a lot of trouble with $VERSION. Pre-1.4 we did not have any 
consistent system.  I was planning a script based system probably quite 
similar to yours when Aaron came up with Bio::Root::Version.

Now all modules get their version from Bio::Root::Version (via 
Bio::Root::RootI). This system has its limitations: most importantly, you can 
not query the verson from multiple modules.  However, getting a consistent 
answer from any module using, e.g.

	perl -MBio::Perl -le 'print Bio::Perl->VERSION;'

is quite an advancement in my opinion. 

The problem I can see in your implementation is that perl 5.005 that we are 
still supporting, does not know 'our'. (like pointed out  by Hilmar 
yesterday)
 
So again, I'd like to err to the conservative side rather than change for its 
own sake. Let's give the current version implementation a chance, but keep 
your script in mind for the future.  If the current system does not work in 
practise,we could change it for the next release. 

It would be nice to modernize bioperl a bit. I guess we should poll our users 
if we could drop supporting versions pre 5.6.

Have a good holidays,

	-Heikki

On Tuesday 23 Dec 2003 9:33 am, Juguang Xiao wrote:
> Hi list,
>
> I think this is more meaningful suggestion than what I had previously.
> Most of Bioperl modules does not have $VERSION, which is encouraged by
> CPAN community. Should we make it in release 1.4? I am aware that there
> are an array of emails in this list about this versioning, but they do
> not pass the simple condition,
>
> perl -MExtUtils::MakeMaker -le  'print MM->parse_version(shift)' 'file'
>
> in http://www.cpan.org/modules/04pause.html#conventions
>
> I have written a quite short script, maintenance/version.pl, in CVS
> now. It append
>
> our $VERSION="1.4";
>
> after the package declaration line. It changes almost all bioperl
> modules, except
>
> 1.4
> /home/juguang/src/bioperl-live//Bio/Root/Version.pm
> 0.50
> /home/juguang/src/bioperl-live//Bio/Tools/dpAlign.pm
> 1.15
> /home/juguang/src/bioperl-live//t/Test.pm
>
> After the changes, all my tests pass, except t/RestrictionIO, it never
> passes on my MacOS 10.2.8, Perl 5.6.
>
> I do not think other way except writing 'our $VERSION="1.4";' line
> explicitly in each file. Since we should do this before compile time.
> Also I don't think it is good to let Makefile to do it for us, since it
> should be done before distribution.
>
> Let me know if you like this idea and script. Core guys, you can run it
> on your machine and commit 700 modules!, or I can do it, if you do not
> say no.
>
> Juguang
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at portal.open-bio.org
> http://portal.open-bio.org/mailman/listinfo/bioperl-l

-- 
______ _/      _/_____________________________________________________
      _/      _/                      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