anchor.diff:  an essentially arbitrary library requirement, and ship just the script.
   Grape will, at runtime, download as needed and link the named libraries
   and all dependencies forming a transitive closure when the script is run
  -from existing repositories such as JCenter, Ibiblio, Codehaus, and java.net.
  +from existing repositories such as JCenter, Ibiblio and java.net.
   
   Grape follows the Ivy conventions for module version identification,
   with naming change.
  
positive.code: [[Grape-CustomizeIvysettings]]
  ==== Customize Ivy settings
  
  //TODO expand on discussion of grapeConfig.xml
  
  You can customize the ivy settings that Grape uses by creating a
  ~/.groovy/grapeConfig.xml file. If no such file exists,
  https://github.com/groovy/groovy-core/blob/master/src/resources/groovy/grape/defaultGrapeConfig.xml[here]
  
negative.code: 
  [source,groovy]
  ------------------------------------------------------------------------
  // find the PDF links of the Java specifications
  @Grab(group='org.ccil.cowan.tagsoup', module='tagsoup', version='1.2.1')
  def getHtml() {
      def parser = new XmlParser(new org.ccil.cowan.tagsoup.Parser())
      parser.parse("https://docs.oracle.com/javase/specs/")
  }
  html.body.'**'.a.@href.grep(~/.*\.pdf/).each{ println it }
  ------------------------------------------------------------------------
  