Hi,

> On Thu, Dec 28, 2017 at 10:43 AM, Hervé BOUTEMY <herve.bout...@free.fr> 
> wrote:
> thank you Plamen: this script is really awesome!

You're welcome. I'm glad it helped.

> And I just pushed the result on maven-acr-plugin: you can see the result live.
> As you can see, the tags on GitBox [2] are updated but not the tags on GitHub
> [3] even if I tried to force to GitHub (and it looked ok)
> I don't know if it's a major issue

Would you check again. To me it looks like as if now the tags on
GitHub are updated as well.

> The rework of tags is ok for 420 tags on plugins, and fails for 31:
> - 16 tags don't point to a release plugin commit [4]

The script tries to find the "[maven-release-plugin] prepare release"
commit reachable from the master branch and if it does not find it
then it says that the commit is not made with the release plugin.
Looks like there a couple of such cases (at least the commit message
is different). They are:

* maven-checkstyle-plugin-2.11 - the "copy for tag" commit is with
revision 1540890. The previous commit 1540889 is with message "foo"
(literally), but if you examine the content you'll see that this is
the commit that does the release. So I think it's safe to tag it - its
SHA in the split repository is
8f09be0a11e9761cceca127f4f8dcd439dcc561e[1].
* maven-dependency-plugin-2.0-alpha-2 - the "copy for tag" commit is
with revision 517496. The previous commit 517495 is with message
"rollback plexus-utils to 1.1 to avoid conflicts with m2.0.6", but
again if you examine the content you'll see that this is the commit
that does the release. Its SHA in the split repository is
9af772788381f5b79081a649748b2d8137782895[2].
* maven-help-plugin-2.0.1 - looks like the release is
2f95a7ecb720f95c1cbde1a52b3360964be29e72[3]. The commit message is
"[maven-release-plugin] prepare release maven-help-plugin-2.0" but if
you check the pom version you'll see it is 2.0.1
* maven-project-info-reports-plugin-mvn%20release%3Aprepare - Actually
there is a "prepare release"
commit(9de1aa37f0d38547aea80eac1abfe2078c2220c1[4]) but it is not
found by the script because of the escape characters in the tag name.
Actually I don't think this tag is needed as it seems to point to a
release attempt gone wrong.

Another possible cause is that there is "prepare release" commit but
it's not reachable from master. Looks like some of the plugins have
been released from branch and those commits are not part of the master
branch. Here is a list with such releases:

* maven-assembly-plugin-2.2-beta-4 is released from branch
maven-assembly-plugin-2.2-beta-4
* maven-assembly-plugin-2.6 is released from branch maven-assembly-plugin-2.x
* maven-compiler-plugin-2.0.1 is released from branch
maven-compiler-plugin-2.0.x
* maven-site-plugin-2.4 is released from maven-site-plugin-2.x
* maven-site-plugin-3.0-beta-1, maven-site-plugin-3.0-beta-2,
maven-site-plugin-3.0-beta-3 are released from maven-site-plugin-3.x

The branches are not preserved in the split repositories(but they do
exist in maven-plugins). I guess we should migrate them as well or I'm
wrong? Do you think it will be an issue to have branches after the
migration that are not merged into master? Migrating the branches into
the split repositories should not be complicated (I think) but haven't
tried yet. I may try to migrate maven-site-plugin-3.x for example to
see how it is in reality.

Also it appears that some of the plugins were part of "sandbox" and
this part of their history is not preserved after the split (I'm not
sure how much of it is part of maven-plugins. Keeping this part of the
history may prove to be more difficult.

* maven-shade-plugin-1.0-alpha-13, maven-shade-plugin-1.0-alpha-14 and
maven-shade-plugin-1.0-alpha-15 were released when the Shade plugin
was in the 
sandbox(https://svn.apache.org/repos/asf/maven/sandbox/trunk/plugins/maven-shade-plugin).

I have no idea about the cause for
maven-dependency-plugin-2.0-alpha-1-RC2 and
maven-site-plugin-pre-compat-with-doxia-1.0-alpha-7 tags.

> - 15 tags have an issue I don't really understand yet [5]

I haven't looked at them yet, but in general the error means that a
"prepare release" commit reachable from master is found but the
content of the files (the SHA of the root tree) does not match the
tagged ones. I suspect that the cause may be that there are a multiple
attempts on release and the last one does not match the tagged(for
example the first one is tagged).

Regards,
Plamen Totev

[1] 
https://github.com/apache/maven-checkstyle-plugin/commit/8f09be0a11e9761cceca127f4f8dcd439dcc561e
[2] 
https://github.com/apache/maven-dependency-plugin/commit/9af772788381f5b79081a649748b2d8137782895
[3] 
https://github.com/apache/maven-help-plugin/commit/2f95a7ecb720f95c1cbde1a52b3360964be29e72
[4] 
https://github.com/apache/maven-project-info-reports-plugin/commit/9de1aa37f0d38547aea80eac1abfe2078c2220c1

Reply via email to