Tuesday, January 02, 2007

What's in which package?

There are three features in Cohatoe. (Features are a fancy term in Eclipse's terminology for 'installable package' - a feature consists usually of one or more plugins and can be installed or uninstalled via Eclipse's built-in Update Manager). Here is a short explanation what each of them is needed for:

  • Runtime: this contains only those plugins that are needed at runtime.
  • Examples: an example plugin that demonstrates various aspects of the use of Cohatoe.
  • SDK: contains the sources and developer documentation for all of Cohatoe.
(The Examples feature depends on the Runtime feature, and the SDK depends on both others. The Runtime feature itself has no dependencies apart from that to the very basic Eclipse runtime plugins. You can even use it in UI-less mode.)

When you develop an Eclipse plugin that has some functionality implemented in Haskell, you would therefore depend on the Runtime feature. This means that the plugins from the runtime feature must be present on the system of the user of your plugins. The best way to achieve this is to have the end user install the Cohatoe runtime feature and then your feature (which contains your plugins).

For development of such plugins, on the other hand, you will likely want to have the SDK feature around. It contains the API documentation, the extension point documentation, and the sources of Cohatoe itself (useful for debugging). Since the SDK feature depends on the Runtime feature, this means that you also must have the Runtime feature installed, which is obvious anyway ;-).

If you want to hack Cohatoe itself, you could theoretically also use the sources from the SDK feature. However, it is recommended that you get the latest sources from the Darcs repository instead. This means not only that you get the latest changes (which may not yet have been included in the released versions), but also that you will be able to send your changes as patches. Any contribution of patches is very welcome!

If you don't know Darcs yet - please consider to have a look at it. It is a really nice revision control system (i.e. an alternative to the more widely used like CVS or Subversion), very easy to learn and somewhat addictive once one has used it for a while. It differs from the more mainstream alternatives in that it is not only distributed, but also change-oriented (as opposed to version-oriented). You can get a Darcs client and find more information about Darcs at the main Darcs website at darcs.net.

If you want to access the Cohatoe repository, here's what you need:
> darcs get --partial http://leiffrenzel.eu/repos/cohatoe
Have fun!

No comments: