description = "JavaDoc Plugin for Tapestry that generates component reference documentation for component classes"

dependencies {
  compile project(':tapestry-core')
  compile files(getTools())
}

/** Returns the tools.jar/classes.jar of the Java runtime. */
File getTools() {
  def relpath = isMacOSX_1_6() ? "../classes/classes.jar" : "../lib/tools.jar"

  return new File(System.properties['java.home'], relpath)
}

boolean isMacOSX_1_6() {
  System.properties['os.name'].toLowerCase().contains('mac os') &&
      System.properties['java.version'].startsWith("1.6.")
}
  
