All Projects → diffplug → Goomph

diffplug / Goomph

Licence: apache-2.0
IDE as build artifact

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Goomph

openjfx-docs
Getting started guide for JavaFX 11
Stars: ✭ 70 (-35.19%)
Mutual labels:  gradle, eclipse, ide
Gradle And Eclipse Rcp
Gradle and Eclipse RCP
Stars: ✭ 37 (-65.74%)
Mutual labels:  gradle, ide, eclipse
Samples
JavaFX samples to run with different options and build tools
Stars: ✭ 352 (+225.93%)
Mutual labels:  gradle, ide, eclipse
overture
The Overture Tool
Stars: ✭ 45 (-58.33%)
Mutual labels:  eclipse, ide
eclipse
Eclipse For Bazel (deprecated, see https://github.com/salesforce/bazel-eclipse instead)
Stars: ✭ 31 (-71.3%)
Mutual labels:  eclipse, ide
wollok
Wollok Programming Language
Stars: ✭ 54 (-50%)
Mutual labels:  eclipse, ide
Jhipster Ide
An IDE for the JHipster Domain Language
Stars: ✭ 109 (+0.93%)
Mutual labels:  ide, eclipse
Pydev
Python IDE for Eclipse
Stars: ✭ 306 (+183.33%)
Mutual labels:  ide, eclipse
AndroidIDE
AndroidIDE is an IDE for Android to develop full featured Android apps on Android smartphones.
Stars: ✭ 98 (-9.26%)
Mutual labels:  gradle, ide
Rustdt
RustDT is an Eclipse based IDE for the Rust programming language:
Stars: ✭ 351 (+225%)
Mutual labels:  ide, eclipse
Gogradle
A Gradle Plugin Providing Full Support for Go
Stars: ✭ 712 (+559.26%)
Mutual labels:  gradle, ide
Javafbp
Java Implementation of Flow-Based Programming (FBP)
Stars: ✭ 138 (+27.78%)
Mutual labels:  gradle, eclipse
Gradle Eclipse Aar Plugin
Gradle plugin to use Android AAR libraries on Eclipse.
Stars: ✭ 127 (+17.59%)
Mutual labels:  gradle, eclipse
Erlide eclipse
Eclipse IDE for Erlang
Stars: ✭ 206 (+90.74%)
Mutual labels:  ide, eclipse
Bnd
Bnd/Bndtools. Tooling to build OSGi bundles including Eclipse, Maven, and Gradle plugins.
Stars: ✭ 446 (+312.96%)
Mutual labels:  gradle, eclipse
Che
The Kubernetes-Native IDE for Developer Teams
Stars: ✭ 6,572 (+5985.19%)
Mutual labels:  ide, eclipse
Gradle Multi Project Example
Gradle 多项目管理示例
Stars: ✭ 283 (+162.04%)
Mutual labels:  gradle, ide
Goclipse
Eclipse IDE for the Go programming language:
Stars: ✭ 832 (+670.37%)
Mutual labels:  ide, eclipse
So Eclipse Plugin
Eclipse plugin that enables you to get answers from Stack Overflow directly to your IDE 🔥
Stars: ✭ 84 (-22.22%)
Mutual labels:  ide, eclipse
Gwt Eclipse Plugin
GWT Eclipse Plugin Documentation
Stars: ✭ 100 (-7.41%)
Mutual labels:  eclipse

Goomph: IDE as build artifact

Also plugins for working with SWT, OSGi, p2, and Eclipse RCP

Gradle plugin Maven artifact License Apache

Changelog Javadoc Live chat Travis CI

IDE-as-build-artifact.

It is possible to have many installations of the Eclipse IDE share a common set of installed artifacts, called a "bundlepool". This means it is fast and efficient to get a purpose-built IDE for every project, preconfigured with all the plugins and settings appropriate for the project at hand.

When you run gradlew ide, it builds and downloads an IDE into build/oomphIde with just the features you need. Takes ~15 seconds and 1MB of disk space once all the common artifacts have been cached at ~/.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
  }
}

See the plugin's javadoc for a quickstart, and HOW_TO_AUTOMATE_IDE.md for examples and more in-depth details.

Blog posts

Building OSGi bundles, Eclipse plugins, and RCP applications.

It turns out that the tooling required to implement "IDE-as-build-artifact" is the same tooling required to manipulate eclipse project files, and also to build Eclipse plugins and RCP applications in the first place. That is Goomph's other side. For an example project, see the Gradle and Eclipse RCP talk.

Real world Eclipse software built with Goomph:

Below is an index of Goomph's capabilities, along with links to the javadoc where you can find usage examples.

com.diffplug.eclipse Eclipse project files and eclipse version-mapping maven central artifacts.

  • apt fixes eclipse project to work with Gradle annotation processing.
  • mavencentral makes it easy to add dependency jars from an eclipse release.
  • buildproperties uses build.properties to control a gradle build, and fixes eclipse project classpath to include binary assets specified in build.properties.
  • excludebuildfolder excludes the gradle build folder from Eclipse's resource indexing.
  • projectdeps fixes an intermittent problem where dependencies on other projects within the workspace aren't always resolved correctly within Eclipse.
  • resourcefilters adds resource filters to the eclipse project.

com.diffplug.osgi Plugins for working with OSGi.

  • bndmanifest generates a manifest using purely bnd, and outputs it for IDE consumption.
  • equinoxlaunch can configure and run equinox applications as part of the build, such as a code generator.
  • OsgiExecable makes it easy to run a chunk of code within an OSGi container, and get the result from outside the container.

com.diffplug.p2 A and plugins for manipulating p2 data.

  • (semi-deprecated) asmaven downloads dependencies from a p2 repository and makes them available in a local maven repository.
  • P2Model models a set of p2 repositories and IUs, and provides convenience methods for running p2-director or the p2.mirror ant task against these.
  • P2AntRunner runs eclipse ant tasks.
  • CategoryPublisher models the CategoryPublisher eclipse application.
  • FeaturesAndBundlesPublisher models the FeaturesAndBundlesPublisher eclipse application.
  • Repo2Runnable models the Repo2Runnable eclipse application.

com.diffplug.gradle.pde Tasks for running Eclipse PDE using a downloaded eclipse instance.

com.diffplug.gradle Miscellaneous infrastructure.

  • CmdLineTask runs a series of shell commands, possibly copying or moving files in the meantime.
  • JavaExecable makes it easy to run a chunk of code in a separate JVM, and get the result back in this one.
  • JavaExecWinFriendly overcomes limitations in Windows' commandline length and long classpaths.

com.diffplug.gradle.eclipserunner Infrastructure for running headless eclipse applications.

  • Used to power the infrastructure above.

Semi-deprecated

Starting with Goomph 3.28.0, we updated our "bootstrap" from Eclipse 4.7.2 to 4.13.0. This was required to support Java 11, which is the minimum required for Eclipse 4.17.0 and onward. This upgrade broke several plugins, and we can't figure out why. If your plugin was broken, you can either:

  • stay on Goomph 3.27.0
  • OR take a look at PR #137 and figure out how to restore these plugins
  • OR migrate as shown below
    • com.diffplug.p2.asmaven can download from arbitrary p2 repositories. It's quite slow. If you only need jdt, pde, and emf artifacts, try switching to com.diffplug.eclipse.mavencentral. It allows you to download those same artifacts, but using mavenCentral rather than p2.
    • For everything else, you either need to stay on 3.27.0, or fix the problem introduced in #137.

Acknowledgements

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].