EquoIDE and Solstice Developer's Guide

February 28, 2023 ยท View on GitHub

We use EquoIDE to develop EquoIDE and Solstice. Clone this repo, cd into its root directory, and run gradlew equoIde.

The first time you launch it, watch the status bar at the bottom as the Gradle project gets imported. Once it's done you're ready to develop!

A good place to start is running the Solstice tests by right-clicking the solstice project and doing Run As -> JUnit Test.

Troubleshooting

If you can't run the tests, the first thing to try is Project -> Clean. If that doesn't work, you can clear all IDE state by closing the IDE and relaunching with gradlew equoIde --clean.

Table of Contents

Catalog DSL

  • Add entry in dev.equo.ide.Catalog (e.g.)
  • Use that entry in dev.equo.ide.gradle.P2ModelDslWithFeatures (e.g.)
  • Use that entry in dev.equo.ide.maven.AbstractP2MojoWithFeatures (e.g.)
    • Run ./gradlew :plugin-maven:test to update test snapshots (e.g.)
    • If the snapshot doesn't change, do rm -rf .gradle and run it again.
  • Update CATALOG.md so people can find it. (e.g.)
  • Open up a PR against this repository to share your contribution!

IdeHook

The IdeHook mechanism lets you write a plugin for the Eclipse IDE without knowing anything about OSGi. It works like this: