Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipse.org-committers] What is the best way to publish an Eclipse repository version (update site and products) AND a Maven repository version ?

Hi Tamas

Thanks for the caution.

Please provide equivalent reference(s) to the pom.xml snippets necessary to exploit Njord rather than Sonatype.

Regards

Edward Willink

On 10/07/2025 13:37, Tamás Cservenák via eclipse.org-committers wrote:
Howdy,

I would advise against the use of Sonatype plugin, it interferes a lot
with your build and is lagging in maintenance (as its predecessor
was), finally, is not open source.

This is why I wrote about Maveniverse Njord, that does all this the opposite:
https://maveniverse.eu/docs/njord/

HTH
Tamas

On Thu, Jul 10, 2025 at 2:27 PM Achim Kraus via eclipse.org-committers
<eclipse.org-committers@xxxxxxxxxxx> wrote:
Hello Edward,

not sure, if that is really what you ask for:

The provided settings from eclipse deploys the artifacts to the eclipse
repo, if
the signed with the eclipse-jarsigner-plugin. No publishingServerId must
be used.
That works for releases and snapshots.
To publish to maven central, you will need to use maven-gpg-plugin to
sign and
provide a <publishingServerId>central</publishingServerId>.
Additionally, at least
for now, you also will need to use <autoPublish>true</autoPublish> and
<waitUntil>published</waitUntil> though a manual finish is currently
limited to
the pushing user.

See the snippets:

https://github.com/eclipse-californium/californium/blob/main/pom.xml#L348-L352

<build>
          <pluginManagement>
              <plugins>
...
                  <plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
                      <version>0.7.0</version>
                  </plugin>
...
          </plugins>
      </pluginManagement>
</build>

and

https://github.com/eclipse-californium/californium/blob/main/pom.xml#L936-L1025

<profiles>
          <profile>
              <!-- this profile signs artifacts so that they can be
deployed to
              repo.eclipse.org and publishs these artifacts -->
              <id>eclipse_jar_signing</id>
              <activation>
<activeByDefault>false</activeByDefault>
                  <property>
<name>enableEclipseJarSigner</name>
                  </property>
              </activation>
              <pluginRepositories>
                  <pluginRepository>
                      <id>eclipse-repo</id>
                      <name>Eclipse Repository</name>
                      <releases>
                          <enabled>true</enabled>
                      </releases>
                      <snapshots>
                          <enabled>false</enabled>
                      </snapshots>
                      <url>
https://repo.eclipse.org/content/repositories/cbi-releases/</url>
                  </pluginRepository>
              </pluginRepositories>
              <build>
                  <plugins>
                      <plugin>
<groupId>org.eclipse.cbi.maven.plugins</groupId>
<artifactId>eclipse-jarsigner-plugin</artifactId>
                          <executions>
                              <execution>
                                  <id>sign-jars</id>
                                  <phase>verify</phase>
                                  <goals>
                                      <goal>sign</goal>
                                  </goals>
                              </execution>
                          </executions>
                      </plugin>
                      <plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
                      </plugin>
                  </plugins>
              </build>
          </profile>
          <profile>
              <!-- this profile generates GPG signatures and publishs these
               artifacts to maven central -->
              <id>create_gpg_signature</id>
              <activation>
<activeByDefault>false</activeByDefault>
                  <property>
                      <name>createGPGSignature</name>
                  </property>
              </activation>
              <build>
                  <plugins>
                      <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
                          <executions>
                              <execution>
<id>sign-artifacts</id>
                                  <phase>verify</phase>
                                  <goals>
                                      <goal>sign</goal>
                                  </goals>
                                  <configuration>
                                      <gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
                                      </gpgArguments>
                                  </configuration>
                              </execution>
                          </executions>
                      </plugin>
                      <plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
                          <extensions>true</extensions>
                          <configuration>
<publishingServerId>central</publishingServerId>
<autoPublish>true</autoPublish>
<waitUntil>published</waitUntil>
                          </configuration>
                      </plugin>
                  </plugins>
              </build>
          </profile>
      </profiles>


br
Achim

Am 09.07.25 um 15:00 schrieb Edward Willink via eclipse.org-committers:
Hi

Xtext is a moderately complex modeling project so I suspect that
whatever it does will suit me/us.

Can you please identify the lines in a GitHub source that does the
extra Maven magic.

(I'm hoping it's just one extra pom.xml plugin and a couple of
declarations.)

Regards

Ed Willink

On 08/07/2025 15:15, Lorenzo Bettini via eclipse.org-committers wrote:
In case it might help, we (Xtext) publish a P2 repository and to the
new Maven Central in the same run.

Prof. Lorenzo Bettini, Computer Science, DISIA, Univ. Firenze
HOME: http://www.lorenzobettini.it
Xtext Book:
https://www.packtpub.com/application-development/implementing-domain-specific-languages-xtext-and-xtend-second-edition
<http://www.packtpub.com/implementing-domain-specific-languages-with-xtext-and-xtend/book>


Il Mar 8 Lug 2025, 14:38 Scott Lewis via eclipse.org-committers
<eclipse.org-committers@xxxxxxxxxxx> ha scritto:


     On 7/3/2025 3:23 AM, Edward Willink via eclipse.org-committers wrote:
     Hi

     My longstanding problem too.
     https://github.com/eclipse-ocl/org.eclipse.ocl/issues/1901 for
     which my latest observation was:

     /"EMF also publishes to Maven central:/

     /https://ci.eclipse.org/emf/job/maven-publish/"/

     Also: The recent: "Re: [cross-project-issues-dev] OSSRH Service:
     EOL June 30th, 2025" references

     https://central.sonatype.org/publish/publish-portal-maven/#automatic-publishing


     which makes it look really easy.

     This does make it look easy...but it's not...since Tycho/maven p2
     repo builds/deploys do different things wrt signing, shape of
     build artifacts (pom, jar, source, javadoc), signing of
     artifacts, other aspects of build, authentication on deploy.  For
     example, we've had a build script that worked with ossrh maven
     central deploy for 10+ years...doesn't work with central deploy
     now as it uses maven sign-and-deploy-file task.  Using the
     automatic-publishing as an additional maven plugin as above
     doesn't currently work with our build.

     I await a working really easy example to clone.

     +1 for that.   Perhaps our EF employees could respond to a
     multi-project (community) need?


     (Emulating EMF is well worthwhile since Ed Merks has much wider
     awareness and the influence to encourage others to solve problems.)

     Regards

     Ed Willink



     On 02/07/2025 21:24, Tamás Cservenák via eclipse.org-committers
     wrote:
     Hi,

     given you have a Maven (Tycho) build, simplest would be to use Njord.
     But I am not quite in Tycho, so Christoph Laubrich should chime in here.

     For me, as ASF Maven dev and PMC (also on Eclipse Sisu) that bit is really hazy:
     "This is necessary for Maven to push the build to the proper Maven
     Central release staging area."

     Thanks
     T

     On Wed, Jul 2, 2025 at 9:32 PM Laurent Redor via
     eclipse.org-committers<eclipse.org-committers@xxxxxxxxxxx>  <mailto:eclipse.org-committers@xxxxxxxxxxx>  wrote:
     Hi,

     I'm taking the liberty of transferring here a topic posted to the Help Desk channel in case this topic speaks to one of you: Issue 6329 "What is the best way to publish an Eclipse repository version (update site and products) AND a Maven repository version ?".

     Thank you in advance for any answers.

     Regards,

     Laurent Redor

     _______________________________________________
     eclipse.org-committers mailing list
     eclipse.org-committers@xxxxxxxxxxx
     To unsubscribe from this list, visithttps://www.eclipse.org/mailman/listinfo/eclipse.org-committers
     _______________________________________________
     eclipse.org-committers mailing list
     eclipse.org-committers@xxxxxxxxxxx
     To unsubscribe from this list, visithttps://www.eclipse.org/mailman/listinfo/eclipse.org-committers
     _______________________________________________
     eclipse.org-committers mailing list
     eclipse.org-committers@xxxxxxxxxxx
     To unsubscribe from this list, visithttps://www.eclipse.org/mailman/listinfo/eclipse.org-committers
     _______________________________________________
     eclipse.org-committers mailing list
     eclipse.org-committers@xxxxxxxxxxx
     To unsubscribe from this list, visit
     https://www.eclipse.org/mailman/listinfo/eclipse.org-committers


_______________________________________________
eclipse.org-committers mailing list
eclipse.org-committers@xxxxxxxxxxx
To unsubscribe from this list, visithttps://www.eclipse.org/mailman/listinfo/eclipse.org-committers
_______________________________________________
eclipse.org-committers mailing list
eclipse.org-committers@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/eclipse.org-committers
_______________________________________________
eclipse.org-committers mailing list
eclipse.org-committers@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/eclipse.org-committers
_______________________________________________
eclipse.org-committers mailing list
eclipse.org-committers@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/eclipse.org-committers


Back to the top