maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "nicolas de loof (JIRA)" <>
Subject [jira] Commented: (MWAR-124) accept packaging task passed by other plugin via the plugin context
Date Sun, 13 Jan 2008 15:48:57 GMT


nicolas de loof commented on MWAR-124:

First, the classloader issue cannot be resolved to pass code from a plugin to another. The
only solution I've found is to use reflection to invoke the passed code instead of casting
it to a PackagingTask.

Second, for a strange reason, data passed by a plugin to the war plugin using the plugin context
is not visible. I didn't investigate more, but I supose a new context is created for each

Based on those two facts, I can't find an easy way for a pre-packaging plugin to declare/register
callback code for packaging. 

Set as a plugin dependency, some custom code could help enhance the war packaging as you suggested.
How would the war plugin detect such tasks to get executed ? using some META-INF/maven/warPackagingTasks
? Or using some plexus components declared in the MATA-INF/plexus/component.xml ? In such
case, should'nt the war plugin come with a maven-war-plugin-extension-api.jar ?

> accept packaging task passed by other plugin via the plugin context
> -------------------------------------------------------------------
>                 Key: MWAR-124
>                 URL:
>             Project: Maven 2.x War Plugin
>          Issue Type: Improvement
>            Reporter: nicolas de loof
>            Assignee: Stephane Nicoll
>            Priority: Trivial
>         Attachments: war-plugin-external-packaging-tasks.patch, war-plugin-external-packaging-tasks.patch
> In maven 2.0.x there is no phase beetween creating the exploded artifact to be packaged
and packaging as an archive. my javascript plugins needs to assemble source files into the
webapp root /scripts directory. The only way today is to run during the test phase, to ensure
runing prior the war plugin.
> The WarPackagingTask is an abstration that could allow other plugins to register some
tasks to perform during the exploded webapp creation. As the pluginContext is desinged to
help plugins share datas, it can be used to pass custom packaginTask (and postPackagin ones)
to the war plugin from another plugin.
> The attached patch adds two constants to define suchentries in the context and teh required
code to get them and add the to the packaging and post-packaging tasks lists.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


View raw message