Changeset 495


Ignore:
Timestamp:
10/26/08 07:56:39 (3 years ago)
Author:
tsee
Message:

Add plugin and installplugin targets

File:
1 edited

Legend:

Unmodified
Added
Removed
  • plugins/par/Build.PL

    r493 r495  
     1use 5.008; 
    12use strict; 
    23use warnings; 
    34 
    4 use Module::Build         (); 
     5use Module::Build (); 
     6my $class = Module::Build->subclass( 
     7  class => 'Padre::Plugin::Builder', 
     8  code => <<'HEREDOC', 
     9sub ACTION_plugin { 
     10  my ($self) = @_; 
    511 
    6 my $builder = Module::Build->new( 
     12  # Need PAR::Dist 
     13  if ( not eval { require PAR::Dist; PAR::Dist->VERSION(0.17) } ) { 
     14    $self->log_warn( "In order to create .par files, you need to install PAR::Dist first." ); 
     15    return(); 
     16  } 
     17  $self->depends_on( 'build' ); 
     18  my $module = $self->module_name(); 
     19  $module =~ s/^Padre::Plugin:://; 
     20 
     21  return PAR::Dist::blib_to_par( 
     22    name => $self->dist_name, 
     23    version => $self->dist_version, 
     24    dist => "$module.par", 
     25  ); 
     26} 
     27 
     28sub ACTION_installplugin { 
     29  my ($self) = @_; 
     30 
     31  $self->depends_on( 'plugin' ); 
     32 
     33  my $module = $self->module_name(); 
     34  $module =~ s/^Padre::Plugin:://; 
     35  my $plugin = "$module.par"; 
     36 
     37  require Padre; 
     38  my $plugin_dir = Padre::Config->default_plugin_dir; 
     39 
     40  return $self->copy_if_modified(from => $plugin, to_dir => $plugin_dir); 
     41} 
     42HEREDOC 
     43); 
     44 
     45my $builder = $class->new( 
    746    module_name           => 'Padre::Plugin::PAR', 
    847    license               => 'perl', 
Note: See TracChangeset for help on using the changeset viewer.