mynethome.de

30. Juni 2010 um 18:04 Uhr

Gradle Build System: JavaDoc generieren

Und nun zu etwas völlig anderem: Build automation mit Gradle. Richtig, ein technischer Beitrag :-)

Gradle ist ein sehr interessates und mächtiges Buildsystem, dass nicht wie Ant auf XML zur Konfiguration setzt, sondern Groovy als DSL (Domain Specific Language) einsetzt um zum Ziel zu kommen. Dadurch wird es sehr mächtig und vielseitig einsetzbar. Das interessante ist auch, das Groovy sanfte Migrationen, zum Beispiel von Maven oder Ant ermöglicht, indem man vorhandene Konfigurationen von dort einfach einbinden und weiterverwenden kann.

Leider hat Gradle zur Zeit leider noch die Schwäche hat, nicht besonders umfangreich dokumentiert zu sein. Auch in den Weiten des Netz hat es noch nicht genug Spuren hinterlassen, als dass jede Frage schnell mit Google beantwortet werden kann. Und genau das hat mich zu diesem Beitrag inspiriert, in dem ich kurz ein Beispiel für ein Gradle Skript festhalten möchte, der einige Anpassungen für die Erstellung der Dokumentation mit JavaDoc enthält:

build.gradle:

apply plugin: 'java'

dependencies {
    compile fileTree(dir: libDir, include: '*.jar')
}

javadoc {
  appName = 'my application'
  developerEmail = test@domain.com
  project.configure(options) {
    memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED
    charSet = "ISO-8859-1"
    docTitle = "$appName"
    windowTitle = "$appName"
    header = "$appName"
    bottom = "Contact via " +  developerEmail.trim() +" $developerName for feedback."
    author = "true"
    use = "true"
    links("http://java.sun.com/j2ee/1.4/docs/api", "http://java.sun.com/j2se/1.5.0/docs/api")

  }
}

task initDirs << {
    project.sourceSets.main.java.srcDirs*.mkdirs()
    project.sourceSets.main.resources.srcDirs*.mkdirs()
    new File((String) libDir).mkdirs()
}

In der definierten Fusszeile (bottom) oder auch im initDirs-Task kann man gut die Stärke von Groovy als DSL erkennen.

Gradle verfügt über eine Menge interessanter Features, einen Blick darauf zu werfen kann ich durchaus empfehlen :)
Auf dem ersten Hackergarten im März haben wir auch daran mitgearbeitet. Erfreulicher weise wurden unsere Änderungen angenommen und sind nun in Gradle enthalten - Open Source live!

2 Reaktionen zu “Gradle Build System: JavaDoc generieren”

  1. Gravatar Icon breskeby

    nice post. kannst statt appName auch project.name verwenden oder?

    gruß René

  2. Gravatar Icon Markus

    Hi,
    ja, wenn man den Benutzen möchte schon – ich wollte hier nochmal die Verwendung von Variablen zeigen.
    Danke für die Anmerkung :)
    Gruß
    Markus

Einen Kommentar schreiben


Gravatar unterstützt

mynethome.de wird erstellt mit WordPress
Beiträge (RSS) und Kommentare (RSS)

(c) 2005 - 2023 Markus Schlichting - Mastodon