On Jun 18, 2012, at 11:43 PM, Casper Bang wrote: > On Monday, June 18, 2012 11:54:46 PM UTC+2, fabrizio.giudici wrote: > It's split in two steps because you can first verify whether there are the > prerequisites for the release to be successful. But we can also say that > you can run release:prepare release:perform in the same run, so what we > are talking of? When I need to make a release, I just press a single > button on my Hudson. > > That's a decent explanation, except that it's not called "verify" but > "prepare" and it pollutes /trunk when fails (POM has been modified and temp > files created) requiring manual cleanup. In software API design, we learn > about orthogonality and procedural cohesion, which would be nice if it > applied to our tools as well. If we had release:verify (that did not screw > with /trunk) and release:perform to do the actual release, things would make > more sense. Maven is awesome but it has scared many a developer due to these > usability things. >
This topic, of course, has nothing to do with the original. I would suggest you write down all the steps that have to be performed during a "normal" release - including changing revision numbers and creating tags in source control - and then identify all the things that can go wrong and recover from them so that the whole thing is atomic or at least recoverable. If you can then create a maven release plugin that does that I'm sure there are a lot of people who would love to adopt it. I've released software that uses the release plugin and have had to re-release several times and getting the source control system back to its original state can be a pain. The problem with these criticisms is that these are actually fairly hard problems to solve. For example, how would you update the versions without modifying the poms in trunk so that they can be committed? By checking out a whole new copy of the project? Perhaps this discussion should move to the Maven developers list? Ralph -- You received this message because you are subscribed to the Google Groups "Java Posse" group. To post to this group, send email to javaposse@googlegroups.com. To unsubscribe from this group, send email to javaposse+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.