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 ?

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



Back to the top