Building in Eclipse

From GLOW Visualization
Jump to navigationJump to search

Install Eclipse

Any vanilla Eclipse can be used.

Add the "plugin development" package:

  • Help -> Install new software
    • Work with: select the current Eclipse release codename, e.g. Galileo, Helios (depending on installed Eclipse version)
      • General Purpose Tools
        • Eclipse Plug-in Development Environment

Install the necessary software and libraries

See dependencies for building GLOW.

Make a new Eclipse workbench

  • Check out the repository in e.g. a dir 'glow'
  • File -> Switch Workbench -> Other... -> Create a new Eclipse workbench in glow/workspace

Import necessary OSGI bundles as dependencies

You need this to develop Protege plugins. If you 'run' a plug-in project, Eclipse will start Protege. For more info, see [1].

Import Protege core bundles

File -> Import -> Plug-in Development -> Plug-ins and Fragments

  • Directory: C:\Program Files\Protege\bundles
  • Plug-ins and Fragments to Import: Select from all plug-ins
  • Import as: binary projects
  • Next
  • Select:
    • org.protege.common
    • org.protege.editor.core.application
  • Finish

Import Protege plug-ins

File -> Import -> Plug-in Development -> Plug-ins and Fragments

  • Directory: C:\Program Files\Protege\plugins
  • Plug-ins and Fragments to Import: Select from all plug-ins
  • Import as: binary projects
  • Next
  • Select:
    • org.protege.editor.owl
    • org.semanticweb.owl.owlapi
    • jogl-osgi
    • prefuse-osgi
  • Finish

NOTE:

  • Remove 'org.glowvis' and 'org.glowvis.protege' plug-ins if they are present. We want to use them as real source projects and not as dependencies, because they are expected to change a lot.

Create the projects

org.glowvis

"org.glowvis" is the main library.

Go to: File -> New Project -> Plug-in Development -> Plug-in Project

First page:

  • Project name: org.glowvis
  • Location: checkout_dir\dev\org.glowvis (browse to the checked-out source directory)
  • Target Platform: an OSGi framework: Equinox
  • Next

Second page:

  • Version: 1.0.0.qualifier
  • Name: GLOW
  • Don't generate activators
  • Next

Third page:

  • Don't use templates
  • Finish

In the plug-in overview (main screen), go to the "build.properties" tab. Add your paths to Protege, JOGL, and Prefuse at the bottom of this file. On Windows, make sure that backslashes are escaped. Example:

prefuse.home=C:\\Program Files\\prefuse-beta
jogl.home=C:\\Program Files\\JOGL
protege.home=C:\\Program Files\\Protege

Configure building. In the plug-in overview (main screen), go to the "Build" tab.

  • Binary Build: select the following items and deselect the others:
    • META-INF
    • bin

org.glowvis.owlapi

"org.glowvis.owlapi" contains an adapter between OWLAPI and GLOW.

Go to: File -> New Project -> Plug-in Development -> Plug-in Project

First page:

  • Project name: org.glowvis.owlapi
  • Location: checkout_dir\dev\org.glowvis.owlapi (browse to the checked-out source directory)
  • Target Platform: an OSGi framework: Equinox
  • Next

Second page:

  • Version: 1.0.0.qualifier
  • Name: GLOW OWLAPI plugin
  • Don't generate activators
  • Next

Third page:

  • Don't use templates
  • Finish

In the plug-in overview (main screen), go to the "build.properties" tab. Add your paths to Protege, JOGL, and Prefuse at the bottom of this file. On Windows, make sure that backslashes are escaped. Example:

prefuse.home=C:\\Program Files\\prefuse-beta
jogl.home=C:\\Program Files\\JOGL
protege.home=C:\\Program Files\\Protege

Configure building. In the plug-in overview (main screen), go to the "Build" tab.

  • Binary Build: select the following items and deselect the others:
    • META-INF
    • bin

org.glowvis.protege

"org.glowvis.protege" contains the Protege plugin.

Go to: File -> New Project -> Plug-in Development -> Plug-in Project

First page:

  • Project name: org.glowvis.protege
  • Location: checkout_dir\dev\org.glowvis.protege (browse to the checked-out source directory)
  • Target Platform: an OSGi framework: Equinox
  • Next

Second page:

  • Version: 1.0.0.qualifier
  • Name: GLOW Protege plugin
  • Don't generate activators
  • Next

Third page:

  • Don't use templates
  • Finish

In the plug-in overview (main screen), go to the "Overview" tab. Select the checkbox "This plug-in is a singleton".

In the plug-in overview (main screen), go to the "build.properties" tab. Add your paths to Protege, JOGL, and Prefuse at the bottom of this file. On Windows, make sure that backslashes are escaped. Example:

prefuse.home=C:\\Program Files\\prefuse-beta
jogl.home=C:\\Program Files\\JOGL
protege.home=C:\\Program Files\\Protege

Configure building. In the plug-in view (main screen), go to the "Build" tab.

  • Binary Build: select the following items and deselect the others:
    • META-INF
    • bin
    • plugin.xml

Unix/Mac OS X only: The linker must know where the JOGL native libraries (.so files) are.

  • In the Package Explorer, rightclick on the project "org.glowvis.protege" and choose Properties
    • Click: Run/Debug Settings.
    • Go to the "Environment" tab.
    • Add a "New" environment variable.
      • Name: LD_LIBRARY_PATH (for Unix) or DYLD_LIBRARY_PATH (for OS X)
      • Value: /path/to/JOGL/lib, e.g. /Applications/JOGL/lib or /usr/local/jogl/lib

Run the Protege plug-in from Eclipse

Open the org.glowvis.protege project.

Go to: Run -> Run (Ctrl-F11)

  • Choose 'OSGi Framework'
  • This should start Protege.

If the plug-in does not work and you receive an error message about 64 bit vs 32 bit architecture, it might be that Eclipse is using a JVM that does not match the installed JOGL libraries. In this case:

  • Right click on the 'org.glowvis.protege' project in the Package Explorer; select "Properties" from the pop-up menu.
  • go to Run/Debug Settings
  • go to the Settings tab
  • choose the correct JRE here, for example, a 64 bit JRE; if Eclipse does not know it, add it.

Build the plug-ins

  • Right click on a project (e.g., 'org.glowvis.protege') in the Package Explorer
  • Export
  • Deployable plug-ins and fragments
  • This produces a single .jar file for the component, which you can place in your Protege plugins directory (e.g., C:\Program Files\Protege\Plugins)