[Biojava-dev] Renaming BioJava3 packages & modules

Jose Manuel Duarte jose.duarte at psi.ch
Fri Oct 10 15:06:42 UTC 2014


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. 
My opinions below:

>
> However,  the artifactids do still contain biojava3, to match the 
> module names. So changing artifactids could be another point to add to 
> the list. IMO, they should match the module names.

Agreed, they should match. Changing the artifactIds shouldn't be a big 
problem: people will have to change in their poms both the version 
number to 4 and the artifactIds.

>     - Changing module names will be a major code rearrangement. It
>     would probably require some moderately advanced git wrangling to
>     merge branches and uncommitted code to the new master. Eclipse
>     users would probably have to update their projects as well.
>

This indeed makes things complicated for anyone having unmerged code.

>     - Removing the 3 from package names would require changing imports
>     on all downstream projects. It might also cause conflicts with
>     legacy packages which would break any projects that tried to
>     include both biojava3 and biojava1 (a bad idea to start with, but
>     I know of one case).
>

As for the first point it will require some work for developers moving 
from Biojava 3 to 4, but I don't see that as a major issue: changing 
imports is a matter of some search/replace. As for the second point I 
think it's minor, if you wanted to include both legacy and non-legacy 
you can still use Biojava 3 for that. Biojava 4+ will be incompatible.

>     - Changing package names requires carefully updating the Cookbook
>     and tutorial by hand
>

Can be done with some semi-automated search/replace. I'll volunteer to 
do that.

>     - All of this requires work from developers which could be better
>     spent writing code
>

I agree it requires some work now. But it will avoid a lot of confusion 
forever after. I think it will eventually save time.



Anyway from the points above the only one that I see as a really tricky 
one is the issue of unmerged code (which becomes difficult to merge 
after renaming modules). I can only suggest that if we give enough time 
until the release (until November or December), then that hopefully will 
be enough time to merge anything mergeable. Just before the release 
we'll then do the module renaming which from that moment will make 
merging a lot more complicated (though not impossible).

Jose

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.open-bio.org/pipermail/biojava-dev/attachments/20141010/668caf1c/attachment.html>


More information about the biojava-dev mailing list