
Plugin Gradle pour un provisionnement rapide et reproductible de l'IDE Eclipse en tant qu'artefact de build, avec prise en charge des builds OSGi, p2 et RCP.
Il est possible de faire en sorte que plusieurs installations de l'IDE Eclipse partagent un ensemble commun d'artefacts installés, appelé « bundlepool ». Cela signifie qu'il est rapide et efficace d'obtenir un IDE spécialement conçu pour chaque projet, préconfiguré avec tous les plugins et réglages appropriés au projet concerné.
Lorsque vous exécutez gradlew ide, il construit et télécharge un IDE dans build/oomphIde avec uniquement les fonctionnalités dont vous avez besoin. Cela prend ~15 secondes et 1 Mo d'espace disque une fois que tous les artefacts courants ont été mis en cache dans ~/.goomph.
apply plugin: 'com.diffplug.oomph.ide'
oomphIde {
repoEclipseLatest()
jdt {}
eclipseIni {
vmargs('-Xmx2g') // IDE can have up to 2 gigs of RAM
}
style {
classicTheme() // oldschool cool
niceText() // with nice fonts and visible whitespace
}
}
Consultez la javadoc du plugin pour un démarrage rapide, et HOW_TO_AUTOMATE_IDE.md pour des exemples et des détails plus approfondis.
Il s'avère que l'outillage nécessaire pour mettre en œuvre « l'IDE comme artefact de build » est le même que celui nécessaire pour manipuler les fichiers de projet Eclipse, et aussi pour construire des plugins Eclipse et des applications RCP. C'est l'autre facette de Goomph. Pour un exemple de projet, consultez la conférence Gradle et Eclipse RCP.
Logiciels Eclipse réels construits avec Goomph :
Vous trouverez ci-dessous un index des capacités de Goomph, ainsi que des liens vers la javadoc où vous pouvez trouver des exemples d'utilisation.
com.diffplug.eclipse Fichiers de projet Eclipse et artefacts maven central de correspondance de versions Eclipse.apt corrige le projet Eclipse pour qu'il fonctionne avec le traitement d'annotations Gradle.mavencentral facilite l'ajout de jars de dépendances à partir d'une version d'Eclipse.buildproperties utilise build.properties pour contrôler une compilation Gradle, et corrige le classpath du projet Eclipse afin d'inclure les ressources binaires spécifiées dans build.properties.excludebuildfolder exclut le dossier build de Gradle de l'indexation des ressources d'Eclipse.projectdeps corrige un problème intermittent où les dépendances envers d'autres projets de l'espace de travail ne sont pas toujours correctement résolues dans Eclipse.resourcefilters ajoute des filtres de ressources au projet Eclipse.com.diffplug.osgi Plugins pour travailler avec OSGi.bndmanifest génère un manifeste en utilisant uniquement bnd, et le produit pour l'IDE.equinoxlaunch peut configurer et exécuter des applications Equinox dans le cadre de la compilation, comme un générateur de code.OsgiExecable facilite l'exécution d'un morceau de code dans un conteneur OSGi, et la récupération du résultat depuis l'extérieur du conteneur.com.diffplug.p2 Un et des plugins pour manipuler les données p2.asmaven télécharge les dépendances d'un dépôt p2 et les rend disponibles dans un dépôt maven local.P2Model modélise un ensemble de dépôts p2 et d'IU, et fournit des méthodes pratiques pour exécuter p2-director ou la tâche ant p2.mirror sur ceux-ci.P2AntRunner exécute des tâches ant d'Eclipse.CategoryPublisher modélise l'application Eclipse CategoryPublisher.FeaturesAndBundlesPublisher modélise l'application Eclipse FeaturesAndBundlesPublisher.Repo2Runnable modélise l'application Eclipse Repo2Runnable.com.diffplug.gradle.pde Tâches pour exécuter Eclipse PDE à l'aide d'une instance Eclipse téléchargée.PdeBuildTask exécute une compilation PDE pour construire un produit RCP.PdeAntBuildTask exécute PDE sur un fichier ant.com.diffplug.gradle Infrastructure diverse.CmdLineTask exécute une série de commandes shell, en copiant ou déplaçant éventuellement des fichiers entre-temps.JavaExecable facilite l'exécution d'un morceau de code dans une JVM distincte, et la récupération du résultat dans celle-ci.JavaExecWinFriendly contourne les limitations de Windows concernant la longueur de la ligne de commande et les classpaths longs.com.diffplug.gradle.eclipserunner Infrastructure pour exécuter des applications Eclipse sans interface graphique.com.diffplug.configuration-cache-for-platform-specific-build vous permet d'utiliser OS.getNative() et OS.getRunning() dans votre compilation Gradle sans casser le cache de configuration.eclipseMavenCentral.net.ltgt.apt-eclipse.
com.diffplug.eclipse.apt.CategoryPublisher (#126).3.10.0.BndManifestPlugin.