François Garillot edited this page Jan 16, 2013 · 15 revisions

Welcome to the Ecosystem Builder, a project which gives developers the opportunity to ship their Eclipse plugins for Scala development as a part of ecosystems distributed by the Scala-IDE team.

Ecosystems are Eclipse update sites tailored for specific versions of the Scala programming language and the Scala IDE ( flavors ). They deliver streamlined environments for Scala development that package great Eclipse plugins with the Scala IDE, for any flavor you may want.

1. The Developer's Perspective

The Scala-IDE team provides several update sites, for several flavors of the IDE, built on several versions of Scala and Eclipse. The layout of those repositories is outlined in the Ecosystem organisation page. Bundled with those Ecosystems are a number of carefully selected plugins. What gets in there and how they are presented in your Eclipse updates is explained in Plugin inclusion.

2. The Plugin Contributor's Perspective

The Contributor's guide outlines how a plugin gets bundled with the Scala-IDE ecosystems. It also explains the actions of different actors of the plugin's integration :

  • the plugin's maintainer requires the plugin inclusion in ecosystems and executes the steps necessary for builds against various flavors of the Scala-IDE distributions.
  • the plugin's sponsor evaluates and monitors the plugin and reviews the technical contributions necessary for its build
  • the ecosystem builder executes builds for the whole ecosystems, and produces both user-facing repositories, and seeding repositories that developers can base their forthcoming plugin releases on.

At this stage, hurried users should skip to the Contributor's cheatsheet.

Those who want more detail can simply consider that, at the end of the process outlined in the Contributor's guide, the plugin should have a feature file in the ecosystem repository. But the inclusion or update of a plugin requires some more technical steps:

  • in Providing add-ons, you'll learn how the plugin maintainer instruments the plugin's build with a Maven profile that sets appropriate strict versions on the features a build is designed for.
  • in Build process, you'll see how the ecosystem builder carries out the build, publishes site versions of the ecosystems, and base versions for plugins developers to build their plugins from
  • in Plugin maintenance and update, you'll learn how the plugin maintainer can monitor next ecosystems for forthcoming versions of the Scala-IDE technical stack, and keep on top of the forward compatibility of his plugin.

3. Ecosystem building : Technical documentation

This part of the documentation assembles some documentation that is mostly interesting to ecosystem builders (but can make interesting reading for plugin contributors).

  • the Ecosystem Status page provides a view of the contents of the Scala-IDE ecosystems, broken down by flavors and versions.
  • the Configuration page documents the format of a feature file registering a plugin for ecosystems inclusion
  • the Releasing a Scala-IDE version page references what should happen to update sites once a new build of the Scala-IDE Eclipse plugin has been produced.
  • the Merging tool gives more details on a legacy Eclipse-provided tool to merge p2 repositories.
  • the Current Jenkins job references the automated job that produces the builds.