Skip to content

Contributor's cheatsheet

huitseeker edited this page Jan 16, 2013 · 4 revisions

Your plugin is approved for inclusion in the ecosystems, great !

Here is a lightning-quick rundown of the technical steps between you and an inclusion in the ecosystems. Note this is a summary, don't hesitate to look up the rest of the documentation.

Instrument your build

You need to build one artifact for every flavor of Eclipse × Scala × Scala-IDE you want to distribute your plugin for. For each flavor (and therefore each build), the script should point to [[the right base update site|Ecosystem organisation]] of the Scala-IDE team's server.

A simple way to do that is:

  • have a generic Maven build script with as lax a version dependency on the Scala-IDE toolchain (Eclipse × Scala × Scala-IDE) you can afford.
  • instrument it with the version-hardening profile we provide.
  • have a bash script that launches as many builds as desired flavors for that Maven script, overriding the update sites for each flavor using command-line options.

One example of such a script is the one for Scala-test.

Add a feature pull request

Once you have artifacts built for every flavor, and once you have published them to an update site, write a feature configuration file for your plugin, according to the documented format. Submit it as a pull request against this repository.

Enjoy having your new plugin in the ecosystems

Your new plugin should appear in the ecosystems as soon as your feature file is merged and a rebuild is triggered. You can use the Ecosystem status page for diagnostics.

Monitor new Scala-IDE versions

To ensure 0-day availability of your plugin against new versions of the Scala-IDE, have a continuous build that sources [[the next/ hierarchy of upcoming Scala-IDE versions|Plugin-maintenance-and-update]]. The potential failure of that build will let you know if a forthcoming version of Scala-IDE could break your plugin before anybody else knows.

Upcoming versions of the Scala-IDE and more generally, new releases to the next/ subtree will be announced on the Scala-IDE Dev mailing list.