Mark Struberg wrote:
Hi!
I thought in a similar direction. I think we can even let the maven-scm as it is.
The problematic usecase is if we have a multi-module build and like to release
only one of the sub modules.
John Casey prepared an example for this use case:
$> git-clone http://www.commonjava.org/gitroots/git-release-test.git
To test the release plugin you need to clone it locally a 2nd time via file://
and then work in this 2nd checkout directory.
There are 2 issues in this area
1.) I personally find it unaesthetic but I can live with it that a tag in git
always counts for the whole project. So it is impossible to only tag a single
sub-module - the tag will always be visible for all modules. In praxis this
doesn't hurt because different tags should have different names anyway.
2.) A 'checkout' from a remote repository in git always requires a git-clone of
that very repo first. This is regardless of having a tag on the whole project
or if there would be a way to only stamp a part of the tree. So, as Brian
already said, for mvn release:perform we first have to somehow find the proper
submodule in target/checkout/.. before we run the whole test, site, deploy etc.
Therefor I think we don't need to change maven-scm but 'only' the
release-manager of the release-plugin. Finding the proper project dir may be
done by finding all pom.xml [a] and looking for the correct groupId/artifactId
[b].
As far as I've read this problem also affects other SCMs like accurev etc,
isn't? Any users/devs of those SCMs here who may review if this solution would
work for you too?
txs and LieGrue,
strub
a) what if the pom.xml has a different name? Is this yet supported by the
release plugin anyway?
b) anyone has a better idea to find the right project directory?
LieGrue,
strub
Is sounds like the process used by our release plugin doesn't really match the
way git works, so maybe we can change the way the release plugin works instead
of trying to fit git into our model. Do we really need to do a clean checkout
from the tag? Git must have a way to just check that the local working copy is
exactly the same as the tag on the server, right? As long as we have a good way
to verify that what we have locally matches what's on the server, I don't think
it's absolutely necessary to do a clean checkout.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org