Add ability to handle plugin configuration as a single unit for context-based
[scripted] mojos
----------------------------------------------------------------------------------------------
Key: MNG-273
URL: http://jira.codehaus.org/browse/MNG-273
Project: m2
Type: Improvement
Components: maven-core
Environment: all
Reporter: John Casey
Assigned to: John Casey
Priority: Critical
Fix For: 2.0-alpha-2
Currently, the marmalade-mojo stuff works by having one generic class that
extends from o.a.m.p.AbstractPlugin, and is responsible for setting up the
context, building the marmalade script, and executing it.
When this script wrapper is converted to the new mojo injection method for
setting parameters, we will lose the ability for a script to receive parameters
from maven (since the generic class will not have those parameter fields to
satisfy every script).
In order to enable scripted mojos going forward, develop a new way of handling
the plugin configuration (actually mojo configuration, inheriting from the
plugin config) as a whole. This includes optional injection of the whole
configuration into a single field in the mojo-script wrapper class, and new
methods to make navigation of the configuration easier.
If the configuration object has some coercion executed on it before parameters
are normally injected, an analogous process needs to happen before this
whole-configuration object is injected into the mojo wrapper.
So, to summarize:
- Develop new "whole-configuration" object type and expression
- Add convenience methods for navigating the "whole-configuration" instance
from a script
- Add coercion to the "whole-configuration" object's construction, to mimick
the behavior of individually injected parameters.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]