Apache Maven 1.x has reached its end of life, and is no longer supported. For more information, see the announcement. Users are encouraged to migrate to the current version of Apache Maven.

Deprecation Warning

This plugin has been removed from the current Maven distribution, it is not maintained by the Maven team anymore. Please check the Plugins History page to find out the last Maven version that included this plugin.

Maven Caller Plug-in

The Caller plugin is an interface abstraction for goals. It defines several Well-Known Goal Interfaces (WKGI). This allows a plugin to call another plugin through this Caller plugin. The benefit is that it is then possible to rewire the implementation of a WKGI.

Here's a typical scenario. Imagine you wish to implement an aspectj plugin. This plugin will compile the Java sources using the Aspectj compiler. However, the project you wish to use the aspectj plugin on is a webapp and thus you will need call the war:war. Alas, the war:war goal has a hard-wired call to java:compile. What you would like is redirect this call to your aspectj:compile goal. The solution: the Caller plugin.

Here's what you would write. In the war plugin's plugin.jelly, you would replace the call to

<attainGoal name="java:compile"/>


<caller:call goalInterface="compile-java"/>

Then, in your Aspectj plugin, you would call

<caller:set goalInterface="compile-java" goal="aspectj:compile"/>

Thus, when, as a user you will call the war:war goal, your aspectj:compile goal will be called.

For more information on the functionality provided by this plugin, please see the Goals document.

For more information on how to customise the functionality provided by this plugin, please see the properties document.