[ImageJ-devel] ImgLib split?

Tobias Pietzsch pietzsch at mpi-cbg.de
Tue Apr 8 01:49:36 CDT 2014

Hi Johannes and Curtis,

> certainly you saw Curtis' recent mail about our plans for ImageJ2?
I must have missed that. Can you send a link?

First of all: in principle, I have no problem with that if it is necessary.
I would just ask that Curtis or you explain for a half hour or so these magic release engineering helpers over skype. (It would by the way also be nice to know how this currently works. I have no idea, how I would do a "proper beta release" if I wanted to do so… I would appreciate some pointers to documentation or scripts etc.)

That being said, here are my concerns and questions:

My fear with splitting subprojects is that this will make it harder to consistently refactor across subprojects, (or clean up behind commits that don't), see this discussion https://github.com/imglib/imglib/pull/23 (last 10 messages or so).
How can we pull this off consistently?

Also I image that we will require quite a bit more of "git logistics" with split projects. For example, assume that I want to make a new topic branch that touches more than one subproject (which easily happens when refactoring). Will I have to make topic branches in all subprojects? Is there a way to relate these other than manually by using the same branch names across projects, etc?
How will Jenkins deal with this decoupled situation: I will merge my topic branches into master in each of the subprojects sequentially. This will produce a lot of failing intermediate builds in Jenkins, right? I think this will complicate hunting down errors.
Overall, I'm a bit afraid of the additional overhead.

How about doing decoupled versions without splitting up the git repository? It seems to me that this would be an easy way to avoid the downsides mentioned before.

One more thing: If you want to bring imglib core out of beta, we should probably do a clean-up.
There are things that are in core now, I would not consider ready for release (ROIs come to mind).
So either we live with rapidly growing major version numbers due to frequent API breaks (fine with me) or split out the not-quite-ready parts into their own subprojects (also fine with me).

Stephans, what do you think?

best regards,

On Apr 7, 2014, at 11:06 PM, Johannes Schindelin <schindelin at wisc.edu> wrote:

> Hi Tobias, Stephan & Stephan,
> certainly you saw Curtis' recent mail about our plans for ImageJ2?
> Basically, we want to release a version of ImageJ whose user interface
> looks like ImageJ1, but internally uses all the goodies on which we worked
> so hard these past years.
> That includes ImgLib2, of course, so we would need to bring parts of
> ImgLib2 out of beta. In particular, we found it unwise to always version
> all of ImgLib2 in unison. Rather, there should be releases of the
> individual components whenever there should be new releases: bug fixes,
> API enhancements, API-breaking major new developments.
> As always, Curtis & I are ready to help with all of that stuff, in
> particular with helpers making release engineering close to fun. Our
> central goal in that respect is to make it as easy as possible to switch
> between A) reproducible builds with release couplings; and B)
> tightly-coupled builds with snapshot couplings for rapid development
> across components.
> The first step would be to break the multi-module ImgLib2 repository apart
> (much in the way we split out imglib2-tests and friends, except that we
> split out *all* of the individual projects). We do not see any other way
> to get only that part of ImgLib2 out of beta that we really need for the
> ImageJ2 release...
> Are you okay with that plan?
> Ciao,
> Dscho
> P.S. We are planning to split up imagej.git in very much the same way.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://imagej.net/pipermail/imagej-devel/attachments/20140408/1ee1ec9b/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://imagej.net/pipermail/imagej-devel/attachments/20140408/1ee1ec9b/attachment.pgp>

More information about the ImageJ-devel mailing list