A Ruby Mojo can depend on a Plexus component. To do this, you
would use the expression
attribute of the
@parameter
annotation to specify a role and a
hint for Plexus. The following example Ruby Mojo, depends upon an
Archiver component which Maven will retrieve from Plexus.
Example 18.8. Depending on a Plexus Component from a Ruby Mojo
# This mojo tests plexus integration # @goal testplexus # @phase validate class TestPlexus < Mojo # @parameter type="org.codehaus.plexus.archiver.Archiver" \ expression="${component.org.codehaus.plexus.archiver.Archiver#zip}" def archiver end def execute info $archiver end end run_mojo TestPlexus
Please note that the attributes for an annotation in a Ruby Mojo
cannot span multiple lines. If you were to run this goal, you would see
Maven attempt to retrieve a component from Plexus with a role of
org.codehaus.plexus.arhiver.Archiver
and a hint of
zip
.