stas        2003/03/22 00:20:30

  Modified:    src/docs/2.0/api config.cfg
  Added:       src/docs/2.0/api/ModPerl BuildMM.pod MM.pod
  Log:
  start the docs for ModPerl::MM
  
  Revision  Changes    Path
  1.1                  modperl-docs/src/docs/2.0/api/ModPerl/BuildMM.pod
  
  Index: BuildMM.pod
  ===================================================================
  =head1 NAME
  
  ModPerl::BuildMM -- A "subclass" of ModPerl::MM used for building mod_perl 2.0
  
  =head1 SYNOPSIS
  
    use ModPerl::BuildMM;
    
    # ModPerl::BuildMM takes care of doing all the dirty job of overriding 
    ModPerl::BuildMM::WriteMakefile(...);
  
    # if there is a need to extend the methods 
    sub MY::postamble {
        my $self = shift;
    
        my $string = $self->ModPerl::BuildMM::MY::postamble;
    
        $string .= "\nmydist : manifest tardist\n";
    
        return $string;
    }
  
  
  =head1 DESCRIPTION
  
  C<ModPerl::BuildMM> is a "subclass" of C<ModPerl::MM> used for
  building mod_perl 2.0. Refer to
  C<L<ModPerl::MM|docs::2.0::api::ModPerl::MM>> manpage.
  
  =head1 OVERRIDEN METHODS
  
  C<ModPerl::BuildMM> overrides the following methods:
  
  =head2 C<ModPerl::BuildMM::MY::constants>
  
  
  =head2 C<ModPerl::BuildMM::MY::top_targets>
  
  
  =head2 C<ModPerl::BuildMM::MY::postamble>
  
  
  =head2 C<ModPerl::BuildMM::MY::post_initialize>
  
  
  =head2 C<ModPerl::BuildMM::MY::libscan>
  
  
  =cut
  
  
  
  1.1                  modperl-docs/src/docs/2.0/api/ModPerl/MM.pod
  
  Index: MM.pod
  ===================================================================
  =head1 NAME
  
  ModPerl::MM -- A "subclass" of ExtUtils::MakeMaker for mod_perl 2.0
  
  =head1 SYNOPSIS
  
    use ModPerl::MM;
    
    # ModPerl::MM takes care of doing all the dirty job of overriding 
    ModPerl::MM::WriteMakefile(...);
  
    # if there is a need to extend the methods 
    sub MY::constants {
        my $self = shift;
        $self->ModPerl::MM::MY::constants;
        # do something else;
    }
  
    # or prevent overriding
    sub MY::constants { shift->MM::constants(@_); }";
  
  =head1 DESCRIPTION
  
  C<ModPerl::MM> is a "subclass" of C<ExtUtils::MakeMaker> for mod_perl
  2.0, to a degree of sub-classability of C<ExtUtils::MakeMaker>. 
  
  When C<ModPerl::MM::WriteMakefile()> is used instead of
  C<ExtUtils::MakeMaker::WriteMakefile()>, C<ModPerl::MM> overrides
  several C<ExtUtils::MakeMaker> methods behind the scenes. So in most
  cases 3rd party module developers for mod_perl 2.0, don't need to mess
  with I<Makefile.PL> at all.
  
  C<ModPerl::MM> overrides method I<foo> as long as I<Makefile.PL>
  hasn't already specified a method I<MY::foo>. If the latter happens,
  C<ModPerl::MM> will DWIM and do nothing.
  
  In case the functionality of C<ModPerl::MM> methods needs to be
  extended, rather than completely overriden, the C<ModPerl::MM> methods
  can be called internally. For example if you need to modify constants
  in addition to the modifications applied by
  C<ModPerl::MM::MY::constants>, call the C<ModPerl::MM::MY::constants>
  method (notice that it resides in the package C<ModPerl::MM::MY> and
  not C<ModPerl::MM>), then do your extra manipulations on constants:
  
    # if there is a need to extend the methods 
    sub MY::constants {
        my $self = shift;
        $self->ModPerl::MM::MY::constants;
        # do something else;
    }
  
  In certain cases a developers may want to prevent from C<ModPerl::MM>
  to override certain methods. In that case an explicit override in
  I<Makefile.PL> will do the job. For example if you don't want the
  C<constants()> method to be overriden by C<ModPerl::MM>, add to your
  I<Makefile.PL>:
  
    sub MY::constants { shift->MM::constants(@_); }";
  
  =head1 OVERRIDEN METHODS
  
  C<ModPerl::MM> overrides the following methods:
  
  =head2 C<ModPerl::MM::MY::constants>
  
  This method makes sure that everything gets installed relative to the
  C<Apache2/> subdir if C<MP_INST_APACHE2=1> was used to build mod_perl
  2.0.
  
  =head2 C<ModPerl::MM::MY::post_initialize>
  
  This method makes sure that everything gets installed relative to the
  C<Apache2/> subdir if C<MP_INST_APACHE2=1> was used to build mod_perl
  2.0.
  
  =cut
  
  
  
  1.19      +14 -6     modperl-docs/src/docs/2.0/api/config.cfg
  
  Index: config.cfg
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/api/config.cfg,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- config.cfg        11 Mar 2003 07:33:53 -0000      1.18
  +++ config.cfg        22 Mar 2003 08:20:30 -0000      1.19
  @@ -27,12 +27,6 @@
           Apache/compat.pod
       )],
   
  -    group    => 'Apache:: Non-Core (Helper Apps)',
  -    chapters => [qw(
  -        Apache/Reload.pod
  -        Apache/Status.pod
  -    )],
  -
       group    => 'APR:: Core API',
       chapters => [qw(
           APR/PerlIO.pod
  @@ -42,6 +36,7 @@
       group    => 'ModPerl::',
       chapters => [qw(
           ModPerl/MethodLookup.pod
  +        ModPerl/MM.pod
           ModPerl/PerlRun.pod
           ModPerl/Registry.pod
           ModPerl/RegistryBB.pod
  @@ -49,5 +44,18 @@
           ModPerl/RegistryLoader.pod
           ModPerl/Util.pod
       )],
  +
  +    group    => 'Helper Modules / Applications',
  +    chapters => [qw(
  +        Apache/Reload.pod
  +        Apache/Status.pod
  +    )],
  +
  +    group    => 'Internal Modules',
  +    chapters => [qw(
  +        ModPerl/BuildMM.pod
  +    )],
  +
  +
   
   );
  
  
  

Reply via email to