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 + )], + + );