Package groovy.lang
Annotation Type Grapes
-
public @interface Grapes
Sometimes we will need more than one grab per class, but we can only add one annotation type per annotatable node. This class allows for multiple grabs to be added.For example:
@Grapes([@Grab(module='m1'), @Grab(module='m2')])
class AnnotatedClass { ... }You can override an implicit transitive dependency by providing an explicit one. E.g. htmlunit 2.6 normally uses xerces 2.9.1 but you can get 2.9.0 as follows:
@Grapes
([@Grab
('net.sourceforge.htmlunit:htmlunit:2.6'),@Grab
('xerces#xercesImpl;2.9.0') ])You can also remove transitive dependencies altogether (provided you know you don't need them) using
@GrabExclude
. For example, here is how we would not grab thelogkit
andavalon-framework
transitive dependencies for Apache POI:@Grapes
([@Grab
("org.apache.poi#poi;3.5-beta6"),@GrabExclude
("logkit:logkit"),@GrabExclude
("avalon-framework#avalon-framework") ]) import org.apache.poi.hssf.util.CellReference assert new CellReference(0, 0, false, false).formatAsString() == 'A1' assert new CellReference(1, 3).formatAsString() == '$D$2'@GrabConfig
to further adjust how dependencies are grabbed. See@GrabConfig
for further information.
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description boolean
initClass
This will be pushed into the child grab annotations if the value is not set in the child annotation already.
-
-
-
Element Detail
-
value
Grab[] value
-
-