tasks/ext/CapsuleTask.php
A phing task for generating output by using Capsule.
This is based on the interface to TexenTask from Apache's Velocity engine.
- Author
- Hans Lellelid
- Package
- phing.tasks.ext
- Version
- $Id: 205bc55fd1f7f36783d105ff2d0e27357282bbed $
\AssignedVar
An "inner" class for holding assigned var values.
May be need to expand beyond name/value in the future.
Properties
Methods
\CapsuleTask
A phing task for generating output by using Capsule.
This is based on the interface to TexenTask from Apache's Velocity engine.
- Parent(s)
- \Task < \ProjectComponent
- Author
- Hans Lellelid
- Copyright
- 2001,2002 THYRELL. All rights reserved
- Version
- $Id: 205bc55fd1f7f36783d105ff2d0e27357282bbed $
Properties


array
$assignedVars= 'array()'
Any vars assigned via the build file.
AssignedVar[]array()
Details- Type
- array


array
$contextProperties= ''
<p> These are properties that are fed into the initial context from a properties file. This is simply a convenient way to set some values that you wish to make available in the context.
These values are not critical, like the template path or output path, but allow a convenient way to set a value that may be specific to a particular generation task.
<
p> For example, if you are generating scripts to allow user to automatically create a database, then you might want the
$databaseName
to be placed in the initial context so that it is available in a script that might look something like the following:
#!bin/sh
echo y | mysqladmin create $databaseName
The value of
$databaseName
isn't critical to output, and you obviously don't want to change the ant task to simply take a database name. So initial context values can be set with properties file.
- Type
- array


string
$controlTemplate= ''
This is the control template that governs the output.
It may or may not invoke the services of worker templates.
- Type
- string


string
$outputDirectory= ''
This is where texen will place all the output that is a product of the generation process.
- Type
- string


string
$outputFile= ''
This is the file where the generated text will be placed.
- Type
- string


\Project
$project= 'null'
Holds a reference to the project that a project component (a task, a target, etc.) belongs to
A reference to the current project instanceInherited from: \ProjectComponent::$$project\Task::$$projectnull
Details- Type
- \Project
- Inherited_from
- \ProjectComponent::$$project
- Inherited_from
- \Task::$$project


string
$templatePath= ''
This is where Velocity will look for templates using the file template loader.
- Type
- string
Methods


cleanup(
)
:
void
A hook method called at the end of {@link #execute()} which can be overridden to perform any necessary cleanup activities (such as the release of database connections, etc.). By default, does nothing.
Exception | Description |
---|---|
\Exception | Problem cleaning up. |


getContextProperties(
)
:
\Properties
Get the context properties that will be fed into the initial context be the generating process starts.
Type | Description |
---|---|
\Properties |


getControlTemplate(
)
:
string
Get the control template for the generating process.
Type | Description |
---|---|
string |


getLocation(
)
:
\Location
Returns the location within the buildfile this task occurs. Used by {@link BuildException} to give detailed error messages.
Inherited from: \Task::getLocation()Type | Description |
---|---|
\Location | The location object describing the position of this task within the buildfile. |


getOutputFile(
)
:
string
Get the output file for the generation process.
Type | Description |
---|---|
string |


getProject(
)
:
\Project
Returns a reference to current project
Inherited from: \ProjectComponent::getProject()\Task::getProject()Type | Description |
---|---|
\Project | Reference to current porject object |


getRuntimeConfigurableWrapper(
)
:
\RuntimeConfigurable
Returns the wrapper object for runtime configuration
Inherited from: \Task::getRuntimeConfigurableWrapper()Type | Description |
---|---|
\RuntimeConfigurable | The wrapper object used by this task |


getTaskType(
)
:
string
Returns the name of the task under which it was invoked, usually the XML tagname
Inherited from: \Task::getTaskType()Type | Description |
---|---|
string | The type of this task (XML Tag) |


getTemplatePath(
)
:
string
Get the path where Velocity will look for templates using the file template loader.
Type | Description |
---|---|
string |


init(
)
:
void
Should throw a BuildException if something goes wrong with the build
This is abstract here, but may not be overloaded by subclasses.
Exception | Description |
---|---|
\BuildException |


initControlContext(
)
:
\Smarty
Creates a Smarty object.
Type | Description |
---|---|
\Smarty | initialized (cleared) Smarty context. |
Exception | Description |
---|---|
\Exception | the execute method will catch and rethrow as a BuildException |


log(
string $msg, integer $level
=
Project::MSG_INFO
)
:
void
Name | Type | Description |
---|---|---|
$msg | string | The message to log |
$level | integer | The priority of the message |
- See
- \BuildEvent
- See
- \BuildListener


main(
)
:
void
Execute the input script with Velocity
Should throw a BuildException if someting goes wrong with the build
This is abstract here. Must be overloaded by real tasks.
Exception | Description |
---|---|
\BuildException | BuildExceptions are thrown when required attributes are missing. Exceptions thrown by Velocity are rethrown as BuildExceptions. |


maybeConfigure(
)
:
void
Configure this task if it hasn't been done already.
Inherited from: \Task::maybeConfigure()

populateInitialContext(
\Capsule $context
)
:
void
Place useful objects into the initial context.
Name | Type | Description |
---|---|---|
$context | \Capsule | The context to populate, as retrieved from {@link #initControlContext()}. |
Exception | Description |
---|---|
\Exception | Error while populating context. The {@link #main()} method will catch and rethrow as a BuildException . |


setContextProperties(
string $file
)
:
void
Set the context properties that will be fed into the initial context be the generating process starts.
Name | Type | Description |
---|---|---|
$file | string |


setControlTemplate(
string $controlTemplate
)
:
void
[REQUIRED] Set the control template for the generating process.
Name | Type | Description |
---|---|---|
$controlTemplate | string |


setDescription(
string $desc
)
:
void
Name | Type | Description |
---|---|---|
$desc | string | The text describing the task |


setLocation(
\Location $location
)
:
void
Sets the location within the buildfile this task occurs. Called by the parser to set location information.
Inherited from: \Task::setLocation()Name | Type | Description |
---|---|---|
$location | \Location | The location object describing the position of this task within the buildfile. |


setOutputDirectory(
\PhingFile $outputDirectory
)
:
void
[REQUIRED] Set the output directory. It will be created if it doesn't exist.
Name | Type | Description |
---|---|---|
$outputDirectory | \PhingFile |
Exception | Description |
---|---|
\Exception |


setOutputFile(
string $outputFile
)
:
void
[REQUIRED] Set the output file for the generation process.
Name | Type | Description |
---|---|---|
$outputFile | string | (TODO: change this to File) |


setOwningTarget(
\Target $target
)
:
void
Name | Type | Description |
---|---|---|
$target | \Target | Reference to owning target |


setProject(
\Project $project
)
:
void
References the project to the current component.
Inherited from: \ProjectComponent::setProject()\Task::setProject()Name | Type | Description |
---|---|---|
$project | \Project | The reference to the current project |


setRuntimeConfigurableWrapper(
\RuntimeConfigurable $wrapper
)
:
void
Sets the wrapper object this task should use for runtime configurable elements.
Inherited from: \Task::setRuntimeConfigurableWrapper()Name | Type | Description |
---|---|---|
$wrapper | \RuntimeConfigurable | The wrapper object this task should use |


setTaskName(
string $name
)
:
string
Name | Type | Description |
---|---|---|
$name | string |
Type | Description |
---|---|
string | A string representing the name of this task for log |


setTaskType(
string $name
)
:
void
Sets the type of the task. Usually this is the name of the XML tag
Inherited from: \Task::setTaskType()Name | Type | Description |
---|---|---|
$name | string | The type of this task (XML Tag) |


setTemplatePath(
$templatePath
)
:
void
[REQUIRED] Set the path where Velocity will look for templates using the file template loader.
Name | Type | Description |
---|---|---|
$templatePath |
Exception | Description |
---|---|
\Exception |