I created a file javaio/java/bioformats/bio-formats-stripped.jar that contains the minimal set of .class files needed for the build of BioFormatsInterface.java. This file is used to resolve the references to functions and classes in bioformats_package.jar. Including this file means that:
We don't need to download 40+ MB four times when running the deploy script.
We can build DIPjavaio in CI, but we still can't test it.
Build instructions are a little simpler for the end user.
Possible issues:
Including a binary file in a repo is never nice. But this one is only 93 KB.
Bio-Formats is GPL. But the core code is all 2-clause BSD (I've checked the license notice in the source .java file for each of the included .class files). It is some of the readers and writers (for specific file types) that are GPL. But even if it were GPL, we're not linking to it in outside of DIPjavaio, so this should all be fine.
Future updates to DIPjavaio might reference other classes/functions in Bio-Formats, meaning we'll need to add more .class files back into the .jar file.
I created a file
javaio/java/bioformats/bio-formats-stripped.jar
that contains the minimal set of .class files needed for the build ofBioFormatsInterface.java
. This file is used to resolve the references to functions and classes inbioformats_package.jar
. Including this file means that:Possible issues:
What do you think, should we use this or not?