git: 95e126b75775 - main - databases/cassandra4: Update to 4.1.11
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 16 Apr 2026 17:12:49 UTC
The branch main has been updated by ronald:
URL: https://cgit.FreeBSD.org/ports/commit/?id=95e126b75775dc9aa77a7b13e121435d97bcaddd
commit 95e126b75775dc9aa77a7b13e121435d97bcaddd
Author: Angelo Polo <language.devel@gmail.com>
AuthorDate: 2026-04-16 16:05:59 +0000
Commit: Ronald Klop <ronald@FreeBSD.org>
CommitDate: 2026-04-16 17:12:11 +0000
databases/cassandra4: Update to 4.1.11
Announcement:
https://lists.apache.org/thread/5l092w410n91jxp0bhl0phkr6j87qpxj
Changes:
https://github.com/apache/cassandra/blob/cassandra-4.1.11/CHANGES.txt
Release Notes:
https://github.com/apache/cassandra/blob/cassandra-4.1.11/NEWS.txt
PR: 286364
---
databases/cassandra4/Makefile | 69 +-
databases/cassandra4/distinfo | 16 +-
databases/cassandra4/files/maven/build-bench.xml | 137 ++++
databases/cassandra4/files/maven/build-cqlsh.xml | 24 +
databases/cassandra4/files/maven/build-owasp.xml | 93 ++-
databases/cassandra4/files/maven/build-rat.xml | 93 ++-
.../cassandra4/files/maven/build-resolver.xml | 25 +-
.../files/maven/build.properties.default | 21 +-
databases/cassandra4/files/maven/build.xml | 766 ++++++++++++++-------
databases/cassandra4/files/maven/checkstyle.xml | 115 ++++
.../files/maven/checkstyle_suppressions.xml | 25 +
.../cassandra4/files/maven/checkstyle_test.xml | 73 ++
.../files/maven/dependency-check-suppressions.xml | 76 ++
.../cassandra4/files/maven/generate-snyk-file | 75 ++
databases/cassandra4/files/patch-bin_cassandra | 20 -
databases/cassandra4/files/patch-bin_cqlsh | 8 +-
databases/cassandra4/files/patch-build.xml | 46 +-
.../cassandra4/files/patch-conf_cassandra.yaml | 18 +-
...rc_java_org_apache_cassandra_config_Config.java | 14 +-
...cassandra_db_commitlog_MemoryMappedSegment.java | 4 +-
...e_cassandra_service_NativeTransportService.java | 4 +-
...org_apache_cassandra_service_StartupChecks.java | 9 +-
..._apache_cassandra_utils_FastByteOperations.java | 22 +-
...a_org_apache_cassandra_utils_NativeLibrary.java | 14 +-
.../files/patch-test_conf_cassandra-murmur.yaml | 10 +-
.../files/patch-test_conf_cassandra-seeds.yaml | 10 +-
.../files/patch-test_conf_cassandra.yaml | 10 +-
...-test_conf_unit-test-conf_test-native-port.yaml | 10 +-
databases/cassandra4/pkg-plist | 42 +-
29 files changed, 1345 insertions(+), 504 deletions(-)
diff --git a/databases/cassandra4/Makefile b/databases/cassandra4/Makefile
index 16a0cc54cd93..f2d96da853c0 100644
--- a/databases/cassandra4/Makefile
+++ b/databases/cassandra4/Makefile
@@ -1,9 +1,8 @@
PORTNAME= cassandra
-DISTVERSION= 4.0.8
-PORTREVISION= 3
+DISTVERSION= 4.1.11
CATEGORIES= databases java
MASTER_SITES= https://archive.apache.org/dist/${PORTNAME}/${DISTVERSION}/:apache \
- https://repo1.maven.org/maven2/com/github/luben/zstd-jni/1.5.0-4/:maven
+ https://repo1.maven.org/maven2/com/github/luben/zstd-jni/1.5.6-7/:maven
PKGNAMESUFFIX= 4
DISTNAME= apache-${PORTNAME}-${DISTVERSION}-src
DISTFILES= ${DISTNAME}.tar.gz:apache \
@@ -31,7 +30,7 @@ SHEBANG_FILES= bin/cqlsh.py pylib/setup.py
TEST_TARGET= test
CPE_VENDOR= apache
-CONFLICTS= cassandra3
+CONFLICTS= cassandra[35]
JAVA_VERSION= 8 11
JAVA_VENDOR= openjdk
@@ -49,18 +48,17 @@ REPO_DIR= ${WRKDIR}/repository
CONFIG_FILES= cassandra-env.sh \
cassandra-jaas.config \
cassandra-rackdc.properties \
- cassandra-topology.properties \
cassandra.yaml \
commitlog_archiving.properties \
hotspot_compiler \
- logback-tools.xml \
- logback.xml \
jvm8-clients.options \
jvm8-server.options \
jvm11-clients.options \
jvm11-server.options \
jvm-clients.options \
- jvm-server.options
+ jvm-server.options \
+ logback-tools.xml \
+ logback.xml
SCRIPT_FILES= cassandra \
nodetool \
@@ -87,25 +85,11 @@ PORTDOCS= *
MAVEN_CACHE_FILE= apache-${PORTNAME}-${DISTVERSION}-repo.tar.xz
-.if !exists(${DISTDIR}/${DIST_SUBDIR}/${MAVEN_CACHE_FILE})
-pre-fetch:
- ${MKDIR} ${DISTDIR}/${DIST_SUBDIR}
- ${MKDIR} ${WRKSRC}/.build
- ${MKDIR} ${WRKSRC}/src/java
- ${CP} ${FILESDIR}/maven/build.* ${WRKSRC}
- ${CP} ${FILESDIR}/maven/build-* ${WRKSRC}/.build
- cd ${WRKSRC} && ${FETCH_ENV} ${ANT} -Dmaven.repo.local=${REPO_DIR} -Dlocal.repository=${REPO_DIR} ${USEJDK11} resolver-dist-lib
- cd ${REPO_DIR} && ${FIND} . -type f -name "*.repositories" -a -exec ${SED} -i '' -e '2s,.*,Mon Aug 08 20:40:04 CEST 2022,' {} +
- cd ${WRKDIR} && ${MTREE_CMD} -cbnSp repository | ${MTREE_CMD} -C | ${SED} \
- -e 's:time=[0-9.]*:time=0.000000000:' \
- -e 's:\([gu]id\)=[0-9]*:\1=0:g' \
- -e 's:flags=.*:flags=none:' \
- -e 's:^\.:./repository:' \
- > maven-offline-cache.mtree
- cd ${WRKDIR} && ${TAR} cJf ${DISTDIR}/${DIST_SUBDIR}/${MAVEN_CACHE_FILE} \
- @maven-offline-cache.mtree
- ${SHA256} ${WRKDIR}/maven-offline-cache.mtree ${DISTDIR}/${DIST_SUBDIR}/${MAVEN_CACHE_FILE}
-.endif
+post-patch:
+ @${REINPLACE_CMD} -e 's|for interpreter in |for interpreter in ${PYTHON_CMD} |' ${WRKSRC}/bin/cqlsh
+
+post-patch-DOCS-on:
+ @${REINPLACE_CMD} -e 's|python3|${PYTHON_CMD}|' ${WRKSRC}/doc/Makefile
do-build:
@${DO_NADA} # Do nothing: Prevent USE_ANT from running a default build target.
@@ -127,6 +111,8 @@ post-build:
.for f in ${CONFIG_FILES}
@${MV} ${BUILD_DIST_DIR}/conf/${f} ${BUILD_DIST_DIR}/conf/${f}.sample
.endfor
+ @${MV} ${BUILD_DIST_DIR}/conf/cassandra-topology.properties.example ${BUILD_DIST_DIR}/conf/cassandra-topology.properties.sample
+ @${MV} ${BUILD_DIST_DIR}/conf/metrics-reporter-config-sample.yaml ${BUILD_DIST_DIR}/conf/metrics-reporter-config.yaml.sample
@${RM} ${BUILD_DIST_DIR}/lib/licenses/sigar*
@${RMDIR} ${BUILD_DIST_DIR}/lib/sigar-bin
@${RM} ${BUILD_DIST_DIR}/lib/zstd-jni*
@@ -159,22 +145,37 @@ do-test:
.include <bsd.port.pre.mk>
+pre-fetch:
+.if !exists(${DISTDIR}/${DIST_SUBDIR}/${MAVEN_CACHE_FILE})
+ ${MKDIR} ${DISTDIR}/${DIST_SUBDIR}
+ ${MKDIR} ${WRKSRC}/.build
+ ${MKDIR} ${WRKSRC}/src/java
+ ${CP} ${FILESDIR}/maven/build.* ${WRKSRC}
+ ${CP} ${FILESDIR}/maven/build-* ${WRKSRC}/.build
+ cd ${WRKSRC} && ${FETCH_ENV} ${ANT} -Dmaven.repo.local=${REPO_DIR} -Dlocal.repository=${REPO_DIR} ${USEJDK11} resolver-dist-lib
+ cd ${REPO_DIR} && ${FIND} . -type f -name "*.repositories" -a -exec ${SED} -i '' -e '2s,.*,Mon Aug 08 20:40:04 CEST 2022,' {} +
+ cd ${WRKDIR} && ${MTREE_CMD} -cbnSp repository | ${MTREE_CMD} -C | ${SED} \
+ -e 's:time=[0-9.]*:time=0.000000000:' \
+ -e 's:\([gu]id\)=[0-9]*:\1=0:g' \
+ -e 's:flags=.*:flags=none:' \
+ -e 's:^\.:./repository:' \
+ > maven-offline-cache.mtree
+ cd ${WRKDIR} && ${TAR} cJf ${DISTDIR}/${DIST_SUBDIR}/${MAVEN_CACHE_FILE} \
+ @maven-offline-cache.mtree
+ ${SHA256} ${WRKDIR}/maven-offline-cache.mtree ${DISTDIR}/${DIST_SUBDIR}/${MAVEN_CACHE_FILE}
+.endif
+
.if ${JAVA_PORT_VERSION} == 11
USEJDK11= -Duse.jdk11=true -Drat.skip=true
.endif
.if ${ARCH} == amd64
PLIST_SUB+= AMD64ONLY=""
-PLIST_SUB+= I386ONLY="@comment "
-.elif ${ARCH} == i386
-PLIST_SUB+= AMD64ONLY="@comment "
-PLIST_SUB+= I386ONLY=""
.else
PLIST_SUB+= AMD64ONLY="@comment "
-PLIST_SUB+= I386ONLY="@comment "
.endif
-.if ${ARCH} == amd64 || ${ARCH} == i386
+.if ${ARCH} == amd64
ZSTD_DISTFILE= zstd-jni-${MASTER_SITES:M*\:maven:H:T}-freebsd_${ARCH}.jar:maven
.else
ZSTD_DISTFILE=
@@ -182,7 +183,7 @@ ZSTD_DISTFILE=
post-install:
${LN} -s ${JAVAJARDIR}/netty.jar ${STAGEDIR}${DATADIR}/lib/netty.jar
-.if ${ARCH} == amd64 || ${ARCH} == i386
+.if ${ARCH} == amd64
${CP} ${DISTDIR}/${DIST_SUBDIR}/zstd-jni-${ZSTDJNI_VERSION}-freebsd_${ARCH}.jar ${STAGEDIR}${DATADIR}/lib/
.endif
diff --git a/databases/cassandra4/distinfo b/databases/cassandra4/distinfo
index 976d31650bd9..487cd6bcbaa7 100644
--- a/databases/cassandra4/distinfo
+++ b/databases/cassandra4/distinfo
@@ -1,9 +1,7 @@
-TIMESTAMP = 1679924890
-SHA256 (cassandra/apache-cassandra-4.0.8-src.tar.gz) = 98da97d7fe850a0a24eb2aef212e982f73205cbd63955d2915b4ad02e28dae9c
-SIZE (cassandra/apache-cassandra-4.0.8-src.tar.gz) = 12953548
-SHA256 (cassandra/zstd-jni-1.5.0-4-freebsd_amd64.jar) = b653460b6ff374db2c01f39a7b7cdb44008c9efd55dc96ae5f869abe9f58d180
-SIZE (cassandra/zstd-jni-1.5.0-4-freebsd_amd64.jar) = 670993
-SHA256 (cassandra/zstd-jni-1.5.0-4-freebsd_i386.jar) = 1bcb75c5837e42d10ec0193ba9df099874792f0829b0ce8dd3412303c6454595
-SIZE (cassandra/zstd-jni-1.5.0-4-freebsd_i386.jar) = 604557
-SHA256 (cassandra/apache-cassandra-4.0.8-repo.tar.xz) = 807a108e3639f247dafa3ce4ebc4744b93668cf463915edf7b654d317d1abaff
-SIZE (cassandra/apache-cassandra-4.0.8-repo.tar.xz) = 78148020
+TIMESTAMP = 1776308889
+SHA256 (cassandra/apache-cassandra-4.1.11-src.tar.gz) = 48aabd61a390d8c17d74d6cca244ec14b96f04c6fd0cde7a6b0099d4ccc9b274
+SIZE (cassandra/apache-cassandra-4.1.11-src.tar.gz) = 14938415
+SHA256 (cassandra/zstd-jni-1.5.6-7-freebsd_amd64.jar) = b50239f5e525d62ebc50398ed42a1473c83c3128f34c76755c3b59912123b9ef
+SIZE (cassandra/zstd-jni-1.5.6-7-freebsd_amd64.jar) = 492759
+SHA256 (cassandra/apache-cassandra-4.1.11-repo.tar.xz) = 893316f254029601aeff16d265c49680527d891f0bc567db05c36eafaf453426
+SIZE (cassandra/apache-cassandra-4.1.11-repo.tar.xz) = 95341344
diff --git a/databases/cassandra4/files/maven/build-bench.xml b/databases/cassandra4/files/maven/build-bench.xml
new file mode 100644
index 000000000000..c030cecb9a7e
--- /dev/null
+++ b/databases/cassandra4/files/maven/build-bench.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project basedir="." name="apache-cassandra-bench"
+ xmlns:if="ant:if" xmlns:unless="ant:unless">
+
+ <property name="async-profiler.version" value="2.9"/>
+ <condition property="async-profiler.suffix" value="linux-arm64">
+ <and>
+ <os arch="aarch64"/>
+ <isset property="isLinux"/>
+ </and>
+ </condition>
+ <condition property="async-profiler.suffix" value="linux-x64">
+ <and>
+ <os arch="amd64"/>
+ <isset property="isLinux"/>
+ </and>
+ </condition>
+ <condition property="async-profiler.suffix" value="macos">
+ <isset property="isMac"/>
+ </condition>
+ <property name="async-profiler.name" value="async-profiler-${async-profiler.version}-${async-profiler.suffix}"/>
+ <property name="async-profiler.base" value="${build.dir}/async-profiler"/>
+
+ <property name="test.profiler.opts.default" value="event=cpu;threads=true;output=flamegraph;simple=true;ann=true"/>
+ <property name="test.profiler.output" value="${build.test.dir}/profiler"/>
+
+ <target name="-microbench">
+ <jmh/>
+ </target>
+
+ <target name="-microbench-with-profiler" depends="-fetch-async-profiler">
+ <condition property="test.profiler.opts" value="${test.profiler.opts.default}" else="${profiler.opts}">
+ <or>
+ <not>
+ <isset property="profiler.opts"/>
+ </not>
+ <equals arg1="${profiler.opts}" arg2=""/>
+ </or>
+ </condition>
+
+ <property name="async-profiler.lib.path" value="${async-profiler.base}/build/libasyncProfiler.so"/>
+
+ <mkdir dir="${test.profiler.output}"/>
+
+ <jmh>
+ <extra-args>
+ <arg value="-prof"/>
+ <arg value="async:libPath=${async-profiler.lib.path};dir=${test.profiler.output};${test.profiler.opts}"/>
+ </extra-args>
+ </jmh>
+ </target>
+
+ <macrodef name="jmh">
+ <element name="extra-args" optional="true"/>
+ <sequential>
+ <java classname="org.openjdk.jmh.Main" fork="true" failonerror="true" >
+ <classpath>
+ <path refid="cassandra.classpath.test"/>
+ <pathelement location="${test.classes}"/>
+ <pathelement location="${test.conf}"/>
+ <pathelement location="${async-profiler.base}/lib/async-profiler.jar"/>
+ <pathelement location="${async-profiler.base}/lib/converter.jar"/>
+ </classpath>
+
+ <jvmarg line="${java11-jvmargs}"/>
+ <jvmarg line="${_std-test-jvmargs}"/>
+ <jvmarg line="${test.jvm.args}"/>
+
+ <arg value="-foe"/>
+ <arg value="true"/>
+ <arg value="-rf"/>
+ <arg value="json"/>
+ <arg value="-rff"/>
+ <arg value="${build.test.dir}/jmh-result.json"/>
+ <arg value="-v"/>
+ <arg value="EXTRA"/>
+
+ <arg line="${jmh.args}"/>
+
+ <extra-args/>
+
+ <!-- TODO https://issues.apache.org/jira/browse/CASSANDRA-18873 -->
+ <arg value="-e" if:blank="${benchmark.name}"/>
+ <arg value="ZeroCopyStreamingBench|MutationBench|FastThreadLocalBench" if:blank="${benchmark.name}"/>
+
+ <arg value=".*microbench.*${benchmark.name}"/>
+ </java>
+ </sequential>
+ </macrodef>
+
+ <target name="-fetch-async-profiler">
+ <mkdir dir="${tmp.dir}"/>
+ <mkdir dir="${async-profiler.base}"/>
+
+ <antcall target="-fetch-async-profiler-mac" if:true="${isMac}" inheritrefs="true"/>
+ <antcall target="-fetch-async-profiler-linux" if:true="${isLinux}" inheritrefs="true"/>
+
+ <move todir="${async-profiler.base}">
+ <fileset dir="${async-profiler.base}/${async-profiler.name}">
+ <include name="**"/>
+ </fileset>
+ </move>
+ <delete dir="${async-profiler.base}/${async-profiler.name}" includeemptydirs="true"/>
+ </target>
+
+ <target name="-fetch-async-profiler-linux">
+ <get src="https://github.com/async-profiler/async-profiler/releases/download/v${async-profiler.version}/${async-profiler.name}.tar.gz"
+ dest="${tmp.dir}/${async-profiler.name}.tar.gz" retries="3" httpusecaches="true" skipexisting="true"/>
+ <gunzip src="${tmp.dir}/${async-profiler.name}.tar.gz" dest="${tmp.dir}/"/>
+ <untar src="${tmp.dir}/${async-profiler.name}.tar" dest="${async-profiler.base}/"/>
+ <delete file="${tmp.dir}/${async-profiler.name}.tar"/>
+ </target>
+
+ <target name="-fetch-async-profiler-mac">
+ <get src="https://github.com/async-profiler/async-profiler/releases/download/v${async-profiler.version}/${async-profiler.name}.zip"
+ dest="${tmp.dir}/${async-profiler.name}.zip" retries="3" httpusecaches="true" skipexisting="true"/>
+ <unzip src="${tmp.dir}/${async-profiler.name}.zip" dest="${async-profiler.base}/"/>
+ </target>
+
+</project>
diff --git a/databases/cassandra4/files/maven/build-cqlsh.xml b/databases/cassandra4/files/maven/build-cqlsh.xml
new file mode 100644
index 000000000000..45e0e46a494d
--- /dev/null
+++ b/databases/cassandra4/files/maven/build-cqlsh.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project basedir="." name="apache-cassandra-cqlsh-tasks"
+ xmlns:if="ant:if">
+ <target name="set-cqlsh-version">
+ <echo file="pylib/cqlshlib/serverversion.py" append="false">version = "${base.version}"${line.separator}</echo>
+ </target>
+</project>
diff --git a/databases/cassandra4/files/maven/build-owasp.xml b/databases/cassandra4/files/maven/build-owasp.xml
index f3174999e8d4..7067c911274a 100644
--- a/databases/cassandra4/files/maven/build-owasp.xml
+++ b/databases/cassandra4/files/maven/build-owasp.xml
@@ -16,30 +16,51 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-<project basedir="." name="apache-cassandra-owasp-tasks">
- <property name="dependency-check.version" value="6.3.2"/>
- <property name="dependency-check.home" value="${build.dir}/dependency-check-ant-${dependency-check.version}"/>
+<project basedir="." name="apache-cassandra-owasp-tasks"
+ xmlns:unless="ant:unless"
+ xmlns:if="ant:if">
+ <property name="dependency-check.version" value="12.1.6"/>
+ <property name="dependency-check.home" value="${tmp.dir}/dependency-check-ant-${dependency-check.version}"/>
+ <property name="dependency-check.archive.dir" value="${local.repository}/org/owasp/dependency-check-ant/${dependency-check.version}"/>
+ <property name="dependency-check.archive.name" value="dependency-check-ant-${dependency-check.version}-release.zip"/>
+ <property name="dependency-check.report.dir" value="${build.dir}/owasp"/>
- <condition property="is.dependency.check.jar">
- <available file="${dependency-check.home}/dependency-check-ant/dependency-check-ant.jar" type="file" />
+ <condition property="dependency-check-ant.archive.present">
+ <available file="${dependency-check.archive.dir}/${dependency-check.archive.name}" type="file" />
</condition>
- <target name="dependency-check-download"
- depends="build"
+ <target name="-dependency-check-download"
description="Fetch OWASP Dependency checker"
- unless="is.dependency.check.jar">
+ unless="dependency-check-ant.archive.present">
- <echo>Downloading OWASP Dependency checks ...</echo>
+ <mkdir dir="${dependency-check.archive.dir}"/>
+ <get src="https://github.com/dependency-check/DependencyCheck/releases/download/v${dependency-check.version}/${dependency-check.archive.name}"
+ dest="${dependency-check.archive.dir}/${dependency-check.archive.name}" retries="3"/>
+ </target>
+ <target name="-dependency-check-init" depends="-dependency-check-download">
+ <delete dir="${dependency-check.home}" includeemptydirs="true" failonerror="false"/>
<mkdir dir="${dependency-check.home}"/>
+ <unzip src="${dependency-check.archive.dir}/${dependency-check.archive.name}" dest="${dependency-check.home}"/>
+ </target>
- <get src="https://github.com/jeremylong/DependencyCheck/releases/download/v${dependency-check.version}/dependency-check-ant-${dependency-check.version}-release.zip"
- dest="${dependency-check.home}/dependency-check-ant-${dependency-check.version}-release.zip"/>
+ <target name="-run-owasp-scan" description="Dependency-Check Analysis"
+ depends="-dependency-check-init,resolver-dist-lib">
+ <property name="nvd.api.key" value="dummy" if:set="env.NVD_DATAFEED_URL" />
+ <fail unless:set="nvd.api.key">
+ Please set the nvd.api.key property to your NVD API key. It is recommended to put that property into your
+ ~/.ant/build.properties file. You can get your API key from https://nvd.nist.gov/developers/request-an-api-key
+ </fail>
- <unzip src="${dependency-check.home}/dependency-check-ant-${dependency-check.version}-release.zip" dest="${dependency-check.home}"/>
- </target>
+ <echo unless:set="nvd.data.dir">
+ Since the NVD database is pretty large, you should consider storing it in some persistent location to reuse
+ it between builds. You can do that by setting the nvd.data.dir property to a directory of your choice,
+ such as ~/.cache/ant/owasp/database for Linux or ~/Library/Caches/Ant/owasp/database for MacOS.
+ Putting that property into your ~/.ant/build.properties file is recommended.
+ </echo>
- <target name="dependency-check" description="Dependency-Check Analysis" depends="dependency-check-download,resolver-dist-lib">
+ <property name="nvd.data.dir" value="${tmp.dir}/owasp/database"/>
+ <property name="nvd.validity.hours" value="4"/>
<path id="dependency-check.path">
<fileset dir="${dependency-check.home}/dependency-check-ant/lib">
@@ -52,35 +73,47 @@
</taskdef>
<!--
- default value for cveValidForHours is 4 after which sync is done again
-
- skipping using two specific caches at the end is solving (1)
+ default value for nvdValidForHours is 4 after which sync is done again
failBuildOnCVSS is by default 11 so build would never fail,
- the table categorising vulnerabilities is here (2), so by setting
+ the table categorising vulnerabilities is here (1), so by setting
"failBuildOnCVSS" to 1, we will fail the build on any CVE found
if it is not suppressed already dependency-check-suppressions.xml
If a vendor provides no details about a vulnerability,
NVD will score that vulnerability as 10.0 (the highest rating translating to critical).
- (1) https://github.com/jeremylong/DependencyCheck/issues/2166
- (2) https://nvd.nist.gov/vuln-metrics/cvss
+ (1) https://nvd.nist.gov/vuln-metrics/cvss
-->
+ <condition property="nvdDatafeedUrl" value="${env.NVD_DATAFEED_URL}" else="">
+ <isset property="env.NVD_DATAFEED_URL" />
+ </condition>
<dependency-check projectname="Apache Cassandra"
- reportoutputdirectory="${basedir}/build"
- reportformat="HTML"
+ nvdApiKey="${nvd.api.key}"
+ reportoutputdirectory="${dependency-check.report.dir}"
+ reportformat="ALL"
prettyPrint="true"
- cveValidForHours="1"
- centralAnalyzerUseCache="false"
- nodeAuditAnalyzerUseCache="false"
+ nvdValidForHours="${nvd.validity.hours}"
+ centralAnalyzerUseCache="true"
+ nodeAuditAnalyzerUseCache="true"
failBuildOnCVSS="1"
assemblyAnalyzerEnabled="false"
- dataDirectory="${dependency-check.home}/data"
- suppressionFile="${basedir}/.build/dependency-check-suppressions.xml">
- <fileset dir="lib">
- <include name="**/*.jar"/>
- </fileset>
+ dataDirectory="${nvd.data.dir}"
+ suppressionFile="${basedir}/.build/dependency-check-suppressions.xml"
+ nvdDatafeedUrl="${nvdDatafeedUrl}">
+ <fileset refid="dependencies_to_check"/>
</dependency-check>
</target>
+
+ <target name="dependency-check" depends="resolver-dist-lib,generate-snyk-file">
+ <fileset dir="lib" id="dependencies_to_check">
+ <include name="**/*.jar"/>
+ </fileset>
+ <antcall target="-run-owasp-scan" inheritrefs="true" inheritall="true"/>
+ </target>
+
+ <target name="generate-snyk-file" unless="ant.gen-snyk.skip">
+ <chmod file="${basedir}/.build/generate-snyk-file" perm="+x"/>
+ <exec executable="${basedir}/.build/generate-snyk-file" failonerror="true"/>
+ </target>
</project>
diff --git a/databases/cassandra4/files/maven/build-rat.xml b/databases/cassandra4/files/maven/build-rat.xml
index 5a6aa0aa8546..f4a2aab588ad 100644
--- a/databases/cassandra4/files/maven/build-rat.xml
+++ b/databases/cassandra4/files/maven/build-rat.xml
@@ -27,7 +27,7 @@
</target>
<target name="_build_ratinclude" depends="_rat_init">
- <exec executable="git" failifexecutionfails="false" failonerror="false" resultproperty="git.success" output="build/.versioned_files">
+ <exec executable="git" failifexecutionfails="false" failonerror="false" resultproperty="git.success" output="${build.dir}/.ratinclude">
<arg line="ls-tree -r HEAD --name-only"/>
</exec>
<condition property="rat.skip" value="true">
@@ -35,47 +35,64 @@
<equals arg1="${git.success}" arg2="0"/>
</not>
</condition>
- <copy file="build/.versioned_files" tofile="build/.ratinclude">
- <filterchain>
- <linecontainsregexp>
- <regexp pattern=".*\.(java|py|sh|xml|spec|md|iml|bat|btm|cql|css|g|html|jflex|jks|mod|name|pom|textile|yml|yaml|MIDRES|HIGHRES|LOWRES)$"/>
- </linecontainsregexp>
- </filterchain>
- </copy>
</target>
- <target name="rat-check" depends="_build_ratinclude" unless="${rat.skip}" description="License checks on source" >
+ <target name="rat-check" depends="_build_ratinclude" unless="rat.skip" description="License checks on source" >
<rat:report reportFile="${build.dir}/rat.txt">
- <fileset dir="." includesfile="build/.ratinclude">
+ <fileset dir="." includesfile="${build.dir}/.ratinclude">
<!-- Config files with not much creativity -->
- <exclude name="**/ide/**/*"/>
- <exclude name="**/metrics-reporter-config-sample.yaml"/>
- <exclude name="**/cassandra.yaml"/>
- <exclude name="**/cassandra-murmur.yaml"/>
- <exclude name="**/cassandra-seeds.yaml"/>
- <exclude NAME="**/doc/antora.yml"/>
- <exclude name="**/test/conf/cassandra.yaml"/>
- <exclude name="**/test/conf/cassandra_deprecated_parameters_names.yaml"/>
- <exclude name="**/test/conf/cassandra_encryption.yaml"/>
- <exclude name="**/test/conf/cdc.yaml"/>
- <exclude name="**/test/conf/commitlog_compression_LZ4.yaml"/>
- <exclude name="**/test/conf/commitlog_compression_Zstd.yaml"/>
- <exclude name="**/test/conf/system_keyspaces_directory.yaml"/>
- <exclude name="**/test/conf/sstableloader_with_encryption.yaml"/>
- <exclude name="**/test/conf/unit-test-conf/test-native-port.yaml"/>
- <exclude name="**/test/data/jmxdump/cassandra-3.0-jmx.yaml"/>
- <exclude name="**/test/data/jmxdump/cassandra-3.11-jmx.yaml"/>
- <exclude name="**/test/data/jmxdump/cassandra-4.0-jmx.yaml"/>
- <exclude name="**/tools/cqlstress-counter-example.yaml"/>
- <exclude name="**/tools/cqlstress-example.yaml"/>
- <exclude name="**/tools/cqlstress-insanity-example.yaml"/>
- <exclude name="**/tools/cqlstress-lwt-example.yaml"/>
+ <exclude name=".asf.yaml"/>
+ <exclude name=".snyk"/>
+ <exclude name="**/cassandra*.yaml"/>
+ <exclude name="conf/metrics-reporter-config-sample.yaml"/>
+ <exclude NAME="doc/antora.yml"/>
+ <exclude name="ide/**/*"/>
+ <exclude name="pylib/cqlshlib/test/config/sslhandling*.config"/>
+ <exclude NAME="src/resources/org/apache/cassandra/cql3/reserved_keywords.txt"/>
+ <exclude NAME="src/resources/org/apache/cassandra/index/sasi/analyzer/filter/*.txt"/>
+ <exclude name="test/conf/cdc.yaml"/>
+ <exclude name="test/conf/commitlog*.yaml"/>
+ <exclude name="test/conf/system_keyspaces_directory.yaml"/>
+ <exclude name="test/conf/sstableloader_with_encryption.yaml"/>
+ <exclude name="test/conf/unit-test-conf/test-native-port.yaml"/>
+ <exclude name="test/resources/data/config/YamlConfigurationLoaderTest/*.yaml"/>
+ <exclude name="tools/cqlstress-*.yaml"/>
+ <!-- test data -->
+ <exclude name="pylib/cqlshlib/test/test_authproviderhandling_config/*"/>
+ <exclude name="test/**/cassandra*.conf"/>
+ <exclude name="test/**/*.csv"/>
+ <exclude name="test/**/*.json"/>
+ <exclude name="test/**/*.txt"/>
+ <exclude name="test/data/**/*.adler32"/>
+ <exclude name="test/data/**/*.crc32"/>
+ <exclude name="test/data/**/CommitLog-*.log"/>
+ <exclude name="test/data/**/*.bin"/>
+ <exclude name="test/data/**/*.db"/>
+ <exclude name="test/data/**/*.sha1"/>
+ <exclude name="test/data/CASSANDRA-15313/lz4-jvm-crash-failure.txt"/>
+ <exclude name="test/data/jmxdump/cassandra-*-jmx.yaml"/>
<!-- Documentation files -->
- <exclude NAME="**/doc/modules/**/*"/>
- <!-- NOTICE files -->
- <exclude NAME="**/NOTICE.md"/>
- <!-- LICENSE files -->
- <exclude NAME="**/LICENSE.md"/>
+ <exclude name=".github/pull_request_template.md"/>
+ <exclude NAME="doc/modules/**/*"/>
+ <exclude NAME="src/java/**/*.md"/>
+ <exclude NAME="**/README*"/>
+ <exclude NAME="CHANGES.txt"/>
+ <exclude NAME="CASSANDRA-14092.txt"/>
+ <exclude NAME="debian/TODO"/>
+ <!-- legal files -->
+ <exclude NAME="NOTICE.txt"/>
+ <exclude NAME="LICENSE.txt"/>
+ <!-- misc -->
+ <exclude NAME="**/*.patch"/>
+ <exclude NAME="**/*.diff"/>
+ <exclude NAME="debian/cassandra.bash-completion"/>
+ <exclude NAME="debian/cassandra-sysctl.conf"/>
+ <exclude NAME="debian/cassandra.install"/>
+ <exclude NAME="debian/cassandra-tools.install"/>
+ <exclude NAME="debian/compat"/>
+ <exclude NAME="debian/control"/>
+ <exclude NAME="debian/dirs"/>
+ <exclude NAME="debian/patches/series"/>
</fileset>
</rat:report>
<exec executable="grep" outputproperty="rat.failed.files" failifexecutionfails="false">
@@ -96,7 +113,7 @@
<fail message="The rat report at build/rat.txt was not generated. Please ensure that the rat-check task is able to run successfully. For dev builds only, touch build/rat.txt to skip this check">
<condition>
<not>
- <available file="build/rat.txt" />
+ <available file="${build.dir}/rat.txt" />
</not>
</condition>
</fail>
diff --git a/databases/cassandra4/files/maven/build-resolver.xml b/databases/cassandra4/files/maven/build-resolver.xml
index a159d97acaff..c69ca84c29c2 100644
--- a/databases/cassandra4/files/maven/build-resolver.xml
+++ b/databases/cassandra4/files/maven/build-resolver.xml
@@ -56,11 +56,24 @@
<resolver:remoterepos id="all">
<remoterepo id="resolver-central" url="${artifact.remoteRepository.central}"/>
<remoterepo id="resolver-apache" url="${artifact.remoteRepository.apache}"/>
+ <!-- Snapshot artifacts must not exist in nor be downloaded by any Cassandra release artifact.
+ Please validate that all artifacts included in parent-pom-template.xml are release
+ artifacts before committing.
+
+ To build with a snapshot dependency, ensure build.properties or build.properties.default
+ contain the correct resolution for "artifact.remoteRepository.apacheSnapshot" and uncomment
+ the following line.
+
+ You may also need to add an exclusion for "resolver-apache-snapshot" to your mirrors in ~/.m2/settings.xml
+ or ~/.ant/settings.xml (maven ant resolver supersedes) as mirrors will, by default, catch and override
+ all dependency resolution regardless of it being a -SNAPSHOT lib or not.
+ -->
+ <!-- <remoterepo id="resolver-apache-snapshot" url="${artifact.remoteRepository.apacheSnapshot}" releases="false" snapshots="true" updates="always" checksums="fail" /> -->
</resolver:remoterepos>
<macrodef name="resolve">
<!--
- maven-resolver-ant-tasks's resolve logic doesn't have retry logic and does not respect settings.xml,
+ maven-resolver-ant-tasks's resolve logic doesn't have retry logic and does not respect settings.xml,
this causes issues when overriding maven central is required (such as when behind a corporate firewall);
it is critical to always provide the 'all' remoterepos to override resolve's default hard coded logic.
@@ -199,6 +212,7 @@
<!-- files.pythonhosted.org -->
<get src="${artifact.python.pypi}/59/a0/cf4cd997e1750f0c2d91c6ea5abea218251c43c3581bcc2f118b00baf5cf/futures-2.1.6-py2.py3-none-any.whl" dest="${local.repository}/org/apache/cassandra/deps/futures-2.1.6-py2.py3-none-any.zip" usetimestamp="true" quiet="true" skipexisting="true"/>
<get src="${artifact.python.pypi}/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl" dest="${local.repository}/org/apache/cassandra/deps/six-1.12.0-py2.py3-none-any.zip" usetimestamp="true" quiet="true" skipexisting="true"/>
+ <get src="${artifact.python.pypi}/37/b2/ef1124540ee2c0b417be8d0f74667957e6aa084a3f26621aa67e2e77f3fb/pure_sasl-0.6.2-py2-none-any.whl" dest="${local.repository}/org/apache/cassandra/deps/pure_sasl-0.6.2-py2-none-any.zip" usetimestamp="true" quiet="true" skipexisting="true"/>
<!-- apache/cassandra/lib -->
<get src="${lib.download.base.url}/lib/geomet-0.1.0.zip" dest="${local.repository}/org/apache/cassandra/deps/geomet-0.1.0.zip" usetimestamp="true" quiet="true" skipexisting="true"/>
@@ -223,15 +237,13 @@
<url url="${lib.download.base.url}/lib/sigar-bin/libsigar-x86-freebsd-6.so"/>
<url url="${lib.download.base.url}/lib/sigar-bin/libsigar-x86-linux.so"/>
<url url="${lib.download.base.url}/lib/sigar-bin/libsigar-x86-solaris.so"/>
- <url url="${lib.download.base.url}/lib/sigar-bin/sigar-amd64-winnt.dll"/>
- <url url="${lib.download.base.url}/lib/sigar-bin/sigar-x86-winnt.dll"/>
- <url url="${lib.download.base.url}/lib/sigar-bin/sigar-x86-winnt.lib"/>
</get>
-
+
<copy todir="${build.lib}" quiet="true">
<file file="${local.repository}/org/apache/cassandra/deps/futures-2.1.6-py2.py3-none-any.zip"/>
<file file="${local.repository}/org/apache/cassandra/deps/six-1.12.0-py2.py3-none-any.zip"/>
<file file="${local.repository}/org/apache/cassandra/deps/geomet-0.1.0.zip"/>
+ <file file="${local.repository}/org/apache/cassandra/deps/pure_sasl-0.6.2-py2-none-any.zip"/>
</copy>
<copy todir="${build.lib}/sigar-bin/" quiet="true">
<file file="${local.repository}/org/apache/cassandra/deps/sigar-bin/libsigar-amd64-freebsd-6.so"/>
@@ -254,9 +266,6 @@
<file file="${local.repository}/org/apache/cassandra/deps/sigar-bin/libsigar-x86-freebsd-6.so"/>
<file file="${local.repository}/org/apache/cassandra/deps/sigar-bin/libsigar-x86-linux.so"/>
<file file="${local.repository}/org/apache/cassandra/deps/sigar-bin/libsigar-x86-solaris.so"/>
- <file file="${local.repository}/org/apache/cassandra/deps/sigar-bin/sigar-amd64-winnt.dll"/>
- <file file="${local.repository}/org/apache/cassandra/deps/sigar-bin/sigar-x86-winnt.dll"/>
- <file file="${local.repository}/org/apache/cassandra/deps/sigar-bin/sigar-x86-winnt.lib"/>
</copy>
</target>
</project>
diff --git a/databases/cassandra4/files/maven/build.properties.default b/databases/cassandra4/files/maven/build.properties.default
index 11da534e32c1..36676f5712d8 100644
--- a/databases/cassandra4/files/maven/build.properties.default
+++ b/databases/cassandra4/files/maven/build.properties.default
@@ -1,4 +1,23 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
# Maven2 Repository Locations (you can override these in "build.properties" to point to a local proxy, e.g. Nexus)
+#
artifact.remoteRepository.central: https://repo1.maven.org/maven2
artifact.remoteRepository.apache: https://repo.maven.apache.org/maven2
-
+artifact.remoteRepository.apacheSnapshot: https://repository.apache.org/content/repositories/snapshots
diff --git a/databases/cassandra4/files/maven/build.xml b/databases/cassandra4/files/maven/build.xml
index e9093d367d3b..466b39a1d5aa 100644
--- a/databases/cassandra4/files/maven/build.xml
+++ b/databases/cassandra4/files/maven/build.xml
@@ -30,16 +30,18 @@
<property environment="env"/>
<property file="build.properties" />
<property file="build.properties.default" />
+ <property file="${user.home}/.ant/build.properties"/>
<property name="debuglevel" value="source,lines,vars"/>
<!-- default version and SCM information -->
- <property name="base.version" value="4.0.5"/>
+ <property name="base.version" value="4.1.11"/>
<property name="scm.connection" value="scm:https://gitbox.apache.org/repos/asf/cassandra.git"/>
<property name="scm.developerConnection" value="scm:https://gitbox.apache.org/repos/asf/cassandra.git"/>
- <property name="scm.url" value="https://gitbox.apache.org/repos/asf?p=cassandra.git;a=tree"/>
+ <property name="scm.url" value="https://gitbox.apache.org/repos/asf?p=cassandra.git"/>
<!-- directory details -->
<property name="basedir" value="."/>
+ <property name="build.helpers.dir" value="${basedir}/.build"/>
<property name="build.src" value="${basedir}/src"/>
<property name="build.src.java" value="${basedir}/src/java"/>
<property name="build.src.antlr" value="${basedir}/src/antlr"/>
@@ -63,7 +65,9 @@
<property name="test.classlistfile" value="testlist.txt"/>
<property name="test.classlistprefix" value="unit"/>
<property name="benchmark.name" value=""/>
+ <property name="jmh.args" value=""/>
<property name="test.methods" value=""/>
+ <property name="test.anttasks.src" value="${test.dir}/anttasks"/>
<property name="test.unit.src" value="${test.dir}/unit"/>
<property name="test.long.src" value="${test.dir}/long"/>
<property name="test.burn.src" value="${test.dir}/burn"/>
@@ -71,10 +75,18 @@
<property name="test.microbench.src" value="${test.dir}/microbench"/>
<property name="test.distributed.src" value="${test.dir}/distributed"/>
<property name="test.compression.algo" value="LZ4"/>
- <property name="test.driver.connection_timeout_ms" value="5000"/>
- <property name="test.driver.read_timeout_ms" value="12000"/>
+ <property name="test.simulator.src" value="${test.dir}/simulator/main"/>
+ <property name="test.simulator-asm.src" value="${test.dir}/simulator/asm"/>
+ <property name="test.simulator-bootstrap.src" value="${test.dir}/simulator/bootstrap"/>
+ <property name="test.simulator-test.src" value="${test.dir}/simulator/test"/>
+ <property name="test.driver.connection_timeout_ms" value="10000"/>
+ <property name="test.driver.read_timeout_ms" value="24000"/>
+ <property name="test.jvm.args" value="" />
<property name="dist.dir" value="${build.dir}/dist"/>
- <property name="tmp.dir" value="${java.io.tmpdir}"/>
+
+ <!-- Use build/tmp for temp files if not otherwise specified. Because Ant properties are immutable, this has no effect if
+ the user specifies the tmp.dir property -->
+ <property name="tmp.dir" value="${build.dir}/tmp"/>
<property name="doc.dir" value="${basedir}/doc"/>
@@ -104,18 +116,25 @@
<property name="maven-repository-url" value="https://repository.apache.org/content/repositories/snapshots"/>
<property name="maven-repository-id" value="apache.snapshots.https"/>
- <property name="test.timeout" value="240000" />
+ <property name="test.timeout" value="480000" />
<property name="test.memory.timeout" value="480000" />
<property name="test.long.timeout" value="600000" />
<property name="test.burn.timeout" value="60000000" />
<property name="test.distributed.timeout" value="900000" />
+ <property name="test.simulation.timeout" value="1800000" />
- <!-- default for cql tests. Can be override by -Dcassandra.test.use_prepared=false -->
+ <!-- default for cql tests. Can be overridden by -Dcassandra.test.use_prepared=false -->
<property name="cassandra.test.use_prepared" value="true" />
+ <!-- The number of active processors seen by JVM -->
+ <property name="cassandra.test.processorCount" value="2"/>
+
<!-- skip flushing schema tables during tests -->
<property name="cassandra.test.flush_local_schema_changes" value="false" />
+ <!-- fast shutdown of messaging service -->
+ <property name="cassandra.test.messagingService.nonGracefulShutdown" value="true"/>
+
<!-- https://www.eclemma.org/jacoco/ -->
<property name="jacoco.export.dir" value="${build.dir}/jacoco/" />
<property name="jacoco.partials.dir" value="${jacoco.export.dir}/partials" />
@@ -123,11 +142,23 @@
<property name="jacoco.finalexecfile" value="${jacoco.export.dir}/jacoco.exec" />
<property name="jacoco.version" value="0.8.6"/>
+ <condition property="isMac" value="true">
+ <os family="mac"/>
+ </condition>
+ <condition property="isLinux" value="true">
+ <and>
+ <os family="unix"/>
+ <not>
+ <os family="mac"/>
+ </not>
+ </and>
+ </condition>
+
<property name="byteman.version" value="4.0.6"/>
<property name="jamm.version" value="0.3.2"/>
<property name="ecj.version" value="4.6.1"/>
<property name="ohc.version" value="0.5.1"/>
- <property name="asm.version" value="7.1"/>
+ <property name="asm.version" value="9.1"/>
<property name="allocation-instrumenter.version" value="3.1.0"/>
<property name="bytebuddy.version" value="1.10.10"/>
<property name="jflex.version" value="1.8.2"/>
@@ -139,6 +170,8 @@
<property name="chronicle-wire.version" value="2.20.117" />
<property name="chronicle-threads.version" value="2.20.111" />
+ <property name="dtest-api.version" value="0.0.18" />
+
<condition property="maven-ant-tasks.jar.exists">
<available file="${build.dir}/maven-ant-tasks-${maven-ant-tasks.version}.jar" />
</condition>
@@ -151,19 +184,45 @@
<available file="${build.src.java}" type="dir" />
</condition>
- <!-- Check if all tests are being run or just one. If it's all tests don't spam the console with test output.
+ <condition property="cassandra.use_nix_recursive_delete" value="false" else="true">
+ <os family="windows" />
+ </condition>
+
+ <condition property="withoutMethods">
+ <and>
+ <equals arg1="${test.methods}" arg2=""/>
+ <not>
+ <contains string="${test.name}" substring="*"/>
+ </not>
+ </and>
+ </condition>
+ <condition property="withMethods">
+ <and>
+ <not>
+ <equals arg1="${test.methods}" arg2=""/>
+ </not>
+ <not>
+ <contains string="${test.name}" substring="*"/>
+ </not>
+ </and>
+ </condition>
+
+ <!-- Check if all tests are being run or just one (check testclasslist target). If it's all tests don't spam the
+ console with test output.
If it's an individual test print the output from the test under the assumption someone is debugging the test
and wants to know what is going on without having to context switch to the log file that is generated.
Debug level output still needs to be retrieved from the log file. -->
- <script language="javascript">
- if (project.getProperty("cassandra.keepBriefBrief") == null)
- {
- if (project.getProperty("test.name").equals("*Test"))
- project.setProperty("cassandra.keepBriefBrief", "true");
- else
- project.setProperty("cassandra.keepBriefBrief", "false");
- }
- </script>
+ <macrodef name="set-keepbrief-property">
+ <attribute name="test-name" />
+ <sequential>
+ <condition property="cassandra.keepBriefBrief" value="false" else="true">
+ <not>
+ <equals arg1="@{test-name}" arg2="*Test"/>
+ </not>
+ </condition>
+ </sequential>
+ </macrodef>
+ <set-keepbrief-property test-name="${test.name}" />
<condition property="java.version.8">
<equals arg1="${ant.java.version}" arg2="1.8"/>
@@ -195,6 +254,8 @@
<string>--add-exports java.management.rmi/com.sun.jmx.remote.internal.rmi=ALL-UNNAMED</string>
<string>--add-exports java.rmi/sun.rmi.registry=ALL-UNNAMED</string>
<string>--add-exports java.rmi/sun.rmi.server=ALL-UNNAMED</string>
+ <string>--add-exports java.rmi/sun.rmi.transport=ALL-UNNAMED</string>
+ <string>--add-exports java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED</string>
<string>--add-exports java.sql/java.sql=ALL-UNNAMED</string>
<string>--add-opens java.base/java.lang.module=ALL-UNNAMED</string>
@@ -206,6 +267,7 @@
<string>--add-opens java.base/jdk.internal.module=ALL-UNNAMED</string>
<string>--add-opens java.base/jdk.internal.util.jar=ALL-UNNAMED</string>
<string>--add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED</string>
+
</resources>
<pathconvert property="_jvm_args_concat" refid="_jvm11_arg_items" pathsep=" "/>
<condition property="java11-jvmargs" value="${_jvm_args_concat}" else="">
@@ -239,14 +301,14 @@
<string>-Dio.netty.tryReflectionSetAccessible=true</string>
</resources>
<pathconvert property="_jvm11_test_arg_items_concat" refid="_jvm11_test_arg_items" pathsep=" "/>
- <condition property="test-jvmargs" value="${_jvm11_test_arg_items_concat}" else="${_jvm8_test_arg_items_concat}">
+ <condition property="_std-test-jvmargs" value="${_jvm11_test_arg_items_concat}" else="${_jvm8_test_arg_items_concat}">
<not>
<equals arg1="${ant.java.version}" arg2="1.8"/>
</not>
</condition>
<!-- needed to compile org.apache.cassandra.utils.JMXServerUtils -->
- <condition property="jdk11-javac-exports" value="--add-exports java.rmi/sun.rmi.registry=ALL-UNNAMED" else="">
+ <condition property="jdk11-javac-exports" value="--add-exports java.rmi/sun.rmi.registry=ALL-UNNAMED --add-exports java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED" else="">
<not>
<equals arg1="${ant.java.version}" arg2="1.8"/>
</not>
@@ -295,9 +357,9 @@
<sequential>
<javadoc destdir="@{destdir}" author="true" version="true" use="true"
windowtitle="${ant.project.name} API" classpathref="cassandra.classpath"
- bottom="Copyright &copy; 2009-2022 The Apache Software Foundation"
+ bottom="Copyright &copy; 2009- The Apache Software Foundation"
useexternalfile="yes" encoding="UTF-8" failonerror="false"
- maxmemory="256m" additionalparam="${jdk11-javadoc-exports}">
+ maxmemory="1024m" additionalparam="${jdk11-javadoc-exports}">
<filesets/>
</javadoc>
<fail message="javadoc failed">
@@ -376,6 +438,7 @@
<target name="clean" description="Remove all locally created artifacts">
<delete dir="${build.test.dir}" />
+ <delete dir="${build.dir}/tmp" />
<delete dir="${build.classes}" />
<delete dir="${build.src.gen-java}" />
<delete dir="${version.properties.dir}" />
@@ -386,7 +449,7 @@
<target name="realclean" depends="clean" description="Remove the entire build directory and all downloaded artifacts">
<delete>
- <fileset dir="${build.lib}" excludes="cassandra-driver-internal-only-*"/>
+ <fileset dir="${build.lib}" excludes="cassandra-driver-internal-only-*,puresasl-internal-only-*"/>
</delete>
<delete dir="${build.dir}" />
<delete dir="${doc.dir}/build" />
@@ -498,10 +561,9 @@
<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>
- <dependency groupId="org.xerial.snappy" artifactId="snappy-java" version="1.1.2.6"/>
- <dependency groupId="org.lz4" artifactId="lz4-java" version="1.8.0"/>
- <dependency groupId="com.ning" artifactId="compress-lzf" version="0.8.4" scope="provided"/>
- <dependency groupId="com.github.luben" artifactId="zstd-jni" version="1.5.0-4"/>
*** 2238 LINES SKIPPED ***