Hi Tamas, The MDK idea is a nice one (I did not know about it before). We can absolutely move in that direction I think i.e. we could make the current deploy and the central portal api two initial SPI implementations of a generic deploy plugin. That requires some work though but I can give it a try if you think that would be the right direction to go.
Best regards, Per On Fri, 8 Aug 2025 at 16:12, Tamás Cservenák <ta...@cservenak.net> wrote: > Howdy, > > Per, frankly I don't see why this would be done in m-deploy-p _directly_: > - it is not a "good fit" anyway > - why would we support in a core plugin anything proprietary? > - what happens if tomorrow deployment protocol happens to change? > (solution is not scalable nor pluggable) > - from this (push all code into poor deploy plugin), I think MDK was > one step better: https://github.com/maveniverse/mdk where the idea was > to add SPI to m-deploy-p (with default/current one being pulled as > dependency by the plugin), and then core extensions could swap out SPI > implementations with own solutions, like the MDK extension was doing, > or the mdk-jreleaser that simply plugged in jreleaser (preconfigured > from Maven). > - Also, if m-deploy-p gets support for Sonatype Central Portal, the > question will arise: why then no support for nx2, nx3, Jfrog AF etc? > As many repo/package SaaS offered, as many "protocols" may exist. > Hence, pluggability is a key for me. > > So for me this whole experiment does not make a lot of sense. > > T > > > On Fri, Aug 8, 2025 at 3:08 PM Per Nyfelt <per.nyf...@nordnet.se> wrote: > > > > I should add that I targeted the maven-deploy-plugin-3.x > > < > https://github.com/apache/maven-deploy-plugin/tree/maven-deploy-plugin-3.x > > > > branch. > > Once (if) this has been vetted and approved I aim to create a mergeable > > version for the master branch. > > > > Regards, > > Per > > > > On Fri, 8 Aug 2025 at 14:56, Per Nyfelt <per.nyf...@nordnet.se> wrote: > > > > > PR submitted here: > https://github.com/apache/maven-deploy-plugin/pull/612 > > > > > > Comments would be most welcome! > > > > > > Best regards, > > > Per > > > > > > On Thu, 31 Jul 2025 at 22:57, Per Nyfelt <p...@alipsa.se> wrote: > > > > > >> I added support for mega bundles and also integrated tighter with the > > >> DeployMojo. > > >> > > >> I changed deployAtEnd to default to true and added the property > > >> useCentralPortalApi that also defaults to true (set both to false for > > >> current deploy functionality) > > >> > > >> In my test project > > >> (https://github.com/perNyfelt/maven-central-publishing-example) I set > > >> autodeploy to false: > > >> > > >> <plugin> <groupId>org.apache.maven.plugins</groupId> > > >> <artifactId>maven-deploy-plugin</artifactId> > > >> <version>3.1.5-SNAPSHOT</version> <configuration> > > >> <autoDeploy>false</autoDeploy> </configuration> </plugin> > > >> > > >> and did > > >> > > >> `mvn clean deploy` > > >> > > >> Which successfully deployed the mega bundle to central: > > >> > > >> se.alipsa.maven.example-1.0.0-bundle.zip > > >> VALIDATED > > >> Deployment ID: 66f0b1f1-5d59-4b33-ad00-5c6e7b700b9b > > >> Created 16 seconds ago > > >> Component Summary > > >> 5 out of 5 Components Validated > > >> pkg:maven/se.alipsa.maven.example/publishing-example-subA@1.0.0 > > >> pkg:maven/se.alipsa.maven.example/publishing-example-common@1.0.0 > > >> pkg:maven/se.alipsa.maven.example/publishing-example-parent@1.0.0 > > >> ?type=pom > > >> pkg:maven/se.alipsa.maven.example/publishing-example-parent@1.0.0 > > >> pkg:maven/se.alipsa.maven.example/publishing-example-subB@1.0.0 > > >> > > >> I'll do some more cleanup and polishing and then create a PR where we > > >> can continue the discussion... > > >> > > >> Best regards, > > >> > > >> Per > > >> > > >> On 7/31/25 10:22, Per Nyfelt wrote: > > >> > Thanks for taking a look at this! Comments inline below: > > >> > > > >> > On Wed, 30 Jul 2025 at 19:20, Hervé Boutemy<hbout...@apache.org> > wrote: > > >> > > > >> >> thanks for sharing this step: useful to study simple code > > >> >> > > >> >> > > >> >> forcing user to do "mvn install myplugin:mygoal" instead of "mvn > > >> deploy" > > >> >> is > > >> >> cheating :) > > >> > notice that it opens an idea: Sonatype plugin could be used that > way, > > >> that > > >> >> would be less tricky inside Maven, that could work with Maven 4 > > >> >> > > >> >> but I really hoped that we could do something in deploy:deploy > that is > > >> >> bound > > >> >> to the deploy phase > > >> >> > > >> >> I agree but as an initial attempt, I wanted to isolate it. > > >> > We can absolutely integrate it closer to make it happen when we do > maven > > >> > deploy. Should the current deploy still work as is and we add an > extra > > >> flag > > >> > to determine which "mode" we publish with or should we change the > way > > >> > deploy works to only use the new publish process? > > >> > > > >> > > > >> >> on uploading module (sub-project) per module, it's definitively a > no > > >> go: > > >> >> having > > >> >> 10s or even 100s of modules happens a lot, we need to do a single > > >> bundle > > >> >> = what the existing deployAtEnd option prepares quite well for > > >> >> > > >> > Yes, I am working on a mega bundle using exactly that logic. There > is a > > >> > size limit on the bundle of 1 GB so I think it would be useful to > have > > >> the > > >> > "deploy each module separately" as an option. > > >> > > > >> > > > >> >> > > >> >> reading the code, I finally understood one key aspect: > > >> >> we need to create a bundle, that one I knew > > >> >> but what I got is that the bundle is not PUT like deploy usually > does > > >> with > > >> >> http: it is POSTed > > >> >> > > >> >> so in addition to adding an option to create a bundle instead of > > >> deploying > > >> >> each file separately, we'll also need to add an option to not PUT > file > > >> but > > >> >> HTTP > > >> >> POST, with url and all Maven Central-specific data being in POM > > >> >> distributionManagement > > >> >> > > >> > Yes, it's not even the common "post with attachment" but post as > > >> > multipart... > > >> > We already have the url param in distribution management and the > > >> > username/token is retrieved from the settings based on the id so > that is > > >> > all good. The question is if we want > > >> > a parameter in distributionmanagement or in the plugin config to > give > > >> the > > >> > user an alternative to deploy as it works today or deploy using the > new > > >> > central api? > > >> > > > >> > Best regards, > > >> > Per > > >> > > > >> > > > >> >> > > >> >> I'm sure it is feasible, I just did not have time to dive in > > >> deploy:deploy > > >> >> code sufficiently yet... > > >> >> > > >> >> Le lundi 28 juillet 2025, 21:52:55 CEST Per Nyfelt a écrit : > > >> >>> Hi, > > >> >>> > > >> >>> I have a proof of concept working here: > > >> >>> > > >> >> > > >> > https://github.com/perNyfelt/maven-deploy-plugin/tree/add_central_support > > >> >>> (the code can be much better integrated with the existing plugin, > this > > >> >>> is just a PoC). > > >> >>> > > >> >>> I used it to successfully uploaded and validate this project to > > >> central: > > >> >>> https://github.com/perNyfelt/maven-central-publishing-example > > >> >>> > > >> >>> using ` mvn -DautoDeploy=false clean install deploy:publish` > > >> >>> > > >> >>> (the autodeploy flag is set to false so it only does the upload > and > > >> >>> waits at central for an action i.e. to be dropped or published > > >> manually) > > >> >>> > > >> >>> There is also a bundle step that creates the zip and also does > some > > >> >>> validation (so you don't have to actually try to upload the > bundle to > > >> >>> central to get feedback) that can be invoked separately with ` mvn > > >> >>> -DautoDeploy=false clean verify deploy:bundle` > > >> >>> > > >> >>> Anyway, the deploy:publish deploys 4 bundles to central: > > >> >>> > > >> >>> 1. The aggregator project containing the pom (+ asc, md5, sha-1 > and > > >> >> sha-256) > > >> >>> 2. common containing jar, source, javadoc and pom (+ asc, md5, > sha-1 > > >> and > > >> >>> sha-256) > > >> >>> > > >> >>> 3. subA (that depends on common) containing jar, source, javadoc > and > > >> pom > > >> >>> (+ asc, md5, sha-1 and sha-256) > > >> >>> > > >> >>> 4. subB (that depends on common) containing jar, source, javadoc > and > > >> pom > > >> >>> (+ asc, md5, sha-1 and sha-256) > > >> >>> > > >> >>> I will see if i can add an support for the "deployAtEnd" flag to > > >> create > > >> >>> a mega-bundle instead and upload that. > > >> >>> > > >> >>> One thing that i found a little tricky is that we don't deploy the > > >> >>> effective pom but rather the original pom (at least that's the one > > >> that > > >> >>> is signed so that's the only readily available choice) and the > central > > >> >>> validation rules requires the license, developer, description and > scm > > >> >>> sections to be present. In the effective pom these are inherited > from > > >> >>> the parent but the validation logic in central does not care about > > >> that > > >> >>> and rejects the deploy unless they are explicitly present. Maybe > the > > >> >>> validation will work differently in the mega-bundle. I'll will > > >> >>> investigate... > > >> >>> > > >> >>> Best regards, > > >> >>> > > >> >>> Per > > >> >>> > > >> >>> On 7/22/25 19:16, Hervé Boutemy wrote: > > >> >>>> one first step we could try could be adding a "deployToBundle" > > >> >> parameter > > >> >>>> to the deploy plugin, that would trigger an "at end" behaviour > that > > >> >> would > > >> >>>> build a zip with all the deferred files, instead of copying each > file > > >> >>>> separately > > >> >>>> > > >> >>>> then see how just sending the bundle to the target (file: or > https: > > >> or > > >> >>>> scp: or ...) would do the job > > >> >>>> > > >> >>>> this could be a minimalistic approach, that would have the > benefit of > > >> >>>> showing "bundle vs individual deploy" approaches > > >> >>>> > > >> >>>> > > >> >>>> njord is that approach on steroids = really manage a local > staging > > >> area > > >> >>>> (or name it as you want) and decide in a separate plugin where > to put > > >> >> the > > >> >>>> staging area content and in which detailed format (PUT individual > > >> >> files, > > >> >>>> send everything as a unique archive, split the archive in smaller > > >> ones, > > >> >>>> or any future strategy)> > > >> >>>> On 2025/07/22 12:14:28 Per Nyfelt wrote: > > >> >>>>> It CAN be deployed as a single zip but it does not have to be. > The > > >> >>>>> downside > > >> >>>>> of deploying each module separately is that if one deployment > fails > > >> >> then > > >> >>>>> you end up with a "partial" deploy (from the point of view of > the > > >> >> whole > > >> >>>>> project) but I think you only end up in this situation in the > > >> >> beginning > > >> >>>>> when you have not configured everything properly. If we do > internal > > >> >>>>> validation first (check that an asc, md5 and sha1 accompanies > each > > >> >>>>> artifact) then this kind of error can be eliminated. What > remains > > >> >> would > > >> >>>>> then be network errors in which case you would just deploy the > > >> failed > > >> >>>>> module again. > > >> >>>>> > > >> >>>>> Regards, > > >> >>>>> Per > > >> >>>>> > > >> >>>>> On Tue, 22 Jul 2025 at 13:25, Guillaume Nodet<gno...@apache.org > > > > >> >> wrote: > > >> >>>>>> And I think that's exactly the problem as the deployment needs > to > > >> be > > >> >> a > > >> >>>>>> single zip file IIUC. > > >> >>>>>> > > >> >>>>>> Guillaume > > >> >>>>>> > > >> >>>>>> Le mar. 22 juil. 2025 à 12:28, Per Nyfelt< > per.nyf...@nordnet.se> a > > >> >>>>>> écrit > > >> >>>>>> > > >> >>>>>>> Hi Tamas, > > >> >>>>>>> > > >> >>>>>>> I think it would work. Each part is zipped up and deployed > e.g. > > >> >>>>>>> assuming > > >> >>>>>>> you have a multimodule project like this: > > >> >>>>>>> Aggregator > > >> >>>>>>> > > >> >>>>>>> - common > > >> >>>>>>> - subA (depends on common) > > >> >>>>>>> - subB (depends on common) > > >> >>>>>>> > > >> >>>>>>> Deploying all of this would mean 4 zip files are created and > > >> >> published > > >> >>>>>>> 1. The aggregator is just the pom (+ asc, md5 and sha1) > > >> >>>>>>> 2. common is the pom, jar, javadoc and sources (all signed and > > >> with > > >> >> md5 > > >> >>>>>> and > > >> >>>>>> > > >> >>>>>>> sha1 files) > > >> >>>>>>> 3. subA is the pom, jar, javadoc and sources (all signed and > with > > >> >> md5 > > >> >>>>>>> and > > >> >>>>>>> sha1 files) > > >> >>>>>>> 4 subB is the pom, jar, javadoc and sources (all signed and > with > > >> md5 > > >> >>>>>>> and > > >> >>>>>>> sha1 files) > > >> >>>>>>> > > >> >>>>>>> That should work fine i think or am i missing something? > > >> >>>>>>> > > >> >>>>>>> Regards, > > >> >>>>>>> Per > > >> >>>>>>> > > >> >>>>>>> On Tue, 22 Jul 2025 at 11:13, Tamás Cservenák< > ta...@cservenak.net > > >> > > > >> >>>>>> wrote: > > >> >>>>>>>> Per, > > >> >>>>>>>> > > >> >>>>>>>> You cannot publish to central using plugin bound to > lifecycle as > > >> it > > >> >>>>>> will be > > >> >>>>>> > > >> >>>>>>>> invoked in every module/subproject... Portal needs "at end; > all > > >> >>>>>> artifacts" > > >> >>>>>> > > >> >>>>>>>> kind of operation and Maveniverse Njord does that without > > >> >> interference > > >> >>>>>> to > > >> >>>>>> > > >> >>>>>>>> your build. > > >> >>>>>>>> > > >> >>>>>>>> Maven4 has improved lifecycle with "after:all" but Maven3 > does > > >> >> not, it > > >> >>>>>>>> needs a bit more. > > >> >>>>>>>> > > >> >>>>>>>> T > > >> >>>>>>>> > > >> >>>>>>>> On Tue, Jul 22, 2025, 11:07 Per Nyfelt<per.nyf...@nordnet.se > > > > >> >> wrote: > > >> >>>>>>>>> Hi, > > >> >>>>>>>>> How about adding a deployToCentral (or similar) goal to the > > >> >>>>>>>>> maven-deploy-plugin that uses the new API so that this is > > >> >> supported > > >> >>>>>>>>> "natively"? > > >> >>>>>>>>> I would be willing to implement it if you think it's a good > > >> idea. > > >> >>>>>>>>> > > >> >>>>>>>>> Regards > > >> >>>>>>>>> Per > > >> >>>>>>>>> > > >> >>>>>>>>> On Tue, 22 Jul 2025 at 10:39, Jon Harper< > jon.harpe...@gmail.com > > >> > > > >> >>>>>> wrote: > > >> >>>>>>>>>> Hi Hervé, > > >> >>>>>>>>>> thanks for looking into it. Did you try the sonatype > > >> >> compatibility > > >> >>>>>>>>>> service ? > > >> >>>>>> > > >> >> > https://central.sonatype.org/publish/publish-portal-ossrh-staging-api > > >> >>>>>>>>>> Also, while the governance and roadmap of > > >> >>>>>>>>>> central-publishing-maven-plugin is not open, the code > itself is > > >> >> OSS > > >> >>>>>>>>>> (uses the apache license v2 as indicated in the pom > > >> >>>>>> > > >> >> > > >> > https://repo1.maven.org/maven2/org/sonatype/central/central-publishing-m > > >> >>>>>> aven-plugin/0.8.0/central-publishing-maven-plugin-0.8.0.pom>>> > > >> >>>>>>>>>> ) > > >> >>>>>>>>>> Cheers, > > >> >>>>>>>>>> Jon > > >> >>>>>>>>>> > > >> >>>>>>>>>> On Sat, Jul 19, 2025 at 10:13 PM Hervé Boutemy < > > >> >>>>>> hbout...@apache.org> > > >> >>>>>> > > >> >>>>>>>>>> wrote: > > >> >>>>>>>>>>> deep dive done, with personal evaluation > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> https://github.com/apache/maven-studies/tree/deploy > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> happy to discuss and complete the review > > >> >>>>>>>>>>> > > >> >>>>>>>>>>> Le jeudi 17 juillet 2025, 03:53:40 CEST Hervé Boutemy a > écrit > > >> : > > >> >>>>>>>>>>>> I finally stopped procrastinating and took time to test > > >> >>>>>>>>>>>> > > >> >>>>>>>>>>>> https://github.com/apache/maven-studies/tree/deploy > > >> >>>>>>>>>>>> > > >> >>>>>>>>>>>> This does not yet give me a strong answer about what I > > >> >>>>>> personally > > >> >>>>>> > > >> >>>>>>>>> would > > >> >>>>>>>>> > > >> >>>>>>>>>>>> choose to promote, but at least better understanding of > the > > >> >>>>>> misc > > >> >>>>>> > > >> >>>>>>>>>> options > > >> >>>>>>>>>> > > >> >>>>>>>>>>>> Le mardi 8 juillet 2025, 08:45:25 CEST Hervé Boutemy a > écrit > > >> : > > >> >>>>>>>>>>>>> it seems we're back to Maven history of: > > >> >>>>>>>>>>>>> 1. publication to simple file systems (eventually > shared) > > >> >>>>>>>>>>>>> 2. multi-module (aka. multi-subproject) publication > > >> >>>>>>>>>>>>> 3. multi-file publication in a single gav > > >> >>>>>>>>>>>>> > > >> >>>>>>>>>>>>> On the positive side, this has been very flexible and > > >> >>>>>> perfect for > > >> >>>>>> > > >> >>>>>>>>>>>>> downloads. But on the negative side, this leads to quite > > >> >>>>>>>> undefined > > >> >>>>>>>> > > >> >>>>>>>>>>>>> publication protocol, and misunderstood, even when we > tried > > >> >>>>>> to > > >> >>>>>> > > >> >>>>>>>>> share > > >> >>>>>>>>> > > >> >>>>>>>>>> some > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>> doc > > >> >>>>>>>>>>>>> > > >> >>>>>>>>>>>>> https://maven.apache.org/repository/layout.html > > >> >>>>>>>>>>>>> > > >> >>>>>>>>>>>>> In the past, the complaint was that there was no > "standard" > > >> >>>>>> REST > > >> >>>>>> > > >> >>>>>>>>> API > > >> >>>>>>>>> > > >> >>>>>>>>>> to > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>> publish (ignoring that REST did not exist when Maven was > > >> >>>>>>>> growing). > > >> >>>>>>>> > > >> >>>>>>>>>>>>> Now there is a REST API with proper documentation > > >> >>>>>>>>>>>>> > > >> >>>>>>>>>>>>> https://central.sonatype.com/api-doc > > >> >>>>>>>>>>>>> > > >> >>>>>>>>>>>>> We could expect everybody to be happy, but no. > > >> >>>>>>>>>>>>> We are discovering it is perfect for smaller > publications. > > >> >>>>>>>>>>>>> But it opens questions for bigger publications. > > >> >>>>>>>>>>>>> > > >> >>>>>>>>>>>>> And yes, we're still in a half undocumented mix of > > >> approaches > > >> >>>>>>>>>>>>> (Maven-native > > >> >>>>>>>>>>>>> per-file PUT vs REST API for publishing an archive vs > how to > > >> >>>>>>>> split > > >> >>>>>>>> > > >> >>>>>>>>>> multi- > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>> module?) > > >> >>>>>>>>>>>>> > > >> >>>>>>>>>>>>> > > >> >>>>>>>>>>>>> Reading Njörðr description > > >> >>>>>>>>>> https://maveniverse.eu/docs/njord/what-is-it/, > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>> it is a Maven Resolver Repository Connector, looks like > a > > >> >>>>>> good > > >> >>>>>> > > >> >>>>>>>>>> integration > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>> in the native Maven CLI: please call it something like > > >> >>>>>> "Njörðr > > >> >>>>>> > > >> >>>>>>>>>> publisher" > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>> and I may remember what it does... > > >> >>>>>>>>>>>>> > > >> >>>>>>>>>>>>> I definitively need to dive into it: very interesting. > > >> >>>>>>>>>>>>> And next spte will be to have a wider community > understand > > >> >>>>>> all > > >> >>>>>> > > >> >>>>>>>>> these > > >> >>>>>>>>> > > >> >>>>>>>>>>>>> concepts, as beginning of all the issues is that we're > > >> >>>>>> touching > > >> >>>>>> > > >> >>>>>>>>> many > > >> >>>>>>>>> > > >> >>>>>>>>>>>>> in-depth aspects that are unknown to many. > > >> >>>>>>>>>>>>> > > >> >>>>>>>>>>>>> One additional TODO on my ever growing TODO list... > > >> >>>>>>>>>>>>> > > >> >>>>>>>>>>>>> Regards, > > >> >>>>>>>>>>>>> > > >> >>>>>>>>>>>>> Hervé > > >> >>>>>>>>>>>>> > > >> >>>>>>>>>>>>> Le lundi 7 juillet 2025, 16:48:39 CEST Tamás Cservenák a > > >> >>>>>> écrit : > > >> >>>>>>>>>>>>>> Howdy, > > >> >>>>>>>>>>>>>> > > >> >>>>>>>>>>>>>> Cool that you brought up this topic, thanks! > > >> >>>>>>>>>>>>>> Well, for start, to not repeat myself, a bit of > history: > > >> >>>>>>>> > https://maveniverse.eu/blog/2025/07/02/pom-proliferation-part-1/ > > >> >>>>>>>> > > >> >>>>>>>>>>>>>> (note: this is in fact a response to completely > unrelated > > >> >>>>>> blog > > >> >>>>>> > > >> >>>>>>>>>> entry, > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>> but is good to "cover the grounds" for now) > > >> >>>>>>>>>>>>>> > > >> >>>>>>>>>>>>>> In short: what today happens with Maven Central (MC) is > > >> >>>>>> totally > > >> >>>>>> > > >> >>>>>>>>>> out of > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>> scope of ASF Maven Project, that created it. > > >> >>>>>>>>>>>>>> What I also find ironical (or sad) is that project > > >> >>>>>> "causing" MC > > >> >>>>>> > > >> >>>>>>>>>> lost > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>> native access to it (while with Nx2 ran OSS/S01 you > could > > >> >>>>>> use > > >> >>>>>> > > >> >>>>>>>>>>>>>> m-deploy-p just fine, from now on, you cannot). > > >> >>>>>>>>>>>>>> > > >> >>>>>>>>>>>>>> Hence, there is no "native" or "out of the box" > support for > > >> >>>>>>>>>> publishing > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>> for Maven right now. > > >> >>>>>>>>>>>>>> > > >> >>>>>>>>>>>>>> As you know, there are some solutions offered, that > are all > > >> >>>>>>>>>>>>>> problematic for me as well: > > >> >>>>>>>>>>>>>> - they either "reinvent" (or force you to) reconfigure > > >> >>>>>> whole > > >> >>>>>> > > >> >>>>>>>>> world > > >> >>>>>>>>> > > >> >>>>>>>>>> again > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>> - or meddle with your build and have different > > >> >>>>>> requirements you > > >> >>>>>> > > >> >>>>>>>>>> need > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>> to implement > > >> >>>>>>>>>>>>>> > > >> >>>>>>>>>>>>>> Hence, the thing I'd recommend from maveniverse is > Njord: > > >> >>>>>>>>>>>>>> https://maveniverse.eu/docs/njord/ > > >> >>>>>>>>>>>>>> > > >> >>>>>>>>>>>>>> That basically (re) implements what Nx2 had, but > locally > > >> >>>>>> and > > >> >>>>>> > > >> >>>>>>>> adds > > >> >>>>>>>> > > >> >>>>>>>>>>>>>> publishing support as well. > > >> >>>>>>>>>>>>>> This extension was done to fully container all the > issues > > >> >>>>>>>> above: > > >> >>>>>>>>>>>>>> - is not "aggressive", literally steps aside > > >> >>>>>>>>>>>>>> - does not require to reconfigure your whole build > (you can > > >> >>>>>>>>> publish > > >> >>>>>>>>> > > >> >>>>>>>>>>>>>> even non integrated projects with it) > > >> >>>>>>>>>>>>>> - uses Maven and is Maven "native", no parallel worlds > > >> >>>>>>>>>>>>>> > > >> >>>>>>>>>>>>>> Of course, Njord does not help with cases like TrinoDB > has > > >> >>>>>>>> (that > > >> >>>>>>>> > > >> >>>>>>>>> is > > >> >>>>>>>>> > > >> >>>>>>>>>>>>>> Central Portal server side limitation), > > >> >>>>>>>>>>>>>> and many other things, but is working for many other > > >> >>>>>> projects. > > >> >>>>>> > > >> >>>>>>>>>>>>>> Also, as you mentioned, I created this issue (as Njord > > >> >>>>>> suffers > > >> >>>>>> > > >> >>>>>>>>>> from it > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>> as > > >> >>>>>>>>>>>>>> well):https://github.com/maveniverse/njord/issues/150 > > >> >>>>>>>>>>>>>> > > >> >>>>>>>>>>>>>> HTH > > >> >>>>>>>>>>>>>> Tamas > > >> >>>>>>>>>>>>>> > > >> >>>>>>>>>>>>>> On Sun, Jul 6, 2025 at 2:37 PM Jon Harper < > > >> >>>>>>>>> jon.harpe...@gmail.com> > > >> >>>>>>>>> > > >> >>>>>>>>>>> wrote: > > >> >>>>>>>>>>>>>>> Hi everyone, > > >> >>>>>>>>>>>>>>> I think it would be very beneficial for the community > > >> >>>>>> that > > >> >>>>>> > > >> >>>>>>>> the > > >> >>>>>>>> > > >> >>>>>>>>>> maven > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> dev team communicates on the current events of the > > >> >>>>>> sunset of > > >> >>>>>> > > >> >>>>>>>>>> OSSRH. > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> Otherwise, I think there is a big risk of uncertainty > and > > >> >>>>>>>>>> division in > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> the community. > > >> >>>>>>>>>>>>>>> > > >> >>>>>>>>>>>>>>> Quoting Romain ( > > >> >>>>>>>>> > > >> https://lists.apache.org/thread/bf3762lvd8l64hwyny7rnp3m6r852b9h > > >> >>>>>>>>> > > >> >>>>>>>>>> ) > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> from a year ago > > >> >>>>>>>>>>>>>>> "most of us using central outside the asf will be > > >> >>>>>> impacted > > >> >>>>>> > > >> >>>>>>>>>> sometime > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> next year probably" > > >> >>>>>>>>>>>>>>> > > >> >>>>>>>>>>>>>>> And now this time has come (note: I shamefully > > >> >>>>>> procrastinated > > >> >>>>>> > > >> >>>>>>>>> the > > >> >>>>>>>>> > > >> >>>>>>>>>>>>>>> ossrh migration until I was forced to, but like many > > >> >>>>>> people I > > >> >>>>>> > > >> >>>>>>>>>>>>>>> guess..). Unfortunately, it coincides with the last > > >> >>>>>> stages of > > >> >>>>>> > > >> >>>>>>>>> the > > >> >>>>>>>>> > > >> >>>>>>>>>>>>>>> maven 4 release, so I understand that everyone is very > > >> >>>>>> busy > > >> >>>>>> > > >> >>>>>>>> at > > >> >>>>>>>> > > >> >>>>>>>>>> the > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> moment. > > >> >>>>>>>>>>>>>>> > > >> >>>>>>>>>>>>>>> Maven is a tool that communicates with the outside > > >> >>>>>> world, so > > >> >>>>>> > > >> >>>>>>>> I > > >> >>>>>>>> > > >> >>>>>>>>>> would > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> think it's legitimate for the maven devs to publicly > > >> >>>>>> express > > >> >>>>>> > > >> >>>>>>>>>> their > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> guidelines. Unfortunately it's not an easy task (as a > > >> >>>>>> matter > > >> >>>>>> > > >> >>>>>>>> of > > >> >>>>>>>> > > >> >>>>>>>>>> fact, > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> the best resource I currently know for this is the > > >> >>>>>> personal > > >> >>>>>> > > >> >>>>>>>>> blog > > >> >>>>>>>>> > > >> >>>>>>>>>> of > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> Karl Heinz Marbaise), but maybe an email discussion > can > > >> >>>>>> lay > > >> >>>>>> > > >> >>>>>>>>>> enough > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> foundations by gathering many opinions so that a > coherent > > >> >>>>>>>>>> message can > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> be sent to the community ? > > >> >>>>>>>>>>>>>>> > > >> >>>>>>>>>>>>>>> Aggravating factors in central-publishing-maven-plugin > > >> >>>>>> that > > >> >>>>>> > > >> >>>>>>>>> lead > > >> >>>>>>>>> > > >> >>>>>>>>>> to > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> uncertainty according to me: > > >> >>>>>>>>>>>>>>> - Similarity with the standard maven-deploy-plugin. > > >> >>>>>> Sonatype > > >> >>>>>> > > >> >>>>>>>>>> even has > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> a compatibility service but its use is discouraged > ("We > > >> >>>>>> hope > > >> >>>>>> > > >> >>>>>>>>>> that over > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> time plugins will adopt the Portal API rather than > rely > > >> >>>>>> on > > >> >>>>>> > > >> >>>>>>>> this > > >> >>>>>>>> > > >> >>>>>>>>>>>>>>> service" in > > >> >>>>>> > > >> >> > https://central.sonatype.org/publish/publish-portal-ossrh-staging-api/ > > >> >>>>>>>>>>>>>>> ). > > >> >>>>>>>>>>>>>>> - No public scm system available makes it hard to get > > >> >>>>>> context > > >> >>>>>> > > >> >>>>>>>>>>>>>>> information ( > > >> >>>>>> > > >> >> > https://repo1.maven.org/maven2/org/sonatype/central/central-publishing > > >> >>>>>>>>>>>>>>> -m > > >> >>>>>>>>>>>>>>> a > > >> >>>>>> ven-plugin/0.8.0/central-publishing-maven-plugin-0.8.0.pom > > >> >>>>>> > > >> >>>>>>>>> lists > > >> >>>>>> https://github.com/sonatype/central-publishing-maven-plugin > > >> >>>>>> > > >> >>>>>>>>> but > > >> >>>>>>>>> > > >> >>>>>>>>>> is > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> 404). > > >> >>>>>>>>>>>>>>> (Note: The code is still available in the source jar > > >> >>>>>>>>>>>>>>> alongside the plugin > > >> >>>>>> > > >> >> > https://repo1.maven.org/maven2/org/sonatype/central/central-publishing > > >> >>>>>>>>>>>>>>> -m > > >> >>>>>>>>>>>>>>> av > > >> >>>>>>>>>> > > >> >> en-plugin/0.8.0/central-publishing-maven-plugin-0.8.0-sources.jar ) > > >> >>>>>>>>>>>>>>> - central-publishing-maven-plugin uses > > >> >>>>>>>>>> <extension>true</extension> to > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> forcefully remove any invocation of the > > >> >>>>>> maven-deploy-plugin > > >> >>>>>> > > >> >>>>>>>>>> which I > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> found surprising (aggressive ?) behavior. > > >> >>>>>>>>>>>>>>> - impossible as of 0.8.0 to use > > >> >>>>>>>> central-publishing-maven-plugin > > >> >>>>>>>> > > >> >>>>>>>>>> behind > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> a corporate proxy which ( by virtue of the http > client5 > > >> >>>>>> of > > >> >>>>>> > > >> >>>>>>>>> apache > > >> >>>>>>>>> > > >> >>>>>>>>>>>>>>> httpcomponents without the extra code required to > allow > > >> >>>>>>>> proxies > > >> >>>>>>>> > > >> >>>>>>>>>> ...) > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> - looks like fighting instead of cooperating (even > > >> >>>>>> though the > > >> >>>>>> > > >> >>>>>>>>>> plugin > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> architecture of maven invites this kind of work, maybe > > >> >>>>>> it's > > >> >>>>>> > > >> >>>>>>>>>> better > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> when core functionality stays within the maven > umbrella > > >> >>>>>> like > > >> >>>>>> > > >> >>>>>>>>> the > > >> >>>>>>>>> > > >> >>>>>>>>>>>>>>> maven-deploy-plugin?) > > >> >>>>>>>>>>>>>>> > > >> >>>>>>>>>>>>>>> What are your thoughts ? Are the recent improvements > to > > >> >>>>>> the > > >> >>>>>> > > >> >>>>>>>>>>>>>>> maven-deploy-plugin strong enough the try and unite > all > > >> >>>>>>>>>> publishing > > >> >>>>>>>>>> > > >> >>>>>>>>>>>>>>> plugins as one ? > > >> >>>>>>>>>>>>>>> > > >> >>>>>>>>>>>>>>> Cheers, > > >> >>>>>>>>>>>>>>> Jon > > >> >>>>>> > > >> --------------------------------------------------------------------- > > >> >>>>>> > > >> >>>>>>>>>>>>>>> To unsubscribe, > e-mail:dev-unsubscr...@maven.apache.org > > >> >>>>>>>>>>>>>>> For additional commands, e-mail: > > >> >>>>>> dev-h...@maven.apache.org > > >> >>>>>> > > >> >>>>>> > > >> --------------------------------------------------------------------- > > >> >>>>>> > > >> >>>>>>>>>>>>>> To unsubscribe, > e-mail:dev-unsubscr...@maven.apache.org > > >> >>>>>>>>>>>>>> For additional commands, > e-mail:dev-h...@maven.apache.org > > >> >>>>>>>>> > > >> >> > --------------------------------------------------------------------- > > >> >>>>>>>>>>>>> To unsubscribe, e-mail:dev-unsubscr...@maven.apache.org > > >> >>>>>>>>>>>>> For additional commands, > e-mail:dev-h...@maven.apache.org > > >> >>>>>>>> > > >> >> > --------------------------------------------------------------------- > > >> >>>>>>>>>>>> To unsubscribe, e-mail:dev-unsubscr...@maven.apache.org > > >> >>>>>>>>>>>> For additional commands, > e-mail:dev-h...@maven.apache.org > > >> >>>>>> > > >> --------------------------------------------------------------------- > > >> >>>>>> > > >> >>>>>>>>>>> To unsubscribe, e-mail:dev-unsubscr...@maven.apache.org > > >> >>>>>>>>>>> For additional commands, e-mail:dev-h...@maven.apache.org > > >> >>>>>> > > >> --------------------------------------------------------------------- > > >> >>>>>> > > >> >>>>>>>>>> To unsubscribe, e-mail:dev-unsubscr...@maven.apache.org > > >> >>>>>>>>>> For additional commands, e-mail:dev-h...@maven.apache.org > > >> >>>>>> -- > > >> >>>>>> ------------------------ > > >> >>>>>> Guillaume Nodet > > >> >>>>>> > > >> >>>>>> > > >> --------------------------------------------------------------------- > > >> >>>>>> To unsubscribe, e-mail:dev-unsubscr...@maven.apache.org > > >> >>>>>> For additional commands, e-mail:dev-h...@maven.apache.org > > >> >>>> > --------------------------------------------------------------------- > > >> >>>> To unsubscribe, e-mail:dev-unsubscr...@maven.apache.org > > >> >>>> For additional commands, e-mail:dev-h...@maven.apache.org > > >> >>> > --------------------------------------------------------------------- > > >> >>> To unsubscribe, e-mail:dev-unsubscr...@maven.apache.org > > >> >>> For additional commands, e-mail:dev-h...@maven.apache.org > > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > --------------------------------------------------------------------- > > >> >> To unsubscribe, e-mail:dev-unsubscr...@maven.apache.org > > >> >> For additional commands, e-mail:dev-h...@maven.apache.org > > >> >> > > >> >> > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > >