Hello all, I just wanted to let everyone know where I’ve been running lately. I’m writing a new commons component specifically “commons-release-plugin” for the sake of making a maven plugin that adheres to our release process. I’m sandboxing it in my git work area:
https://github.com/chtompki/commons-release-plugin <https://github.com/chtompki/commons-release-plugin> My goal is to get it functional an then bring it up for vote on creating it as a full fledged component (in the same vein as the commons-build-plugin). Currently, I have it declared locally in [text] with: <groupId>org.apache.commons</groupId> <artifactId>commons-release-plugin</artifactId> <version>0.1-SNAPSHOT</version> <configuration> <pubScmStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/text</pubScmStagingUrl> </configuration> <executions> <execution> <id>detatch-assemblies</id> <phase>verify</phase> <goals> <goal>detatch-assemblies</goal> </goals> </execution> </executions> </plugin> immediately following this line: https://github.com/apache/commons-text/blob/master/pom.xml#L164 <https://github.com/apache/commons-text/blob/master/pom.xml#L164> in the pom. As it stands now, it detaches the distributions from the deployment to nexus (after gpg signing, and then copies them and the sha1’s and md5’s into a working directory in /target), My plan here is to use the maven-release-plugin as a guideline for how to publish these up to the dist svn repository. I think I’m further going to set up a mojo to do site deployment to somewhere (open to thoughts on where the site should go, maybe the dist svn area in a zip file like what Gary did with the latest [dbcp] release??). Given this is a progress report. I’m open to anyone telling me that I’m wasting my time and pointing me in a new direction. Cheers, -Rob P.S. I haven’t figured out how to write tests for maven plugins, so I have no testing in the project. I’m open to suggestions/help in that department if anyone wants to chip in and help. > On Dec 28, 2017, at 4:05 AM, Hervé BOUTEMY <herve.bout...@free.fr> wrote: > > Hi Rob, > > one additional point: currently, for Maven itself, instead of adding new > Maven-specific ReleasePhase(s) to the default configuration, or configure > them in > our parent pom (I'm not sure documentation on how to do that is available: I > could not find it), we chose first to create a separate "dist-tool" to check > consistency of what is currently published in misc places and provide some > commands to fix when an inconsistency is found. > > This happens through daily reports done by a Jenkins job [1]: > - distribution area vs Maven Central [2] > - version from Maven site vs Maven Central [3] > > We did not produce any release nor made it really configurable for > conventions > different from Maven ones (like Common's -src & -bin), but at least there is > a > configuration file to define artifacts to check [4] > > HTH > > Hervé > > > [1] https://builds.apache.org/view/M-R/view/Maven/job/dist-tool-plugin/ > > [2] https://builds.apache.org/view/M-R/view/Maven/job/dist-tool-plugin/site/ > dist-tool-check-source-release.html > > [3] https://builds.apache.org/view/M-R/view/Maven/job/dist-tool-plugin/site/ > dist-tool-check-index-page.html > > [4] https://builds.apache.org/view/M-R/view/Maven/job/dist-tool-plugin/site/ > dist-tool.conf.html > > Le mercredi 27 décembre 2017, 23:32:49 CET Rob Tompkins a écrit : >> Stephen, >> >> I can’t thank you enough for your reply. I’ll take your suggestions and >> continue to sandbox around using the maven-release-plugin as a guideline. >> >> All the best and happy holidays, >> -Rob >> >>> On Dec 26, 2017, at 5:27 AM, Stephen Connolly >>> <stephen.alan.conno...@gmail.com> wrote:> >>> On Tue 26 Dec 2017 at 03:10, Rob Tompkins <chtom...@apache.org > <mailto:chtom...@apache.org>> wrote: >>>> Hello all, >>>> >>>> Pardon, maybe this should have gone to your @user list, but why not ping >>>> the dev crew. I’ve been playing around the ideas surrounding our fairly >>>> manual release process for the components in Commons, and I was hoping >>>> for >>>> some insights. >>>> >>>> Scripting the version changes isn’t really that big of a deal for us, and >>>> that I can manage. But, when it comes to publishing our artifacts to the >>>> apache nexus repository, and then separately publishing our -src and -bin >>>> assemblies to the dev dist subversion repository (and consequently >>>> deleting >>>> those artifacts from nexus as they’re “attached” for the purpose of gpg >>>> signing), I feel it a tad cumbersome. >>>> >>>> I’ve fiddled around a little with the idea of detaching the -src and -bin >>>> assemblies after gpg signing with some success, but then I have to delve >>>> into the mechanics of publishing those up to the subversion repository, >>>> and >>>> clearly that problem has already been solved. >>> >>> Is your problem you don’t want those going to Nexus staging but only to >>> dist? Or is it that you want them *also* going to dist. >>> >>> Personally... I see no reason to remove them from going to Nexus staging >>> (in fact I have a background plan to add secondary signing support to >>> staging... i’m Waiting to see the Nexus 3 staging APIs before attempting >>> though. That would mean that the PMC would be able to *add* their GPG >>> signature to the staged artifacts as part of the voting... in which case >>> you’d want to hold off uploading to dist until *after* the vote so you get >>> the full set of signatures) >>> >>> If you want to upload a subset of attached artifacts to dist as part of >>> the >>> release, that seems much more tenable... just a derivative of the >>> scm-publish plugin from what I can see. >>> >>> So I find myself in the space of trying to shoehorn our process into its >>> >>>> the main maven-release-plugin, which I’ve found a tad difficult, versus >>>> writing our own release plugin, which feels like I would be duplicating >>>> tons of code (which I don’t want to do). >>> >>> So the release plugin is really two parts: >>> >>> 1. A toolkit for writing release plugins >>> >>> 2. An example that does the job for the requirements of the Maven TLP and >>> has seemed “sufficient” for a lot of other people. >>> >>> As such, if you have different needs, do not feel bad about having to >>> encode differently... hopefully the toolkit half of the codebase is >>> sufficient for you. >>> >>>> I’m curious if you guys have any thoughts on the matter as I’ve been >>>> playing around in the space for a little while now. >>>> >>>> Cheers and happy holidays from UTC-5, >>>> -Rob >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org >>>> <mailto:dev-unsubscr...@maven.apache.org> For additional commands, >>>> e-mail: dev-h...@maven.apache.org <mailto:dev-h...@maven.apache.org> >>>> >>>> -- >>> >>> Sent from my phone > >