
Плагин Gradle для быстрой, воспроизводимой подготовки среды Eclipse IDE как артефакта сборки, с поддержкой OSGi, p2 и RCP-сборок.
Goomph: IDE как артефакт сборкиА также плагины для работы с SWT, OSGi, p2 и Eclipse RCP
Можно заставить множество установок Eclipse IDE совместно использовать общий набор установленных артефактов, называемый «bundlepool». Это означает, что можно быстро и эффективно получить специализированную IDE для каждого проекта, предварительно настроенную со всеми плагинами и параметрами, подходящими для данного проекта.
Когда вы запускаете gradlew ide, он собирает и загружает IDE в build/oomphIde только с теми функциями, которые вам нужны. Это занимает ~15 секунд и 1 МБ дискового пространства после того, как все общие артефакты будут закэшированы в ~/.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
}
}
См. javadoc плагина для быстрого старта, а HOW_TO_AUTOMATE_IDE.md — для примеров и более подробных деталей.
Оказывается, инструментарий, необходимый для реализации подхода «IDE как артефакт сборки», — это тот же инструментарий, который требуется для работы с файлами проектов Eclipse, а также для сборки Eclipse-плагинов и RCP-приложений. Это другая сторона Goomph. Пример проекта см. в докладе Gradle и Eclipse RCP.
Реальное Eclipse-ПО, построенное с помощью Goomph:
Ниже приведён индекс возможностей Goomph со ссылками на javadoc, где вы можете найти примеры использования.
com.diffplug.eclipse Файлы проектов Eclipse и maven central-артефакты сопоставления версий eclipse.apt исправляет проект eclipse для работы с обработкой аннотаций Gradle.mavencentral упрощает добавление jar-файлов зависимостей из релиза eclipse.buildproperties использует build.properties для управления сборкой gradle и исправляет classpath проекта eclipse, чтобы включить бинарные ресурсы, указанные в build.properties.excludebuildfolder исключает папку gradle build из индексации ресурсов Eclipse.projectdeps исправляет периодическую проблему, когда зависимости от других проектов в рабочем пространстве не всегда корректно разрешаются в Eclipse.resourcefilters добавляет фильтры ресурсов в проект eclipse.com.diffplug.osgi Плагины для работы с OSGi.bndmanifest генерирует манифест с помощью чистого bnd и выводит его для использования в IDE.equinoxlaunch может настраивать и запускать приложения equinox в рамках сборки, например генератор кода.OsgiExecable упрощает запуск фрагмента кода внутри OSGi-контейнера и получение результата извне контейнера.com.diffplug.p2 A и плагины для работы с данными p2.asmaven загружает зависимости из p2-репозитория и делает их доступными в локальном maven-репозитории.P2Model моделирует набор p2-репозиториев и IU и предоставляет удобные методы для запуска p2-director или ant-задачи p2.mirror для них.P2AntRunner запускает ant-задачи eclipse.CategoryPublisher моделирует eclipse-приложение CategoryPublisher.FeaturesAndBundlesPublisher моделирует eclipse-приложение FeaturesAndBundlesPublisher.Repo2Runnable моделирует eclipse-приложение Repo2Runnable.