
Plugin Gradle para provisionamento rápido e reproduzível do Eclipse IDE como um artefato de build, com suporte para builds OSGi, p2 e RCP.
Goomph: IDE como artefato de buildTambém plugins para trabalhar com SWT, OSGi, p2 e Eclipse RCP
É possível ter muitas instalações do Eclipse IDE compartilhando um conjunto comum de artefatos instalados, chamado de "bundlepool". Isso significa que é rápido e eficiente obter uma IDE criada sob medida para cada projeto, pré-configurada com todos os plugins e configurações adequados para o projeto em questão.
Quando você executa gradlew ide, ele compila e baixa uma IDE em build/oomphIde com apenas os recursos de que você precisa. Leva ~15 segundos e 1MB de espaço em disco depois que todos os artefatos comuns forem armazenados em cache em ~/.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
}
}
Consulte a javadoc do plugin para um início rápido e HOW_TO_AUTOMATE_IDE.md para exemplos e detalhes mais aprofundados.
Acontece que as ferramentas necessárias para implementar "IDE como artefato de build" são as mesmas necessárias para manipular arquivos de projeto do Eclipse e também para construir plugins Eclipse e aplicações RCP em primeiro lugar. Esse é o outro lado do Goomph. Para um projeto de exemplo, veja a palestra Gradle e Eclipse RCP.
Software Eclipse do mundo real construído com Goomph:
Abaixo está um índice dos recursos do Goomph, com links para a javadoc onde você pode encontrar exemplos de uso.
com.diffplug.eclipse Arquivos de projeto do Eclipse e artefatos maven central de mapeamento de versões do eclipse.apt corrige o projeto eclipse para funcionar com o processamento de anotações do Gradle.mavencentral facilita a adição de jars de dependência de uma versão do eclipse.buildproperties usa build.properties para controlar um build do gradle e corrige o classpath do projeto eclipse para incluir ativos binários especificados em build.properties.excludebuildfolder exclui a pasta build do gradle da indexação de recursos do Eclipse.projectdeps corrige um problema intermitente em que as dependências de outros projetos no workspace nem sempre são resolvidas corretamente dentro do Eclipse.resourcefilters adiciona filtros de recurso ao projeto eclipse.com.diffplug.osgi Plugins para trabalhar com OSGi.bndmanifest gera um manifest usando apenas bnd e o envia para consumo pela IDE.equinoxlaunch pode configurar e executar aplicações equinox como parte do build, como um gerador de código.OsgiExecable facilita a execução de um trecho de código dentro de um contêiner OSGi e a obtenção do resultado de fora do contêiner.com.diffplug.p2 A e plugins para manipular dados p2.