The Source for Java Technology Collaboration


Setting up Eclipse to develop GanttProject 2.1

Please think if you really, really want it. Code from HEAD is unstable and changes frequently. If you want to use it for your own needs (or your company needs) and don't want to commit your changes to our CVS then you'll be facing many bugs and will need to enjoy the pain of synchronizing your changes with our changes. If you want to develop the next version together with us, consider contacting us first. And in both cases, consider using our source code disributions of development milestone builds

Setting up Eclipse to develop GanttProject 2.0.x

  • ALERT! NOTE: This topic assumes that you are familiar with the Eclipse in general and development of Eclipse plugins in particular. If you are new to Eclipse, please read Eclispe documentation (e.g. this article)
  • ALERT! NOTE: This topic addresses Eclipse 3.1.x running on Sun's JDK 1.4.x. It should work for other versions of Eclipse 3.x and JDK 1.4.x but we do not test this documentation on other configurations.
  • ALERT! NOTE: This topic addresses a stable branch GanttProject 2.0.x and is NOT APPLICABLE to legacy GanttProject 1.x.y and to unstable GanttProject 2.1

Checking out and building GP plugins

  1. Start Eclipse with a clean workspace
  2. Invoke File->New->Project, select CVS->Checkout project from CVS node in the tree view
  3. You are prompted to enter repository location. Host ganttproject.cvs.sf.net, repository path /cvsroot/ganttproject. Connection type and username differ depending on whether you are a member of our project or just a stranger. If you are a member of GanttProject team then you should use connection type extssh, your SourceForge user name and password. Otherwise please use pserver conection type and anonymous user.
    TIP Of course, if you have already worked with some repository locations, you must add a new one
  4. On the next page (titled Select module) you may type ganttproject in the text field "Use specified module name" or select ganttproject in the tree view
  5. If you press "Next" button three times, you'll see a page titled Select tag. Press the button "Refresh tags" and then choose node Branches->BRANCH_2_0_0

Depending on your Eclipse compiler settings, you may face compilation errors. Open Window->Preferences, page Java->Compiler. Uncheck Use default compliance settings and select 1.4 in all three combo boxes.

The expected result: Eclipse checks out and sucessfully builds the main GP plugin. If it doesn't, it means that either there is something wrong in our CVS (and you should report the problem to GP administrators) or you have not done all the steps correctly

The same procedure should be applied to all GanttProject plugins? you wish to build. Please note that some of the plugins were not branched and you need to select HEAD branch on the step 5 above when checking them out

Running GP as an Eclipse Application

On Windows and Linux GP may be launched as an Eclipse Application, and it is the most convenient way of launching it from Eclipse.
  1. Create new Eclipse application configuration. Menu Run->Run..., select Eclipse Application in the tree view, press button New
  2. Leave all default settings except for Program to Run group. In this group, select Run an application and choose net.sourceforge.ganttproject.GanttProject in the combo box.
  3. Press Run

The expected result: GP starts, shows a splash screen and works normally. If it doesn't, it means that either there you work on Mac OSX, or is something wrong in our CVS (and you should report the problem to GP administrators) or you have not done all the previous steps, including checking out, correctly

Modular architecture, Eclipse, Eclipsito

GanttProject plugins are in fact Eclipse plugins. We use Eclipse as a platform which implements modular architecture

  • What choosing Eclipse as a platform means
    • It means that we use Eclipse plugin deployment format and extensions management interfaces (org.eclipse.core.runtime basically) in our modules
    • It means that our modules are valid Eclipse plugins
    • It means that GP may be launched from Eclipse as Eclipse Application
  • What choosing Eclipse as a platform DOESN'T mean
    • At the moment we don't provide any functionality into Eclipse workbench
    • We are NOT moving to SWT
    • We do not force to download the whole Eclipse just to run GP

ALERT! No, although we run on top of Eclipse platform, we don't need Eclipse itself. There is a library called eclipsito.jar which implements a small part of org.eclipse.core.runtime and supports the following features:

  1. Scanning the directory tree and collecting plugins
  2. Managing extension points and extensions through IExtensionRegistry
  3. Managing jobs

-- DmitryBarashev - 01 Nov 2005

Topic GanttProjectEclipseSetup . { Edit | Ref-By | Printable | Diffs r7 < r6 < r5 < r4 < r3 | More }
 XML java.net RSS

Revision r7 - 30 Apr 2007 - 11:36:45 - Main.solve143
Parents: WebHome > GanttProject