NOTICE! This is a static HTML version of a legacy ImageJ Trac ticket.

The ImageJ project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Ticket #994 (closed enhancement: fixed)

Opened 2012-02-22T13:59:44-06:00

Last modified 2012-06-15T19:29:00-05:00

Combine ij-core and ij-ext

Reported by: curtis Owned by: curtis
Priority: critical Milestone: imagej2-b3-headless
Component: Core Version:
Severity: serious Keywords:
Cc: Blocked By:
Blocking: #1051, #1209


Keeping the service mechanism in ij-core separate from the extensibility framework in ij-ext makes sense in theory, but it creates an extra module that adds a slight complexity overhead.

The great majority of the time, third party code will depend on both of these modules—that is, it is quite rare to need ij-core but not ij-ext, since most third party code is in plugin form and will need access to the @Plugin annotation and hierarchy of plugin interfaces. (The only exception in core is ij-platform, which does not require ij-ext; and in ui, the only exceptions are ij-app, platform-macosx and platform-windows, and ij-util-awt.)

The only downside I see to the merger is that any components that *do* only require ij-core, but not ij-ext, will have the total size of their dependencies grow by ~150KB. Not too bad though.

Change History

comment:1 Changed 2012-02-27T11:01:32-06:00 by curtis

  • Milestone changed from imagej-2.0-beta1 to imagej-2.0-beta2

comment:2 Changed 2012-02-27T11:01:44-06:00 by curtis

Note: We are still debating whether this needs to be done at all.

comment:3 Changed 2012-03-07T12:24:06-06:00 by curtis

As of b65ead59d37dc4aa9e10b1be20a541a23f29ea1b, the ij-platform and platform-macosx projects now depend on ij-ext, since on Mac OS X we need access to the PluginService to remove some plugins from the main menu bar. So that leaves only ij-app, platform-windows and ij-util-awt as exceptions. Combining ij-core and ij-ext is looking more and more sensical!

comment:4 Changed 2012-05-14T10:22:19-05:00 by curtis

  • Blocking 1051 added

comment:5 Changed 2012-06-08T12:48:56-05:00 by curtis

  • Priority changed from major to critical

comment:6 Changed 2012-06-08T16:56:45-05:00 by curtis

  • Blocking 1209 added

comment:7 Changed 2012-06-15T19:28:55-05:00 by curtis

Fixed in 0e21115f.

comment:8 Changed 2012-06-15T19:29:00-05:00 by curtis

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