Bio-Formats / OME Filesarchitecture
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