
Gradle-Plugin für schnelle, reproduzierbare Eclipse-IDE-Bereitstellung als Build-Artefakt, mit Unterstützung für OSGi-, p2- und RCP-Builds.
Es ist möglich, dass viele Installationen der Eclipse-IDE eine gemeinsame Menge installierter Artefakte teilen, den sogenannten „bundlepool". Das bedeutet, dass es schnell und effizient ist, für jedes Projekt eine maßgeschneiderte IDE zu erhalten, die mit allen für das jeweilige Projekt geeigneten Plugins und Einstellungen vorkonfiguriert ist.
Wenn du gradlew ide ausführst, wird eine IDE mit genau den Funktionen, die du benötigst, in build/oomphIde erstellt und heruntergeladen. Das dauert etwa 15 Sekunden und benötigt 1 MB Speicherplatz, sobald alle üblichen Artefakte unter ~/.goomph zwischengespeichert wurden.
apply plugin: 'com.diffplug.oomph.ide'
oomphIde {
repoEclipseLatest()
jdt {}
eclipseIni {
vmargs('-Xmx2g') // IDE kann bis zu 2 GB RAM haben
}
style {
classicTheme() // oldschool-cool
niceText() // mit schönen Schriftarten und sichtbaren Leerzeichen
}
}
Siehe das Javadoc des Plugins für einen Schnellstart und HOW_TO_AUTOMATE_IDE.md für Beispiele und weiterführende Details.
Es stellt sich heraus, dass die Werkzeuge, die zur Umsetzung von „IDE als Build-Artefakt" erforderlich sind, dieselben sind, die ohnehin benötigt werden, um Eclipse-Projektdateien zu bearbeiten sowie Eclipse-Plugins und RCP-Anwendungen zu erstellen. Das ist die andere Seite von Goomph. Ein Beispielprojekt findest du im Vortrag über Gradle und Eclipse RCP.
Reale Eclipse-Software, die mit Goomph erstellt wurde:
Im Folgenden findest du einen Index der Fähigkeiten von Goomph sowie Links zum Javadoc, wo du Verwendungsbeispiele findest.
com.diffplug.eclipse Eclipse-Projektdateien und Maven-Central-Artefakte für die Eclipse-Versionszuordnung.apt korrigiert das Eclipse-Projekt, damit es mit der Gradle-Annotationsverarbeitung funktioniert.mavencentral erleichtert das Hinzufügen von Abhängigkeits-JARs aus einem Eclipse-Release.buildproperties verwendet build.properties, um einen Gradle-Build zu steuern, und korrigiert den Eclipse-Projekt-Classpath, sodass die in build.properties angegebenen Binär-Assets enthalten sind.excludebuildfolder schließt den Gradle-Ordner build von der Ressourcenindizierung von Eclipse aus.projectdeps behebt ein gelegentlich auftretendes Problem, bei dem Abhängigkeiten zu anderen Projekten im Workspace innerhalb von Eclipse nicht immer korrekt aufgelöst werden.resourcefilters fügt dem Eclipse-Projekt Ressourcenfilter hinzu.com.diffplug.osgi Plugins für die Arbeit mit OSGi.bndmanifest erzeugt ein Manifest ausschließlich mit bnd und gibt es zur Verwendung in der IDE aus.equinoxlaunch kann Equinox-Anwendungen als Teil des Builds konfigurieren und ausführen, z. B. einen Codegenerator.OsgiExecable erleichtert das Ausführen eines Codeabschnitts in einem OSGi-Container und das Abrufen des Ergebnisses von außerhalb des Containers.com.diffplug.p2 Ein und Plugins zum Bearbeiten von p2-Daten.asmaven lädt Abhängigkeiten aus einem p2-Repository herunter und stellt sie in einem lokalen Maven-Repository bereit.P2Model modelliert eine Menge von p2-Repositories und IUs und stellt Komfortmethoden bereit, um p2-director oder die p2.mirror-Ant-Aufgabe darauf anzuwenden.P2AntRunner führt Eclipse-Ant-Aufgaben aus.CategoryPublisher modelliert die Eclipse-Anwendung CategoryPublisher.FeaturesAndBundlesPublisher modelliert die Eclipse-Anwendung FeaturesAndBundlesPublisher.Repo2Runnable modelliert die Eclipse-Anwendung Repo2Runnable.com.diffplug.gradle.pde Aufgaben zum Ausführen von Eclipse PDE mit einer heruntergeladenen Eclipse-Instanz.PdeBuildTask führt den PDE-Build aus, um ein RCP-Produkt zu erstellen.PdeAntBuildTask führt PDE mit einer Ant-Datei aus.com.diffplug.gradle Sonstige Infrastruktur.CmdLineTask führt eine Reihe von Shell-Befehlen aus und kopiert oder verschiebt dabei möglicherweise Dateien.JavaExecable erleichtert es, einen Codeabschnitt in einer separaten JVM auszuführen und das Ergebnis in dieser zurückzuerhalten.JavaExecWinFriendly überwindet Einschränkungen bei der Windows-Befehlszeilenlänge und langen Classpaths.com.diffplug.gradle.eclipserunner Infrastruktur zum Ausführen von headless Eclipse-Anwendungen.com.diffplug.configuration-cache-for-platform-specific-build ermöglicht es dir, OS.getNative() und OS.getRunning() in deinem Gradle-Build zu verwenden, ohne den Konfigurationscache zu beschädigen.eclipseMavenCentral.net.ltgt.apt-eclipse.
com.diffplug.eclipse.apt weiter pflegen.CategoryPublisher (#126).3.10.0.BndManifestPlugin diente.