Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Apr 2026 12:20:01 +0000
From:      Ronald Klop <ronald@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Cc:        Angelo Polo <language.devel@gmail.com>
Subject:   git: 7390911f653d - main - databases/cassandra5: new port Cassandra 5.0
Message-ID:  <69f0a5f1.2569b.131eaf7b@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by ronald:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7390911f653d615db8240fde5d0057f244eac2b4

commit 7390911f653d615db8240fde5d0057f244eac2b4
Author:     Angelo Polo <language.devel@gmail.com>
AuthorDate: 2026-04-22 05:45:41 +0000
Commit:     Ronald Klop <ronald@FreeBSD.org>
CommitDate: 2026-04-28 12:19:40 +0000

    databases/cassandra5: new port Cassandra 5.0
    
    Highly scalable distributed database
    
    PR:     282693
---
 databases/Makefile                                 |    1 +
 databases/cassandra5/Makefile                      |  199 ++
 databases/cassandra5/distinfo                      |    7 +
 databases/cassandra5/files/cassandra.in            |   39 +
 .../cassandra5/files/maven/.build/build-bench.xml  |  153 ++
 .../files/maven/.build/build-checkstyle.xml        |   64 +
 .../cassandra5/files/maven/.build/build-cqlsh.xml  |   24 +
 .../cassandra5/files/maven/.build/build-git.xml    |   70 +
 .../cassandra5/files/maven/.build/build-owasp.xml  |  118 ++
 .../cassandra5/files/maven/.build/build-rat.xml    |  111 ++
 .../files/maven/.build/build-resolver.xml          |  314 +++
 .../cassandra5/files/maven/.build/build-sonar.xml  |  247 +++
 .../maven/.build/cassandra-build-deps-template.xml |  159 ++
 .../files/maven/.build/cassandra-deps-template.xml |  380 ++++
 .../cassandra5/files/maven/.build/checkstyle.xml   |  188 ++
 .../files/maven/.build/checkstyle_suppressions.xml |   25 +
 .../files/maven/.build/checkstyle_test.xml         |  149 ++
 .../files/maven/.build/generate-snyk-file          |   75 +
 .../.build/owasp/dependency-check-suppressions.xml |   42 +
 .../files/maven/.build/parent-pom-template.xml     | 1267 ++++++++++++
 .../maven/.build/sonar/sonar-quality-gate.json     |   22 +
 .../maven/.build/sonar/sonar-quality-profile.xml   |   30 +
 .../files/maven/.build/sonar/sonar-report.sh       |   66 +
 .../files/maven/.build/sonar/sonar-setup-local.sh  |   74 +
 .../files/maven/build.properties.default           |   23 +
 databases/cassandra5/files/maven/build.xml         | 2094 ++++++++++++++++++++
 .../cassandra/anttasks/EchoEclipseProjectLibs.java |   66 +
 .../apache/cassandra/anttasks/JdkProperties.java   |   33 +
 .../cassandra/anttasks/SetSystemProperty.java      |   62 +
 .../org/apache/cassandra/anttasks/TestHelper.java  |   55 +
 .../cassandra/anttasks/TestNameCheckTask.java      |  195 ++
 databases/cassandra5/files/patch-build.xml         |  153 ++
 .../cassandra5/files/patch-conf_cassandra-env.sh   |   11 +
 .../cassandra5/files/patch-conf_cassandra.yaml     |   71 +
 databases/cassandra5/files/patch-doc_Makefile      |    7 +
 ...rc_java_org_apache_cassandra_config_Config.java |   11 +
 ...cassandra_db_commitlog_MemoryMappedSegment.java |   11 +
 ...e_cassandra_service_NativeTransportService.java |   18 +
 ...org_apache_cassandra_service_StartupChecks.java |   17 +
 ..._apache_cassandra_utils_FastByteOperations.java |  108 +
 ...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/cassandra5/pkg-descr                     |   12 +
 databases/cassandra5/pkg-message                   |    9 +
 databases/cassandra5/pkg-plist                     |  184 ++
 48 files changed, 7018 insertions(+)

diff --git a/databases/Makefile b/databases/Makefile
index 52bf7ba758e6..50083c93131a 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -30,6 +30,7 @@
     SUBDIR += cassandra-cpp-driver
     SUBDIR += cassandra3
     SUBDIR += cassandra4
+    SUBDIR += cassandra5
     SUBDIR += casstcl
     SUBDIR += cayley
     SUBDIR += cdb
diff --git a/databases/cassandra5/Makefile b/databases/cassandra5/Makefile
new file mode 100644
index 000000000000..7af4c9afebd7
--- /dev/null
+++ b/databases/cassandra5/Makefile
@@ -0,0 +1,199 @@
+PORTNAME=	cassandra
+DISTVERSION=	5.0.8
+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.6-7/:maven
+PKGNAMESUFFIX=	5
+DISTNAME=	apache-${PORTNAME}-${DISTVERSION}-src
+DISTFILES=	${DISTNAME}.tar.gz:apache \
+		${ZSTD_DISTFILE} \
+		${MAVEN_CACHE_FILE}:prefetch
+DIST_SUBDIR=	${PORTNAME}
+EXTRACT_ONLY=	${DISTNAME}.tar.gz \
+		${MAVEN_CACHE_FILE}
+
+MAINTAINER=	language.devel@gmail.com
+COMMENT=	Highly scalable distributed database
+WWW=		https://cassandra.apache.org/
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+FETCH_DEPENDS=	${JAVA}:${JAVA_PORT} \
+		ant:devel/apache-ant
+RUN_DEPENDS=	snappyjava>=0:archivers/snappy-java \
+		netty>0:java/netty
+
+USES=		cpe java:ant python shebangfix
+USE_RC_SUBR=	cassandra
+SHEBANG_FILES=	bin/cqlsh.py pylib/setup.py
+TEST_TARGET=	test
+CPE_VENDOR=	apache
+
+CONFLICTS=	cassandra[34]
+
+JAVA_VERSION=	11 17
+JAVA_VENDOR=	openjdk
+
+FETCH_ENV+=	JAVA_HOME=${JAVA_HOME}
+SUB_LIST=	JAVA_HOME=${JAVA_HOME}
+
+USERS=		cassandra
+GROUPS=		cassandra
+
+DATADIR=	${JAVASHAREDIR}/${PORTNAME}
+BUILD_DIST_DIR=	${WRKSRC}/build/dist
+REPO_DIR=	${WRKDIR}/repository
+
+CONFIG_FILES=	cassandra-env.sh \
+		cassandra-jaas.config \
+		cassandra-rackdc.properties \
+		cassandra.yaml \
+		cassandra_latest.yaml \
+		commitlog_archiving.properties \
+		hotspot_compiler \
+		jvm11-clients.options \
+		jvm11-server.options \
+		jvm17-clients.options \
+		jvm17-server.options \
+		jvm-clients.options \
+		jvm-server.options \
+		logback-tools.xml \
+		logback.xml
+
+SCRIPT_FILES=	cassandra \
+		nodetool \
+		sstableloader \
+		sstablescrub \
+		sstableupgrade \
+		sstableutil \
+		sstableverify
+
+ZSTDJNI_VERSION=	${MASTER_SITES:M*\:maven:H:T}
+PLIST_SUB=	DISTVERSION=${DISTVERSION} ZSTDJNI_VERSION=${ZSTDJNI_VERSION}
+
+OPTIONS_DEFINE=		SIGAR DOCS
+OPTIONS_SUB=		yes
+
+SIGAR_DESC=		Use SIGAR to collect system information
+SIGAR_RUN_DEPENDS=	java-sigar>=1.6.4:java/sigar
+
+DOCS_BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR} \
+			${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR}
+
+PORTDOCS=		*
+
+MAVEN_CACHE_FILE=	apache-${PORTNAME}-${DISTVERSION}-repo.tar.xz
+
+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.
+
+do-build-DOCS-on:
+	cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} CASSANDRA_LOG_DIR=${WRKDIR}/gen-doc-log ${ANT} -Dmaven.repo.local=${REPO_DIR} -Dlocal.repository=${REPO_DIR} ${USEJDK11} -Dpycmd=${PYTHON_CMD} -Dpyver=${PYTHON_VER} freebsd-stage-doc
+
+do-build-DOCS-off:
+	cd ${WRKSRC} && ${MAKE_ENV} ${ANT} -Dmaven.repo.local=${REPO_DIR} -Dlocal.repository=${REPO_DIR} ${USEJDK11} freebsd-stage
+
+post-build:
+.for f in ${SCRIPT_FILES}
+	@${REINPLACE_CMD} -e 's|/usr/share/cassandra|${DATADIR}/bin|' ${BUILD_DIST_DIR}/bin/${f}
+.endfor
+	@${REINPLACE_CMD} -e 's|`dirname "$$0"`/..|${DATADIR}|' ${BUILD_DIST_DIR}/bin/cassandra.in.sh
+	@${REINPLACE_CMD} -e 's|$$CASSANDRA_HOME/lib/sigar-bin|${JAVAJARDIR}|' ${BUILD_DIST_DIR}/bin/cassandra.in.sh
+	@${REINPLACE_CMD} -e 's|$$CASSANDRA_HOME/lib/sigar-bin|${JAVAJARDIR}|' ${BUILD_DIST_DIR}/conf/cassandra-env.sh
+	@${REINPLACE_CMD} -e 's|$$CASSANDRA_HOME/conf|${ETCDIR}|' ${BUILD_DIST_DIR}/bin/cassandra.in.sh
+.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
+	@${RM} ${BUILD_DIST_DIR}/lib/licenses/sigar*
+	@${RMDIR} ${BUILD_DIST_DIR}/lib/sigar-bin
+	@${RM} ${BUILD_DIST_DIR}/lib/zstd-jni*
+	@${RM} ${BUILD_DIST_DIR}/lib/licenses/zstd-jni*
+
+do-install:
+	${MKDIR} ${STAGEDIR}${DATADIR}
+.for f in CHANGES LICENSE NEWS NOTICE
+	cd ${BUILD_DIST_DIR} && ${INSTALL_DATA} ${f}.txt ${STAGEDIR}${DATADIR}/
+.endfor
+.for d in lib pylib tools
+	cd ${BUILD_DIST_DIR} && ${COPYTREE_SHARE} ${d} ${STAGEDIR}${DATADIR}/ "! -path '*/bin/*'"
+.endfor
+	${MKDIR} ${STAGEDIR}${ETCDIR}
+	cd ${BUILD_DIST_DIR}/conf && ${COPYTREE_SHARE} . ${STAGEDIR}${ETCDIR}/
+	cd ${BUILD_DIST_DIR} && ${COPYTREE_BIN} bin ${STAGEDIR}${DATADIR}
+	cd ${BUILD_DIST_DIR} && ${INSTALL_DATA} bin/cassandra.in.sh ${STAGEDIR}${DATADIR}/bin/
+	cd ${BUILD_DIST_DIR} && ${COPYTREE_BIN} tools/bin ${STAGEDIR}${DATADIR}/
+	cd ${BUILD_DIST_DIR} && ${INSTALL_DATA} tools/bin/cassandra.in.sh ${STAGEDIR}${DATADIR}/tools/bin/
+	cd ${BUILD_DIST_DIR} && ${INSTALL_DATA} tools/lib/fqltool.jar ${STAGEDIR}${DATADIR}/tools/lib/
+	cd ${BUILD_DIST_DIR} && ${INSTALL_DATA} tools/lib/stress.jar ${STAGEDIR}${DATADIR}/tools/lib/
+.for f in ${SCRIPT_FILES}
+	${RLN} ${STAGEDIR}${DATADIR}/bin/${f} ${STAGEDIR}${PREFIX}/bin/${f}
+.endfor
+	${RLN} ${STAGEDIR}${DATADIR}/bin/cqlsh ${STAGEDIR}${PREFIX}/bin/cqlsh
+	${LN} -s ${JAVAJARDIR}/snappy-java.jar ${STAGEDIR}${DATADIR}/lib/snappy-java.jar
+
+do-test:
+	@cd ${WRKSRC} && ${ANT} -Dmaven.repo.local=${REPO_DIR} -Dlocal.repository=${REPO_DIR} ${USEJDK11} -Dstagedlib=${STAGEDIR}${DATADIR}/lib 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} -r ${FILESDIR}/maven/test ${WRKSRC}/
+	${CP} ${FILESDIR}/maven/build.* ${WRKSRC}/
+	${CP} -r ${FILESDIR}/maven/.build ${WRKSRC}/
+	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=""
+.else
+PLIST_SUB+=		AMD64ONLY="@comment "
+.endif
+
+.if ${ARCH} == amd64
+ZSTD_DISTFILE=	zstd-jni-${MASTER_SITES:M*\:maven:H:T}-freebsd_${ARCH}.jar:maven
+.else
+ZSTD_DISTFILE=
+.endif
+
+post-install:
+	${LN} -s ${JAVAJARDIR}/netty.jar ${STAGEDIR}${DATADIR}/lib/netty.jar
+.if ${ARCH} == amd64
+	${CP} ${DISTDIR}/${DIST_SUBDIR}/zstd-jni-${ZSTDJNI_VERSION}-freebsd_${ARCH}.jar ${STAGEDIR}${DATADIR}/lib/
+.endif
+
+post-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+.for d in doc javadoc
+	cd ${BUILD_DIST_DIR} && ${COPYTREE_SHARE} ${d} ${STAGEDIR}${DOCSDIR}/
+.endfor
+
+post-install-SIGAR-on:
+	${LN} -s ${JAVAJARDIR}/sigar.jar ${STAGEDIR}${DATADIR}/lib/sigar.jar
+
+.include <bsd.port.post.mk>
diff --git a/databases/cassandra5/distinfo b/databases/cassandra5/distinfo
new file mode 100644
index 000000000000..8635b76112b8
--- /dev/null
+++ b/databases/cassandra5/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1776391960
+SHA256 (cassandra/apache-cassandra-5.0.8-src.tar.gz) = d378d59b5f539dd69c4d3c284bb7e8c767dc255090b11acf3f4722e0833af24c
+SIZE (cassandra/apache-cassandra-5.0.8-src.tar.gz) = 24857092
+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-5.0.8-repo.tar.xz) = 0a784de55b5fe2f3728b2b3bb564e8fffb833dd33e94c5f53e3f91c7480a36dc
+SIZE (cassandra/apache-cassandra-5.0.8-repo.tar.xz) = 114267432
diff --git a/databases/cassandra5/files/cassandra.in b/databases/cassandra5/files/cassandra.in
new file mode 100644
index 000000000000..9615fbe572f6
--- /dev/null
+++ b/databases/cassandra5/files/cassandra.in
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# PROVIDE: cassandra
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Be sure to configure full settings in %%ETCDIR%% prior to enabling daemon.
+#
+# Add the following lines to /etc/rc.conf or /etc/.conf.local to
+# enable the Cassandra daemon:
+# cassandra_enable:		Set to "YES" to enable the daemon.
+# cassandra_user: 		The user under which to run the daemon.
+#				Defaults to "cassandra".
+
+. /etc/rc.subr
+
+name=cassandra
+rcvar=cassandra_enable
+desc="Cassandra daemon"
+
+load_rc_config $name
+
+: ${cassandra_enable:=NO}
+: ${cassandra_user:=cassandra}
+
+pidfile=/var/run/cassandra/cassandra.pid
+
+command=/usr/sbin/daemon
+command_args="-frP ${pidfile} %%PREFIX%%/bin/cassandra -f"
+start_precmd="${name}_prestart"
+
+cassandra_prestart()
+{
+	export JAVA_HOME=%%JAVA_HOME%%
+	install -d -o ${cassandra_user} /var/run/cassandra
+	install -d -o ${cassandra_user} /var/log/cassandra
+}
+
+run_rc_command "$1"
diff --git a/databases/cassandra5/files/maven/.build/build-bench.xml b/databases/cassandra5/files/maven/.build/build-bench.xml
new file mode 100644
index 000000000000..b10fc644250e
--- /dev/null
+++ b/databases/cassandra5/files/maven/.build/build-bench.xml
@@ -0,0 +1,153 @@
+<?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" depends="maybe-build-test">
+        <jmh/>
+    </target>
+
+    <target name="microbench-test" depends="maybe-build-test" description="test each microbench runs once">
+        <!-- Only used to test jmh classes run without error.  Not to be used for actual performance tests -->
+        <jmh>
+            <extra-args>
+                <arg value="-f"/><arg value="1"/>
+                <arg value="-wi"/><arg value="0"/>
+                <arg value="-i"/><arg value="1"/>
+            </extra-args>
+        </jmh>
+    </target>
+
+    <target name="microbench-with-profiler" depends="maybe-build-test,-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="${java-jvmargs}"/>
+                <jvmarg line="${_std-test-jvmargs}"/>
+                <jvmarg line="${test.jvm.args}"/>
+
+                <!-- total memory must fit within the pod constraints, see comments in .jenkins/Jenkinsfile and dind's container resourceRequestMemory in .jenkins/k8s/jenkins-deployment.yaml -->
+                <!-- note! this is used for both the JMH runner and VMH fork -->
+                <jvmarg value="-Xmx1G"/>
+
+                <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 -->
+                <!-- The classes listed below are broken, and so currently ignored, see CASSANDRA-18873 -->
+                <arg value="-e" if:blank="${benchmark.name}"/>
+                <arg value="AtomicBTreePartitionUpdateBench|BTreeSearchIteratorBench|BTreeTransformBench|BTreeUpdateBench|FastThreadLocalBench|KeyLookupBench|MutationBench|(instance.*Bench)|ReadWriteBench|ZeroCopyStreamingBench" 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/cassandra5/files/maven/.build/build-checkstyle.xml b/databases/cassandra5/files/maven/.build/build-checkstyle.xml
new file mode 100644
index 000000000000..af5867e4aa9a
--- /dev/null
+++ b/databases/cassandra5/files/maven/.build/build-checkstyle.xml
@@ -0,0 +1,64 @@
+<?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-checkstyle"
+     xmlns:rat="antlib:org.apache.rat.anttasks">
+
+    <target name="init-checkstyle" depends="resolver-retrieve-build,build-project" unless="no-checkstyle">
+        <path id="checkstyle.lib.path">
+            <fileset dir="${test.lib}/jars" includes="*.jar"/>
+        </path>
+        <!-- Sevntu custom checks are retrieved by Ivy into lib folder
+           and will be accessible to checkstyle-->
+        <taskdef resource="com/puppycrawl/tools/checkstyle/ant/checkstyle-ant-task.properties"
+                 classpathref="checkstyle.lib.path"/>
+    </target>
+
+    <target name="checkstyle" depends="init-checkstyle,build-project" description="Run custom checkstyle code analysis" unless="no-checkstyle">
+        <property name="checkstyle.log.dir" value="${build.dir}/checkstyle" />
+        <property name="checkstyle.report.file" value="${checkstyle.log.dir}/checkstyle_report.xml"/>
+        <mkdir  dir="${checkstyle.log.dir}" />
+
+        <property name="checkstyle.properties" value="${build.helpers.dir}/checkstyle.xml" />
+        <property name="checkstyle.suppressions" value="${build.helpers.dir}/checkstyle_suppressions.xml" />
+        <checkstyle config="${checkstyle.properties}"
+                    failureProperty="checkstyle.failure"
+                    failOnViolation="true">
+            <formatter type="plain"/>
+            <formatter type="xml" tofile="${checkstyle.report.file}"/>
+            <fileset dir="${build.src.java}" includes="**/*.java"/>
+        </checkstyle>
+    </target>
+
+    <target name="checkstyle-test" depends="init-checkstyle,resolver-retrieve-build,build-project" description="Run custom checkstyle code analysis on tests" unless="no-checkstyle">
+        <property name="checkstyle.log.dir" value="${build.dir}/checkstyle" />
+        <property name="checkstyle_test.report.file" value="${checkstyle.log.dir}/checkstyle_report_test.xml"/>
+        <mkdir  dir="${checkstyle.log.dir}" />
+
+        <property name="checkstyle_test.properties" value="${build.helpers.dir}/checkstyle_test.xml" />
+        <property name="checkstyle.suppressions" value="${build.helpers.dir}/checkstyle_suppressions.xml" />
+        <checkstyle config="${checkstyle_test.properties}"
+                    failureProperty="checkstyle.failure"
+                    failOnViolation="true">
+            <formatter type="plain"/>
+            <formatter type="xml" tofile="${checkstyle_test.report.file}"/>
+            <fileset dir="${test.dir}" includes="**/*.java"/>
+        </checkstyle>
+    </target>
+
+</project>
diff --git a/databases/cassandra5/files/maven/.build/build-cqlsh.xml b/databases/cassandra5/files/maven/.build/build-cqlsh.xml
new file mode 100644
index 000000000000..45e0e46a494d
--- /dev/null
+++ b/databases/cassandra5/files/maven/.build/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/cassandra5/files/maven/.build/build-git.xml b/databases/cassandra5/files/maven/.build/build-git.xml
new file mode 100644
index 000000000000..50db9be2bfe1
--- /dev/null
+++ b/databases/cassandra5/files/maven/.build/build-git.xml
@@ -0,0 +1,70 @@
+<?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-git-tasks"
+         xmlns:if="ant:if">
+
+    <target name="_get-git-sha">
+        <exec executable="git" osfamily="unix" dir="${basedir}" logError="false" failonerror="false" failifexecutionfails="false" resultproperty="git.is-available.exit-code">
+            <arg value="rev-parse"/>
+            <arg value="--is-inside-work-tree"/>
+            <redirector outputproperty="git.is-available.output"/>
+        </exec>
+        <condition property="git.is-available" else="false">
+            <equals arg1="${git.is-available.exit-code}" arg2="0"/>
+        </condition>
+        <echo message="git.is-available=${git.is-available}"/>
+
+        <exec if:true="${git.is-available}" executable="git" osfamily="unix" dir="${basedir}" logError="true" failonerror="false" failifexecutionfails="false">
+            <arg value="describe"/>
+            <arg value="--match=''"/>
+            <arg value="--always"/>
+            <arg value="--abbrev=0"/>
+            <arg value="--dirty"/>
+            <redirector outputproperty="git.sha"/>
+        </exec>
+        <property name="git.sha" value="Unknown"/>
+        <echo level="info">git.sha=${git.sha}</echo>
+
+        <exec if:true="${git.is-available}" executable="git" osfamily="unix" dir="${basedir}" logError="true" failonerror="false" failifexecutionfails="false">
+            <arg value="diff"/>
+            <arg value="--stat"/>
+            <redirector outputproperty="git.diffstat"/>
+        </exec>
+        <condition property="is-dirty">
+            <contains string="${git.sha}" substring="-dirty"/>
+        </condition>
+        <echo level="warning" if:true="${is-dirty}">Repository state is dirty</echo>
+        <echo level="warning" if:true="${is-dirty}">${git.diffstat}</echo>
+
+        <exec if:true="${git.is-available}" executable="bash" dir="${basedir}" logError="true" failonerror="false" failifexecutionfails="false">
+            <arg value="-c"/>
+            <arg value="([[ -f .git ]] &amp;&amp; (basename `cat .git | cut -f 2 -d ' '`)) || (basename `pwd`)"/>
+            <redirector outputproperty="git.worktree.name"/>
+        </exec>
+        <echo message="git.worktree.name=${git.worktree.name}"/>
+
+        <exec if:true="${git.is-available}" executable="bash" dir="${basedir}" logError="true" failonerror="false" failifexecutionfails="false">
+            <arg value="-c"/>
+            <arg value="git branch --show-current"/>
+            <redirector outputproperty="git.branch.name"/>
+        </exec>
+        <echo message="git.branch.name=${git.branch.name}"/>
+
+    </target>
+</project>
diff --git a/databases/cassandra5/files/maven/.build/build-owasp.xml b/databases/cassandra5/files/maven/.build/build-owasp.xml
new file mode 100644
index 000000000000..7ab160ffb986
--- /dev/null
+++ b/databases/cassandra5/files/maven/.build/build-owasp.xml
@@ -0,0 +1,118 @@
+<?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-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="dependency-check-ant.archive.present">
+        <available file="${dependency-check.archive.dir}/${dependency-check.archive.name}" type="file" />
+    </condition>
+
+    <target name="-dependency-check-download"
+            description="Fetch OWASP Dependency checker"
+            unless="dependency-check-ant.archive.present">
+
+        <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>
+
+    <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>
+
+        <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>
+
+        <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">
+                <include name="*.jar"/>
+            </fileset>
+        </path>
+
+        <taskdef resource="dependency-check-taskdefs.properties">
+            <classpath refid="dependency-check.path" />
+        </taskdef>
+
+        <!--
+            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 (1), so by setting
+            "failBuildOnCVSS" to 1, we will fail the build on any CVE found
+            if it is not suppressed already owasp/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://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"
+                          nvdApiKey="${nvd.api.key}"
+                          reportoutputdirectory="${dependency-check.report.dir}"
+                          reportformat="ALL"
+                          prettyPrint="true"
+                          nvdValidForHours="${nvd.validity.hours}"
+                          centralAnalyzerUseCache="true"
+                          nodeAuditAnalyzerUseCache="true"
+                          failBuildOnCVSS="1"
+                          assemblyAnalyzerEnabled="false"
+                          dataDirectory="${nvd.data.dir}"
+                          suppressionFile="${build.helpers.dir}/owasp/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">
+        <exec executable="python3" failonerror="true"><arg value="${basedir}/.build/generate-snyk-file"/></exec>
+    </target>
+</project>
diff --git a/databases/cassandra5/files/maven/.build/build-rat.xml b/databases/cassandra5/files/maven/.build/build-rat.xml
new file mode 100644
index 000000000000..7219e0cf8aa6
--- /dev/null
+++ b/databases/cassandra5/files/maven/.build/build-rat.xml
@@ -0,0 +1,111 @@
+<?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-rat-tasks"
+     xmlns:rat="antlib:org.apache.rat.anttasks">
+
+    <!--
+      License audit tool
+    -->
+
+    <target name="_rat_init" depends="resolver-init">
+        <typedef uri="antlib:org.apache.rat.anttasks" classpathref="rat.classpath"/>
+    </target>
+
+    <target name="_build_ratinclude" depends="_rat_init">
+        <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">
+            <not>
+                <equals arg1="${git.success}" arg2="0"/>
+            </not>
+        </condition>
+    </target>
+
+    <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.dir}/.ratinclude">
+                 <!-- Config files with not much creativity -->
+                 <exclude name=".asf.yaml"/>
+                 <exclude name=".snyk"/>
+                 <exclude name="**/cassandra*.yaml"/>
+                 <exclude NAME="doc/antora.yml"/>
+                 <exclude name="ide/**/*"/>
+                 <exclude name="**/*.json"/>
+                 <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/**/*.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=".github/pull_request_template.md"/>
+                 <exclude name=".github/workflows/code-check.yaml"/>
+                 <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">
+            <arg line="-A5 'Unapproved licenses' ${build.dir}/rat.txt"/>
+        </exec>
+        <fail message="Some files have missing or incorrect license information. Check RAT report in ${build.dir}/rat.txt for more details! \n ${rat.failed.files}">
+            <condition>
+                <and>
+                    <not>
+                        <resourcecontains resource="${build.dir}/rat.txt" substring="0 Unknown Licenses" casesensitive="false" />
+                    </not>
+                </and>
+            </condition>
+        </fail>
+    </target>
+</project>
diff --git a/databases/cassandra5/files/maven/.build/build-resolver.xml b/databases/cassandra5/files/maven/.build/build-resolver.xml
new file mode 100644
index 000000000000..09263d42aa6e
--- /dev/null
+++ b/databases/cassandra5/files/maven/.build/build-resolver.xml
@@ -0,0 +1,314 @@
+<?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-resolver-tasks"
+         xmlns:resolver="antlib:org.apache.maven.resolver.ant"
+         xmlns:if="ant:if"
+         xmlns:unless="ant:unless">
+
+    <!-- details of what version of Resolver ANT Tasks to fetch -->
+    <property name="resolver-ant-tasks.version" value="1.3.0" />
+    <property name="resolver-ant-tasks.local" value="${local.repository}/org/apache/maven/resolver/maven-resolver-ant-tasks/${resolver-ant-tasks.version}/maven-resolver-ant-tasks-${resolver-ant-tasks.version}.jar"/>
+    <property name="resolver-ant-tasks.url" value="https://repo1.maven.org/maven2/org/apache/maven/resolver/maven-resolver-ant-tasks" />
+    <condition property="resolver-ant-tasks.jar.exists">
+        <available file="${resolver-ant-tasks.local}" />
+    </condition>
+
+    <property name="artifact.python.pypi" value="https://files.pythonhosted.org/packages" />
+    <property name="artifact.github.release" value="https://github.com" />
+
+    <!-- some artifacts are fetched from github as blobs; these are all in the cassandra project, but in an older commit -->
+    <property name="lib.download.sha" value="1371883db3d8bf7d7c54e0baaca89c6c2d2a5abe"/>
+    <property name="lib.download.base.url" value="https://raw.githubusercontent.com/apache/cassandra/${lib.download.sha}" />
+    <property name="lib.download.url.postfix" value="" />
+
+    <path id="resolver-ant-tasks.classpath" path="${resolver-ant-tasks.local}" />
+
+    <!--
+       Fetch Resolver Ant Tasks and Cassandra's dependencies.
+    -->
+
+    <target name="_resolver_download" unless="resolver-ant-tasks.jar.exists" description="Fetch Resolver ANT Tasks from Maven Central Repository">
+        <echo>Downloading Resolver ANT Tasks...</echo>
+        <mkdir dir="${local.repository}/org/apache/maven/resolver/maven-resolver-ant-tasks/${resolver-ant-tasks.version}" />
+
+        <retry retrycount="3" retrydelay="10" >
+            <get src="${resolver-ant-tasks.url}/${resolver-ant-tasks.version}/maven-resolver-ant-tasks-${resolver-ant-tasks.version}-uber.jar"
+                 dest="${resolver-ant-tasks.local}" usetimestamp="true" quiet="true"/>
+        </retry>
+    </target>
+
+    <target name="resolver-init" depends="init,_resolver_download" unless="resolver-ant-tasks.initialized" description="Initialize Resolver ANT Tasks">
+
+        <typedef uri="antlib:org.apache.maven.resolver.ant" resource="org/apache/maven/resolver/ant/antlib.xml" classpathref="resolver-ant-tasks.classpath" />
+        <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.
*** 6391 LINES SKIPPED ***


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69f0a5f1.2569b.131eaf7b>