[Bioperl-l] versioning

Jason Stajich jason at cgt.duhs.duke.edu
Tue Dec 23 10:11:03 EST 2003


Keeping a VERSION variable up to date in every single bioperl module
(711 right now) is a severe PITA.
find Bio -name '*.pm' | wc -l
     711

So in order to simplify this, Aaron wrote Bio::Root::Version.

=head1 NAME

Bio::Root::Version - provide global, distribution-level versioning

=head1 DESCRIPTION

This module provides a mechanism by which all other BioPerl modules
can share the same $VERSION, without manually synchronizing each file.

Bio::Root::RootI itself uses this module, so any module that directly
(or indirectly) uses Bio::Root::RootI will get a global $VERSION
variable set if it's not already.




 perl -e 'use Bio::Seq; print $Bio::Seq::VERSION, "\n"'
 perl -e 'use Bio::SeqIO; print $Bio::SeqIO::VERSION, "\n"';

On Tue, 23 Dec 2003, 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
>

--
Jason Stajich
Duke University
jason at cgt.mc.duke.edu


More information about the Bioperl-l mailing list