Ampliando Module::Build
Directorio de instalación de la distribución
La acción distdir
lee el manifiesto del paquete y copia todos los archivos a
un directorio nuevo formado con el nombre de la distribución y la versión.
Para averigüar automáticamente qué nombre es ese podemos ampliar nuestro
programa de construcción con un método de nuestra elección:
1 use Module::Build; 2 3 my $class = Module::Build->subclass( code => <<'SUBCLASS' ); 4 5 sub ACTION_showdistdir { 6 my $self = shift; 7 8 print $self->dist_dir(),"\n"; 9 } 10 SUBCLASS 11 12 my $build = $class->new( ... ); 13 14 $build->create_build_script();
Es decir, utilizamos un método de clase de --modulebuild-- llamado subclass
para añadir un acción llamada showdistdir
a una nueva clase, heredera de
--modulebuild--, y que servirá para construir el paquete igual que su clase
base.
Para usarlo emplearemos la secuencia habitual sólo que después podemos llamar
a la nueva acción que nos mostrará justo la información que necesitamos para
usarla en nuestro archivo make
:
$ perl Build.PL
Deleting _build
Creating custom builder _build/lib/MyModuleBuilder.pm in _build/lib
Checking whether your kit is complete...
Looks good
Deleting Build
Removed previous script 'Build'
Creating new 'Build' script for 'Taquiones-Admin' version '0.9'
$ perl Build showdistdir
Taquiones-Admin-0.9
$