Automatische Task Ausführung in Eclipse Buildship

Automatische Task Execution im Buildship Plugin

Wenn Sie mit Eclipse arbeiten, dann kennen Sie das Buildship Plugin. Das Plugin ist der Kleber der das Buildsystem Gradle in die IDE integriert. Mit der Version 3.1 des Plugins ist es nun möglich Tasks in Gradle bei der Projektsynchronisation und während des automatischen Builds zu starten. Dieses waren die höchsten bewerteten Wünsche auf GitHub. Hier will ich kurz die Möglichkeiten die sich daraus ergeben kurz darstellen.

Tasks während der Projekt Synchronisation ausführen

Die Gradle Projektsynchronisation importiert das Gradle Projekt in den Workspace und konfiguriert die Java Toolchain, damit alles zusammen funkioniert. Wie bereits angesprochen, wollen viele User während dessen eigene Tasks ausführen, um zum Beispiel Konfigurationen zu erstellen oder updaten. Das manuelle Ausführen dieser Aufgaben ist störend und auch fehleranfällig. Durch die automatische Ausführung der Aufgaben, kann der Entwickler sich auf das Coden konzentrieren.

Wie nutzt man das Feature?

Damit man das Feature nutzen kann, muss Gradle in der Version 5.4 oder höher vorhanden sein und Buildship mindestens in der Version 3.1. Ab Gradle 5.4 wurde ein neues Attribut synchronizationTasks in dem Eclipse Plugin eingeführt.

plugins {
    id 'eclipse'
}

task generateCustomConfig {
    doLast {
          println "Generating custom configuration..."
    }
}

eclipse {
    synchronizationTasks generateCustomConfig
}

Das war es auch schon. Wenn Sie nun das Projekt importieren oder synchronisieren, dann wird der Task generateCustomConfig ausgeführt und die Meldung erscheint in der Konsole.

Hinweis: Task synchronsization ist mit einer Referenz auf Task deklariert. Es können also unterschiedliche Typen verwendet werden: Strings um den Task Pfad zu spezifizieren, eine Liste von Tasks und vieles mehr. Grundsätzlich kann jeder task dependency Typ verwendet werden.

Ausführung von Tasks während des Eclipse build Vorgangs

Neben den bereits ober vorgestellten Feature ist als zweite Einstiegsmöglichkeit, dass einklinken in den Buildprozess nun möglich. Wenn also der Benutzer eine Resource ändert und ein Build angestoßen wird, kann man nun Aufgaben durchführen lassen. Zum Beispiel kann man einen Code Generator anwerfen oder Validierungen durchführen.

Der Aufruf erfolgt sehr ähnlich:

plugins {
    id 'eclipse'
}

task generateCode {
    doLast {
        println 'Generating some code...'
    }
}

eclipse {
    autoBuildTasks generateCode
}

Zusammenfassung

Die neuen Möglichkeiten die das Eclipse Buildship Plugin nun bietet sind sehr interessant und nehmen dem Entwickler viel Arbeit ab und können möglich Fehler vermeiden zu helfen, indem man Aufgaben automatisieren kann.