Another issue with using scripts to do the "release" is that I'd have
to code the SCM "tagging" part, too, since we would want to be able to
have something we can use to re-create the release if necessary. The
maven release plugin does all of this for me.
On Mon, Jun 18, 2012 at 11:03 PM, James C
The "dance" was only required because we have a hierarchy of poms and
one of the top-level guys had to change. This change was required to
make the OSGi stuff "happy", so it had to be propagated down.
I ended up writing a simple ruby script that searches through all of
the pom.xml files in a dire
Step 1) Separate your API interfaces into their own bundles, with their
own release cadence.
Step 2) Code solely against APIs, and against version ranges ( we use
[1.0.0,2.0.0) style.
Given things in OSGi land are service/interface orientated this works well.
We try to follow the semver style
I think what Ron is saying, is that choosing what Project A depends on
is selected at the time Project A is kicked off.
Until Project A is released all its dependencies should be locked down
and only use release versions (if possible).
You would only upgrade a dependency when a critical bug blocks
Well, we are using the release plugin to do our releases. I would
rather stick with that if we can, since we've got Jenkins all set up
to do the releases with a push of a button and everything. I could
probably make all the pom.xml modifications with a find/replace (sed
perhaps), check in the cha
We stayed manual. I figured it was a small overhead at the start of a
new release cycle but we only had 70 modules to manage and we were
pretty modular.
I suppose Ant and XLST scripts would do the job pretty well.
Check out each project.
Use XSLT (or some other XML transformer) to fix the right
We are an OSGi shop. Thus, we have a lot of "bundle" projects that
have their own independent release cycles. We have a hierarchy of
parent POMs and many utility libraries. When we change one of the
upper-level POMs (like the "base" for all of our OSGi bundles), it is
very time-consuming to poin