Team Project Sets – easy checkout of RCP projects

Recently, some people asked me about a tutorial how to checkout all the needed source code to build OpenChrom from scratch. Meanwhile, it consists of 23 subprojects hosted at SourceForge. Oh my goodness, what have I done the last years – simply call it subproject proliferation. Anyhow, it’s no way to check out all projects by cloning the Git repositories manually and importing the projects into the workspace. Nobody, really nobody want’s to do such a blunt and stupid work.

Once again, Eclipse offers a solution for the problem, and that’s why I love Eclipse sooo much!

Let me give you a short tutorial how to setup OpenChrom absolutely from scratch and how to use “Team Project Sets”.

Install the latest Eclipse IDE “Eclipse for RCP/Plug-in Developers”:
Eclipse 3.7.1 SR1 (Indigo)

Unzip the archive.

Download the Eclipse deltapack**:
Eclipse 3.7.1 Deltapack

Unzip the deltapack and store it in the root folder of Eclipse.

  +- about_files
  +- configuration
  +- deltapack **
    +- eclipse
      +- features
      +- plugins
  +- dropins
  +- …

Install the latest Java 7 version (JRE or JDK):
JRE-7 x86
JRE-7 x86_64
JDK-7 x86
JDK-7 x86_64

Start Eclipse and install SWTBot:
SWTBot Update Site

Import all projects utilizing the “Team Project Set”:

OpenChrom.psf (

The process could take a while to import all projects and plug-ins.

Select the appropriate target platform “Eclipse 3.7.1 + DeltaPack”:

Run the product:
Open the file “openchrom.compilation.product” in the plug-in “net.openchrom.rcp.compilation.product” and press the “Launch an Eclipse application” button.

That’s it.
Cheers eselmeister


About Philip Wenig

Founder of OpenChrom
This entry was posted in Uncategorized. Bookmark the permalink.

6 Responses to Team Project Sets – easy checkout of RCP projects

  1. anthony43 says:

    how do you manage headless builds (build outside the IDE) with psf files, since there is only eclipse that can understand this format ?

    • eselmeister says:


      the “Team Project Set” files are primarily used to make a setup of the workspace easier. I would recommend the combination Hudson/Jenkins and Maven/Tycho to manage a headless build. Have a look at the build process of OpenChrom at:

      • anthony43 says:

        ok, but the thing is that you have to deal with 2 different configurations (we could call this duplication) for checking out your projects : 1 in Hudson/Jenkins setting up various svn locations to check out + this psf file for your IDE.
        My point here is that the psf format, only applying to the IDE, does not make a lot of sense as long as build tools, such as Hudson/Jenkins along with Maven, can not interpret it; “it works in the IDE” is rarely enough.
        My suggestion ? if the projects you work on are committed in different locations, that means you can work separately on each of those; if you want to work on B and it needs A, you can use the binary forms of A (published in a p2 repo and referenced in your target platform) and only checkout B : it will provide you with the advantage of making your workspace a little bit more responsive.

      • eselmeister says:

        Yes, it could be seen as a kind of duplication. Anyhow, it’s even better than to checkout all projects manually from the numerous Git repositories. Furthermore, it gives new developers a fast introduction to the platform. The other reason, why it’s separated from the process to build the application using Maven/Tycho is, that the build process normally needs to be setup only once. Tycho is really much better than pure Maven, but there are still some drawbacks I’m really not happy about. But that’s Maven specific stuff. In my opinion, OpenChrom plug-in developers may use and know how to use binaries instead of checking out the source code.

  2. raistm says:

    Hi, I know its not about the subject but how did you make eclipse look that good on ubuntu? 🙂

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s