Merge branch 'cassandra-3.11' into trunk

This commit is contained in:
Mick Semb Wever 2020-01-28 07:57:30 +01:00
commit f1e94db34c
No known key found for this signature in database
GPG Key ID: E91335D77E3E87CB
3 changed files with 46 additions and 81 deletions

100
build.xml
View File

@ -453,7 +453,7 @@
<sequential>
<artifact:mvn mavenVersion="${maven.version}" fork="true" failonerror="true">
<jvmarg value="-Xmx512m"/>
<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file" />
<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.6:sign-and-deploy-file" />
<arg value="-DretryFailedDeploymentCount=5" />
<arg value="-Durl=${maven-repository-url}" />
<arg value="-DrepositoryId=${maven-repository-id}" />
@ -461,7 +461,25 @@
<arg value="-Dfile=@{file}" />
<arg value="-Dclassifier=@{classifier}" />
<arg value="-Dpackaging=@{packaging}" />
<arg value="-Papache-release" />
</artifact:mvn>
</sequential>
</macrodef>
<macrodef name="sign-dist">
<attribute name="file"/>
<sequential>
<echo message="gpg signing @{file}" />
<artifact:mvn mavenVersion="${maven.version}" fork="true" failonerror="true">
<jvmarg value="-Xmx512m"/>
<arg value="-q" />
<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.6:sign-and-deploy-file" />
<arg value="-Dfile=@{file}" />
<arg value="-DgroupId=org.apache.cassandra" />
<arg value="-DartifactId=cassandra-parent" />
<arg value="-Dversion=${version}" />
<!-- intentionally dummy out the deploy step -->
<arg value="-Durl=file:///tmp/" />
<arg value="-DrepositoryId=tmp" />
</artifact:mvn>
</sequential>
</macrodef>
@ -484,6 +502,9 @@
name="Apache Cassandra"
inceptionYear="2009"
description="The Apache Cassandra Project develops a highly scalable second-generation distributed database, bringing together Dynamo's fully distributed design and Bigtable's ColumnFamily-based data model.">
<!-- Inherit from the ASF template pom file, ref http://maven.apache.org/pom/asf/ -->
<parent groupId="org.apache" artifactId="apache" version="22"/>
<license name="The Apache Software License, Version 2.0" url="https://www.apache.org/licenses/LICENSE-2.0.txt"/>
<scm connection="${scm.connection}" developerConnection="${scm.developerConnection}" url="${scm.url}"/>
<dependencyManagement>
@ -790,16 +811,6 @@
<dependency groupId="com.beust" artifactId="jcommander" />
<dependency groupId="org.gridkit.jvmtool" artifactId="sjk-json"/>
</artifact:pom>
<artifact:pom id="dist-pom"
artifactId="apache-cassandra"
packaging="pom"
url="https://cassandra.apache.org"
name="Apache Cassandra">
<parent groupId="org.apache.cassandra"
artifactId="cassandra-parent"
version="${version}"/>
<scm connection="${scm.connection}" developerConnection="${scm.developerConnection}" url="${scm.url}"/>
</artifact:pom>
</target>
<target name="maven-ant-tasks-retrieve-build" depends="maven-declare-dependencies" unless="without.maven">
@ -1180,8 +1191,6 @@
<include name="*.jar" />
</fileset>
</copy>
<artifact:writepom pomRefId="dist-pom"
file="${build.dir}/${final.name}-dist.pom"/>
</target>
<!-- creates release tarballs -->
@ -1238,23 +1247,22 @@
<exclude name="bin/*.bat" />
</tarfileset>
</tar>
<checksum forceOverwrite="yes" todir="${build.dir}" fileext=".sha256" algorithm="SHA-256">
<fileset dir="${build.dir}">
<include name="${final.name}-bin.tar.gz" />
<include name="${final.name}-src.tar.gz" />
</fileset>
</checksum>
<checksum forceOverwrite="yes" todir="${build.dir}" fileext=".sha512" algorithm="SHA-512">
<fileset dir="${build.dir}">
<include name="${final.name}-bin.tar.gz" />
<include name="${final.name}-src.tar.gz" />
</fileset>
</checksum>
</target>
<target name="release" depends="eclipse-warnings,artifacts,rat-init"
description="Create and QC release artifacts">
<checksum forceOverwrite="yes" todir="${build.dir}" fileext=".sha256"
algorithm="SHA-256">
<fileset dir="${build.dir}">
<include name="*.tar.gz" />
</fileset>
</checksum>
<checksum forceOverwrite="yes" todir="${build.dir}" fileext=".sha512"
algorithm="SHA-512">
<fileset dir="${build.dir}">
<include name="*.tar.gz" />
</fileset>
</checksum>
<target name="rat" depends="rat-init" description="License checks on artifacts">
<rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
reportFile="${build.dir}/${final.name}-bin.rat.txt">
<tarfileset>
@ -1263,7 +1271,6 @@
</gzipresource>
</tarfileset>
</rat:report>
<rat:report xmlns:rat="antlib:org.apache.rat.anttasks"
reportFile="${build.dir}/${final.name}-src.rat.txt">
<tarfileset>
@ -2239,7 +2246,7 @@
<!-- Publish artifacts to Maven repositories -->
<target name="mvn-install"
depends="maven-declare-dependencies,artifacts,jar,sources-jar,javadoc-jar"
depends="maven-declare-dependencies,jar,sources-jar,javadoc-jar"
description="Installs the artifacts in the Maven Local Repository">
<!-- the parent -->
@ -2247,19 +2254,6 @@
file="${build.dir}/${final.name}-parent.pom"
packaging="pom"/>
<!-- the distribution -->
<install pomFile="${build.dir}/${final.name}-dist.pom"
file="${build.dir}/${final.name}-dist.pom"
packaging="pom"/>
<install pomFile="${build.dir}/${final.name}-dist.pom"
file="${build.dir}/${final.name}-bin.tar.gz"
packaging="tar.gz"
classifier="bin"/>
<install pomFile="${build.dir}/${final.name}-dist.pom"
file="${build.dir}/${final.name}-src.tar.gz"
packaging="tar.gz"
classifier="src"/>
<!-- the cassandra-all jar -->
<install pomFile="${build.dir}/${final.name}.pom"
file="${build.dir}/${final.name}.jar"/>
@ -2280,19 +2274,6 @@
file="${build.dir}/${final.name}-parent.pom"
packaging="pom"/>
<!-- the distribution -->
<deploy pomFile="${build.dir}/${final.name}-dist.pom"
file="${build.dir}/${final.name}-dist.pom"
packaging="pom"/>
<deploy pomFile="${build.dir}/${final.name}-dist.pom"
file="${build.dir}/${final.name}-bin.tar.gz"
packaging="tar.gz"
classifier="bin"/>
<deploy pomFile="${build.dir}/${final.name}-dist.pom"
file="${build.dir}/${final.name}-src.tar.gz"
packaging="tar.gz"
classifier="src"/>
<!-- the cassandra-all jar -->
<deploy pomFile="${build.dir}/${final.name}.pom"
file="${build.dir}/${final.name}.jar"/>
@ -2302,6 +2283,11 @@
<deploy pomFile="${build.dir}/${final.name}.pom"
file="${build.dir}/${final.name}-javadoc.jar"
classifier="javadoc"/>
<!-- the distribution -->
<sign-dist file="${build.dir}/${final.name}-bin.tar.gz" />
<sign-dist file="${build.dir}/${final.name}-src.tar.gz" />
</target>
</project>

View File

@ -39,7 +39,6 @@ POM file types
* **build-deps-pom(-sources)** + **coverage-deps-pom** - used by ``ant build`` compile target. Listed dependenices will be resolved and copied to ``build/lib/{jar,sources}`` by executing the ``maven-ant-tasks-retrieve-build`` target. This should contain libraries that are required for build tools (grammar, docs, instrumentation), but are not shipped as part of the Cassandra distribution.
* **test-deps-pom** - refered by ``maven-ant-tasks-retrieve-test`` to retrieve and save dependencies to ``build/test/lib``. Exclusively used during JUnit test execution.
* **all-pom** - pom for `cassandra-all.jar <https://mvnrepository.com/artifact/org.apache.cassandra/cassandra-all>`_ that can be installed or deployed to public maven repos via ``ant publish``
* **dist-pom** - pom for tarball distribution (cassandra-{bin,src}.tar.gz) created by ``ant artifacts``. Should be left as is, but needed for installing or deploying releases.
Troubleshooting and conflict resolution

View File

@ -66,8 +66,8 @@ Create Release Artifacts
Any committer can perform the following steps to create and call a vote on a proposed release.
Check that no open jira tickets are urgent and currently being worked on.
Also check with a PMC that there's security vulnerabilities currently being worked on in private.
Check that there are no open urgent jira tickets currently being worked on. Also check with a PMC that there's security vulnerabilities currently being worked on in private.'
Current project habit is to check the timing for a new release on the dev mailing lists.
Perform the Release
-------------------
@ -88,27 +88,7 @@ Run the following commands to generate and upload release artifacts, to a nexus
If successful, take note of the email text output which can be used in the next section "Call for a Vote".
The ``prepare_release.sh`` script does not yet generate and upload the rpm distribution packages.
To generate and upload them do::
cd ~/git/cassandra-build
docker build -f docker/centos7-image.docker docker/
docker run --rm -v `pwd`/dist:/dist `docker images -f label=org.cassandra.buildenv=centos -q` /home/build/build-rpms.sh <version>-tentative
rpmsign --addsign dist/*.rpm
For more information on the above steps see the `cassandra-builds documentation <https://github.com/apache/cassandra-builds>`_.
The next step is to copy and commit these binaries to staging svnpubsub::
# FIXME the following commands is wrong while people.apache.org is still used instead of svnpubsub and dist.apache.org
cd ~/git
svn co https://dist.apache.org/repos/dist/dev/cassandra cassandra-dist-dev
mkdir cassandra-dist-dev/<version>
cp cassandra-build/dist/*.rpm cassandra-dist-dev/<version>/
svn add cassandra-dist-dev/<version>
svn ci cassandra-dist-dev/<version>
After committing the binaries to staging, increment the version number in Cassandra on the `cassandra-<version-branch>`
After validating the uploaded artifacts in staging, increment the version number in Cassandra on the `cassandra-<version-branch>`
cd ~/git/cassandra/
git checkout cassandra-<version-branch>