[Biojava-dev] Renaming BioJava3 packages & modules
Michael Heuer
heuermh at gmail.com
Fri Oct 10 16:35:58 UTC 2014
Jose Manuel Duarte wrote:
> I will stay defending simplicity and advocate for removing the 3. This of
> course means some pain now. But it will also mean a pain-free future.
No, the pain is actually in the future.
Consider:
Project a has a dependency on biojava-legacy version 1.9.1, package
names org.biojava.*
Project b has a dependency on biojava3 version 3.1, package name also
org.biojava3.*
Project c has a dependency on projects a and b
Project b updates their dependency on biojava3 to version 4.0, which
doesn't necessarily mean a binary incompatible change for project b,
but it means the transitive biojava3 packages are now org.biojava.*,
same as biojava-legacy
Project c now runs into RuntimeExceptions because some biojava3
version 4.0 class clobbers a biojava-legacy version 1.9.1 class.
Commons Math and Commons Collections are other projects that have had
to deal with this
http://commons.apache.org/proper/commons-math/
http://commons.apache.org/proper/commons-collections/
Rather than move from package names org.biojava3 --> org.biojava
perhaps we should consider going from org.biojava3 --> org.biojava4.
michael
More information about the biojava-dev
mailing list