The Source for Java Technology Collaboration


GanttProject components

ALERT! Everything on this page applies to the currently developed GanttProject 2.0. It is NOT APPLICABLE to released versions GanttProject 1.x.y

NEW Modular architecture, Eclipse, Eclipsito

There is a number of subsystems in GP which are logically different, implement different functionality but interact with each other. In order to manage them we use modular architecture. We chose 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 runtime workbench
  • 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


How to create a GP plugin

Create a plugin project
  1. Start Eclipse and create a new plugin project (menu File->New->Project, wizard "Plugin Development->Plugin Project").
  2. Provide a name of your plugin (say, org.ganttproject.chart.pert). If you are using Eclipse 3.1, choose Eclipse 3.0 as target platform and uncheck "Create an OSGI bundle manifest" (these restrictions are related to our Eclipsito).
  3. On the next page, uncheck "generate the Java class which controls the plugin's life cycle". Press Finish

Result: you see plugin manifest editor

Add dependencies and implement extension points
  1. Open tab "Dependencies" and add a dependency from plugin "net.sourceforge.ganttproject".
  2. Open tab "Extensions" and add extensions you need.

Upload your plugin to CVS (if you have developer's permissions)
  1. Open context menu in Package Explorer on your project node and choose "Team->Share Project"
  2. Select repository location: ":extssh:your_sourceforge_account_name@cvs.sf.net:/cvsroot/ganttproject". Press "Next"
  3. Use project name as module name is OK. Press "Next"
  4. Press Finish and Eclipse will import code into CVS
-- DmitryBarashev - 20 May 2005

Topic GanttProjectComponents . { Edit | Ref-By | Printable | Diffs r5 < r4 < r3 < r2 < r1 | More }
 XML java.net RSS

Revision r5 - 09 Nov 2005 - 18:46:14 - Main.dbarashev
Parents: WebHome > GanttProject