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.

