Fix publishing to ASF Nexus of Accord artefacts when release staging

Also fail the build if any artefacts fail to upload.

 patch by mick semb wever; reviewed by David Capwell for CASSANDRA-21261
This commit is contained in:
Mick Semb Wever 2026-06-29 16:31:31 -05:00
parent b1f30e94f5
commit 5282f81d0a
No known key found for this signature in database
GPG Key ID: E91335D77E3E87CB
4 changed files with 19 additions and 15 deletions

View File

@ -146,7 +146,7 @@
<attribute name="classifier" default=""/>
<attribute name="packaging" default="jar"/>
<sequential>
<exec dir="." executable="sh">
<exec dir="." executable="sh" failonerror="true" failifexecutionfails="true">
<arg line="-c 'mvn org.apache.maven.plugins:maven-install-plugin:2.3.1:install-file -DpomFile=@{pomFile} -Dfile=@{file} -Dclassifier=@{classifier} -Dpackaging=@{packaging}'" />
</exec>
</sequential>
@ -158,7 +158,7 @@
<attribute name="classifier" default=""/>
<attribute name="packaging" default="jar"/>
<sequential>
<exec dir="." executable="sh">
<exec dir="." executable="sh" failonerror="true" failifexecutionfails="true">
<arg line="-c 'mvn org.apache.maven.plugins:maven-gpg-plugin:1.6:sign-and-deploy-file -DretryFailedDeploymentCount=5 -Durl=${maven-repository-url} -DrepositoryId=${maven-repository-id} -DpomFile=@{pomFile} -Dfile=@{file} -Dclassifier=@{classifier} -Dpackaging=@{packaging}'" />
</exec>
</sequential>
@ -168,7 +168,7 @@
<attribute name="file"/>
<sequential>
<echo message="gpg signing @{file}" />
<exec dir="." executable="sh">
<exec dir="." executable="sh" failonerror="true" failifexecutionfails="true">
<!-- dummy out the deploy parameters, only the signing is required here -->
<arg line="-c 'mvn -q org.apache.maven.plugins:maven-gpg-plugin:1.6:sign-and-deploy-file -Dfile=@{file} -DgroupId=org.apache.cassandra -DartifactId=cassandra-parent -Dversion=${version} -Durl=file:///tmp/ -DrepositoryId=tmp'" />
</exec>

View File

@ -1,4 +1,5 @@
6.0-alpha2
* Fix maven remote publishing of Accord artifacts (CASSANDRA-21261)
* Move long running TCM operations to a longer timout (CASSANDRA-21453)
* Offline nodetool commands should not print network options in help (CASSANDRA-20876)
* Defer creation of the system_cluster_metadata keyspace until CMS initialization (CASSANDRA-21477)

View File

@ -111,9 +111,11 @@
<property name="version.properties.dir"
value="${build.src.resources}/org/apache/cassandra/config/" />
<property name="final.name" value="${ant.project.name}-${version}"/>
<property name="accord.dir" value="modules/accord" />
<!-- The reason not to use ant.project.name is we publish as "cassandra-accord" so the file names won't be named apache-cassandra-accord -->
<property name="accord.final.name" value="cassandra-accord-${version}"/>
<property name="accord-core.build.libs" value="${accord.dir}/accord-core/build" />
<property name="accord-core.build.name" value="accord-core-${version}" />
<property name="accord-core.build.pom" value="${accord-core.build.libs}/publications/mavenJava/pom-default.xml" />
<property name="local.repository" value="${user.home}/.m2/repository" />
<property name="accord.local.repository" value="${local.repository}/org/apache/cassandra/cassandra-accord/${version}" />
@ -2312,17 +2314,18 @@
<target name="publish"
depends="mvn-install,sstableloader-mvn-install,artifacts"
description="Publishes the artifacts to the Maven repository">
<!-- Accord -->
<deploy pomFile="${accord.local.repository}/${accord.final.name}.pom"
file="${accord.local.repository}/${accord.final.name}.pom"
<!-- Accord (from the submodule's gradle build) -->
<deploy pomFile="${accord-core.build.pom}"
file="${accord-core.build.pom}"
packaging="pom"/>
<deploy pomFile="${accord.local.repository}/${accord.final.name}.pom"
file="${accord.local.repository}/${accord.final.name}.jar" />
<deploy pomFile="${accord.local.repository}/${accord.final.name}.pom"
file="${accord.local.repository}/${accord.final.name}-sources.jar"
<deploy pomFile="${accord-core.build.pom}"
file="${accord-core.build.libs}/libs/${accord-core.build.name}.jar" />
<deploy pomFile="${accord-core.build.pom}"
file="${accord-core.build.libs}/libs/${accord-core.build.name}-sources.jar"
classifier="sources"/>
<deploy pomFile="${accord.local.repository}/${accord.final.name}.pom"
file="${accord.local.repository}/${accord.final.name}-javadoc.jar"
<deploy pomFile="${accord-core.build.pom}"
file="${accord-core.build.libs}/libs/${accord-core.build.name}-javadoc.jar"
classifier="javadoc"/>
<!-- the parent -->

@ -1 +1 @@
Subproject commit 66cab49f1c9af471795339a5fdf9522e6e73b691
Subproject commit fff32de2e915772fbc70d16b1c32346313877838