Howdy, well MDK "failed" to get any traction (actually, people -1 on it), hence Njord: https://lists.apache.org/thread/t75bp7q1yvmgtn0s5zg7mjs2ofkdx7rk
For me, "Central Publishing" was always a very important topic, but for the rest of developers it seems it was not. Thanks T On Fri, Aug 8, 2025 at 4:36 PM Per Nyfelt <per.nyf...@nordnet.se> wrote: > > 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 > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org