
빠르고 재현 가능한 Eclipse IDE 프로비저닝을 빌드 산출물로 제공하는 Gradle 플러그인으로, OSGi, p2 및 RCP 빌드를 지원합니다.
Goomph: 빌드 산출물로서의 IDESWT, OSGi, p2 및 Eclipse RCP 작업을 위한 플러그인이기도 합니다
Eclipse IDE의 여러 설치본이 "bundlepool"이라고 하는 공통 설치 아티팩트 집합을 공유하도록 할 수 있습니다. 즉, 각 프로젝트에 적합한 플러그인과 설정으로 미리 구성된, 목적에 맞게 제작된 IDE를 빠르고 효율적으로 얻을 수 있다는 뜻입니다.
gradlew ide를 실행하면 필요한 기능만 포함된 IDE를 빌드하여 build/oomphIde에 다운로드합니다. 모든 공통 아티팩트가 ~/.goomph에 캐시된 후에는 약 15초와 1MB의 디스크 공간만 소요됩니다.
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 발표를 참조하세요.
Goomph로 빌드된 실제 Eclipse 소프트웨어:
다음은 Goomph의 기능 목록과 사용 예제를 찾을 수 있는 javadoc 링크입니다.
com.diffplug.eclipse Eclipse 프로젝트 파일 및 Eclipse 버전 매핑 Maven Central 아티팩트.apt Gradle 애노테이션 처리와 함께 작동하도록 Eclipse 프로젝트를 수정합니다.mavencentral Eclipse 릴리스의 의존성 jar를 쉽게 추가할 수 있게 해줍니다.buildproperties build.properties를 사용하여 Gradle 빌드를 제어하고, build.properties에 지정된 바이너리 자산을 포함하도록 Eclipse 프로젝트 클래스패스를 수정합니다.excludebuildfolder Eclipse의 리소스 인덱싱에서 Gradle build 폴더를 제외합니다.projectdeps 워크스페이스 내 다른 프로젝트에 대한 의존성이 Eclipse 안에서 항상 올바르게 해석되지 않는 간헐적 문제를 수정합니다.com.diffplug.osgi OSGi 작업을 위한 플러그인.bndmanifest 순수하게 bnd만 사용하여 매니페스트를 생성하고 IDE에서 사용할 수 있도록 출력합니다.equinoxlaunch 코드 생성기와 같은 equinox 애플리케이션을 빌드의 일부로 구성하고 실행할 수 있습니다.OsgiExecable OSGi 컨테이너 내에서 코드 일부를 실행하고 컨테이너 외부에서 결과를 얻기 쉽게 해줍니다.com.diffplug.p2 p2 데이터를 조작하기 위한 A 및 플러그인.asmaven p2 저장소에서 의존성을 다운로드하여 로컬 Maven 저장소에서 사용할 수 있게 합니다.P2Model p2 저장소와 IU 집합을 모델링하고, 이에 대해 p2-director 또는 p2.mirror ant 태스크를 실행하는 편의 메서드를 제공합니다.P2AntRunner Eclipse ant 태스크를 실행합니다.CategoryPublisher CategoryPublisher Eclipse 애플리케이션을 모델링합니다.FeaturesAndBundlesPublisher FeaturesAndBundlesPublisher Eclipse 애플리케이션을 모델링합니다.Repo2Runnable Repo2Runnable Eclipse 애플리케이션을 모델링합니다.com.diffplug.gradle.pde 다운로드된 Eclipse 인스턴스를 사용하여 Eclipse PDE를 실행하는 태스크.PdeBuildTask PDE build를 실행하여 RCP 제품을 빌드합니다.PdeAntBuildTask ant 파일에 대해 PDE를 실행합니다.com.diffplug.gradle 기타 인프라.CmdLineTask 일련의 셸 명령을 실행하며, 그 사이에 파일을 복사하거나 이동할 수도 있습니다.JavaExecable 별도의 JVM에서 코드 일부를 실행하고 결과를 현재 JVM으로 가져오기 쉽게 해줍니다.JavaExecWinFriendly Windows의 명령줄 길이 및 긴 클래스패스 제한을 극복합니다.com.diffplug.gradle.eclipserunner 헤드리스 Eclipse 애플리케이션 실행을 위한 인프라.com.diffplug.configuration-cache-for-platform-specific-build 구성 캐시를 깨뜨리지 않고 Gradle 빌드에서 OS.getNative()와 OS.getRunning()을 사용할 수 있게 해줍니다.eclipseMavenCentral 플러그인의 여러 수정에 대해 Jérémie Bresson님께 감사드립니다.net.ltgt.apt-eclipse 플러그인에 대해 Thomas Broyer님께 감사드립니다.
com.diffplug.eclipse.apt에서 계속 유지관리할 것입니다.CategoryPublisher 애플리케이션을 추가해 주신 Kelvin Glaß님께 감사드립니다 (#126).3.10.0 릴리스의 모든 개선에 대해 hacki11님께 감사드립니다.resourcefiltersBndManifestPlugin에 영감을 준 osgibnd-gradle-plugin에 대해 JRuyi와 Agemo Cui님께 감사드립니다.