
Gradle-Plugin für schnelle, reproduzierbare Eclipse-IDE-Bereitstellung als Build-Artefakt, mit Unterstützung für OSGi-, p2- und RCP-Builds.
Goomph: IDE als Build-ArtefaktAußerdem Plugins für die Arbeit mit SWT, OSGi, p2 und Eclipse RCP
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.