Ticket #143 (closed task: wontfix)

Opened 9 years ago

Last modified 5 years ago

Explore use of OSGi

Reported by: curtis Owned by: curtis
Priority: major Milestone: imagej-3.0.0
Component: Plugin Framework Version:
Severity: non-issue Keywords:
Cc: dscho Blocked By:
Blocking:

Description

Once our codebase is unified under Maven (see #96), we can easily tag our JARs with OSGi metadata, as well as explore use of the OSGi-based services architecture.

Relevant articles:

Change History

comment:1 Changed 9 years ago by curtis

  • Milestone changed from biweekly-2010: Aug-23 to Sep-03 to biweekly-2010: Nov-15 to Nov-24

comment:2 Changed 9 years ago by curtis

  • Milestone changed from biweekly-2010: Nov-15 to Nov-24 to biweekly-2011: Feb-28 to Mar-11

comment:3 Changed 9 years ago by curtis

  • Milestone changed from biweekly-2011: Feb-28 to Mar-11 to imagej-3.0

Due to time pressure, long-term exploratory tickets are being moved to the imagej-2.5 milestone or later.

comment:4 Changed 7 years ago by dscho

  • Cc dscho added

I just found out the other day that the Class-Path entry in the manifest is heeded by the URLClassLoader. We therefore might not need to go full-blown OSGi but it might suffice to have a "full" classloader just for sezpoz and a minimal classloader, initialized only with the .jar file in question, for actually loading the plugin.

To support this, MiniMaven has been taught to add the appropriate Class-Path entries, too.

Note: under certain circumstances which I haven't been able to investigate more closely, the Class-Path entry contains elements that resolve -SNAPSHOT versions (i.e. something like ij-core-2.0.0-20130314.040424-969.jar instead of ij-core-2.0.0-SNAPSHOT.jar). These circumstances would need to be identified and prevented if we were to go the proposed route.

comment:5 Changed 5 years ago by curtis

  • Status changed from new to closed
  • Resolution set to wontfix

At this point, dscho has looked at OSGi quite a bit. We even have support in the KNIME Image Processing build system to transparently wrap the SciJava software stack artifacts as OSGi bundles. But I doubt we will go full-blown OSGi with ImageJ any time soon. If there is a specific need or use case for doing that later, we can discuss further then.

Last edited 5 years ago by curtis (previous) (diff)
Note: See TracTickets for help on using tickets.