Bio-Formats / OME Files
architecture

Sep 14, 2016

Sébastien Besson

Current architecture

Limitations

  • Dual build system (Maven, Ant) + multi-module project
    • Build time (compile, tests)
    • Large source code
    • JAR embedding, GPL compliance
  • Components release
    • Release of all components even with no change
    • OME artifactory requirement

Upcoming integrations

  • OME Files
    • Experimental API for extension points in Java/C++
  • Glencoe Software JXR-lib

Proposal

Steps

Phase 1: JAR dependencies removal

  • Constraint: preserve Ant build system
  • Ant dependency management implementations:
    • Ivy (cf OMERO)
    • Maven Ant tasks
  • Non breaking change: Bio-Formats 5.2.3 target

Phase 2: ome-common-java decoupling

  • Reuses Phase 0 to consume JARs in Bio-Formats
  • Reuses existing filtering scripts from OME Files C++
  • Investigate deployment to Maven Central

Phase 3: ome-model

  • Reuses Phase 0 to consume JARs in Bio-Formats
  • Reuses existing filtering scripts from OME Files C++
  • Investigate migration of the formats documentation

Phase 4: other components

  • Removal of forks/stubs
  • Integration of OME Files Java
  • Integration of jxrlib