package Apache::Template;
use ExtUtils::MakeMaker;
use lib qw( lib );
use Apache::Template;
use Apache::ExtUtils qw( command_table );
use Apache::src ();
my @directives = (
#-- parsing/style options --
{ name => 'TT2Tags',
errmsg => 'tag style or start and end tags for template directives',
args_how => 'TAKE12',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2PreChomp',
errmsg => 'flag to remove newline and whitespace before directives',
args_how => 'FLAG',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2PostChomp',
errmsg => 'flag to remove newline and whitespace after directives',
args_how => 'FLAG',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2Trim',
errmsg => 'flag to trim whitespace surrounding template output',
args_how => 'FLAG',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2AnyCase',
errmsg => 'flag to allow directive keywords in any case',
args_how => 'FLAG',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2Interpolate',
errmsg => 'flag to interpolate embedded variable references',
args_how => 'FLAG',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
#-- file/directory options --
{ name => 'TT2IncludePath',
errmsg => 'local path(s) containing templates',
args_how => 'ITERATE',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2Absolute',
errmsg => 'flag to enable absolute filenames',
args_how => 'FLAG',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2Relative',
errmsg => 'flag to enable relative filenames',
args_how => 'FLAG',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2Delimiter',
errmsg => 'alternative directory delimiter',
args_how => 'TAKE1',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
#-- service template options --
{ name => 'TT2PreProcess',
errmsg => 'template(s) to process before each main template',
args_how => 'ITERATE',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2PostProcess',
errmsg => 'template(s) to process after each main template',
args_how => 'ITERATE',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2Process',
errmsg => 'template(s) to process instead of each main template',
args_how => 'ITERATE',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2Wrapper',
errmsg => 'template(s) to wrap around each main template',
args_how => 'ITERATE',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2Default',
errmsg => 'default template to process when another template is not found',
args_how => 'TAKE1',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2Error',
errmsg => 'template to process when an uncaught error occurs',
args_how => 'TAKE1',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2Tolerant',
errmsg => 'flag to set error tolerance for providers',
args_how => 'FLAG',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
#-- variable options --
{ name => 'TT2Variable',
errmsg => 'define a template variable',
args_how => 'TAKE2',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2Constant',
errmsg => 'define a constant variable',
args_how => 'TAKE2',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2ConstantsNamespace',
errmsg => 'define variable namespace for constants',
args_how => 'TAKE1',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
#-- runtime template processing options --
{ name => 'TT2EvalPerl',
errmsg => 'flag to allow PERL blocks to be evaluated',
args_how => 'FLAG',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2LoadPerl',
errmsg => 'flag to allow regular Perl modules to be loaded as plugins',
args_how => 'FLAG',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2Recursion',
errmsg => 'flag to enable recursion into templates',
args_how => 'FLAG',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
#-- plugin and filter options --
{ name => 'TT2PluginBase',
errmsg => 'packages in which to locate for plugins',
args_how => 'ITERATE',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
#-- caching options --
{ name => 'TT2AutoReset',
errmsg => 'flag to reset (clear) any BLOCK definitions before processing',
args_how => 'TAKE1',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2CacheSize',
errmsg => 'integer limit to the number of compiled templates to cache in memory',
args_how => 'TAKE1',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2CompileExt',
errmsg => 'filename extension for caching compiled templates back to disk',
args_how => 'TAKE1',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2CompileDir',
errmsg => 'path to directory for caching compiled templates back to disk',
args_how => 'TAKE1',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
#-- misc options --
{ name => 'TT2Debug',
errmsg => 'flag to enable debugging',
args_how => 'FLAG',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
# -- service options --
{ name => 'TT2Headers',
errmsg => 'list of keywords indicating HTTP headers to add',
args_how => 'ITERATE',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2Params',
errmsg => 'list of keywords indicating parameters to add as template variables',
args_how => 'ITERATE',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2ContentType',
errmsg => 'content type of generated response (default: text/html)',
args_how => 'TAKE1',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
{ name => 'TT2ServiceModule',
errmsg => 'name of class which implements template service module',
args_how => 'TAKE1',
req_override => 'RSRC_CONF | ACCESS_CONF',
},
);
command_table(\@directives);
WriteMakefile(
'NAME' => 'Apache::Template',
'VERSION_FROM' => 'lib/Apache/Template.pm',
'PMLIBDIRS' => [ 'lib' ],
'INC' => Apache::src->new->inc,
'PREREQ_PM' => {
Template => 2.10,
Digest::MD5 => 2.09,
Apache::Request => 0,
Apache::ModuleConfig => 0
},
);