Hi, Thank you for sharing. I like some of the things you do in the script, like squashing the commits. Since no one responded I ALS wrote some tooling that takes the output of dependency:tree from multiple projects, merges it, and given a target artefact writes a bash script for all SNAPSHOT dependencies using mvn. To release, the script is run. I will ask if it can be shared, at the moment I can't share the code, it's closed source. Perhaps the description will help someone. Ian
On Tuesday, October 15, 2013, Curtis Rueden wrote: > Hi Ian, > > Sorry for the delay in reply. > > > I have a source tree releasing multiple artifacts, all on different > > release cycles, semantically versioned and depending on one another in > > a tree. > > My group has a very similar situation -- multiple different source trees, > actually. I don't know of any tooling to do what you ask. But we built some > simple tooling to assist us in making rapid releases. > > A shell script which uses the maven-release-plugin but with some features > specific to our projects: > > https://github.com/scijava/scijava-common/blob/master/bin/release-version.sh > > Instructions on using it: > https://github.com/imagej/imagej/blob/master/RELEASES.md > > We are firm believers in "release early, release often" (or as Jeff Atwood > of StackOverflow fame puts it: "Go that way, really fast" [1]). So it is > vital that the release process be as simple as possible, so we can do > chained releases "up the tree" as needed very quickly. > > I suppose the bigger your project tree gets, the more your hypothetical > "release everything that needs to be released" tooling could become a > life-saver. But it's also a very high-level operation with really big > potential ramifications if misused, then, too. > > Regards, > Curtis > > [1] http://www.codinghorror.com/blog/2010/09/go-that-way-really-fast.html > > > On Tue, Sep 10, 2013 at 11:14 AM, Ian Boston <[email protected] <javascript:;>> > wrote: > > > Hi, > > I am wondering if there is tooling available in maven to assist with > > this the following scenario. > > > > I have a source tree releasing multiple artifacts, all on different > > release cycles, semantically versioned and depending on one another in > > a tree. > > > > After one item is released all references to it are set to the release > > version, and its version is set to the next SNAPSHOT. Only when a > > change is made are upstream poms updated to the SNAPSHOT version. > > > > Is there an existing plugin that will tell what needs to be released > > and what doesn't based on the multiproject dependency tree ? > > > > Better still, is there something I can just ask > > > > " release everything that needs to be released to allow artifact X to > > be released " > > > > of > > > > That would be excellent. > > > > Best Regards > > Ian > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected]<javascript:;> > > For additional commands, e-mail: [email protected]<javascript:;> > > > > >
