This is an automated email from the ASF dual-hosted git repository. jkonisa pushed a commit to branch cdc-fixes in repository https://gitbox.apache.org/repos/asf/cassandra-analytics.git
commit a04d6d201fbb6cc7ed5fee7a4f8085669ffdf23b Author: jkonisa <[email protected]> AuthorDate: Thu Feb 12 05:53:49 2026 -0800 Publishing jars to local for trying CDC --- analytics-sidecar-client-common/build.gradle | 5 +- analytics-sidecar-client/build.gradle | 5 +- analytics-sidecar-vertx-client-shaded/build.gradle | 57 +++++---- analytics-sidecar-vertx-client/build.gradle | 7 +- cassandra-analytics-cdc-codec/build.gradle | 5 +- cassandra-analytics-cdc-sidecar/build.gradle | 5 +- cassandra-analytics-cdc/build.gradle | 5 +- cassandra-analytics-common/build.gradle | 5 +- cassandra-analytics-core/build.gradle | 5 +- .../build.gradle | 6 +- cassandra-analytics-integration-tests/build.gradle | 5 +- cassandra-analytics-sidecar-client/build.gradle | 10 +- cassandra-analytics-spark-converter/build.gradle | 5 +- .../build.gradle | 2 + .../build.gradle | 2 + cassandra-avro-converter/build.gradle | 6 +- cassandra-bridge/build.gradle | 5 +- cassandra-five-zero-avro-converter/build.gradle | 2 + cassandra-five-zero-bridge/build.gradle | 2 + cassandra-five-zero-types/build.gradle | 2 + cassandra-four-zero-avro-converter/build.gradle | 2 + cassandra-four-zero-bridge/build.gradle | 2 + cassandra-four-zero-types/build.gradle | 2 + gradle.properties | 4 +- gradle/common/publishing-non-spark.gradle | 6 +- publish-local.sh | 129 +++++++++++++++++++++ 26 files changed, 196 insertions(+), 95 deletions(-) diff --git a/analytics-sidecar-client-common/build.gradle b/analytics-sidecar-client-common/build.gradle index e742f65c..6e8dad0c 100644 --- a/analytics-sidecar-client-common/build.gradle +++ b/analytics-sidecar-client-common/build.gradle @@ -27,10 +27,7 @@ plugins { id 'maven-publish' } -if (propertyWithDefault("artifactType", null) == "common") -{ - apply from: "$rootDir/gradle/common/publishing.gradle" -} +apply from: "$rootDir/gradle/common/publishing-non-spark.gradle" sourceCompatibility = 1.8 diff --git a/analytics-sidecar-client/build.gradle b/analytics-sidecar-client/build.gradle index 202c592d..b87204ad 100644 --- a/analytics-sidecar-client/build.gradle +++ b/analytics-sidecar-client/build.gradle @@ -29,10 +29,7 @@ plugins { id('maven-publish') } -if (propertyWithDefault("artifactType", null) == "common") -{ - apply from: "$rootDir/gradle/common/publishing.gradle" -} +apply from: "$rootDir/gradle/common/publishing-non-spark.gradle" sourceCompatibility = 1.8 diff --git a/analytics-sidecar-vertx-client-shaded/build.gradle b/analytics-sidecar-vertx-client-shaded/build.gradle index 1d1bdeb1..c1e6f2ac 100644 --- a/analytics-sidecar-vertx-client-shaded/build.gradle +++ b/analytics-sidecar-vertx-client-shaded/build.gradle @@ -105,42 +105,41 @@ ext { // archivesBaseName = "${project.name}" // present on the general gradle.build file to avoid having // analytics-sidecar-vertx-client-shaded_* as the artifact name -archivesBaseName = "analytics-sidecar-vertx-client-all" - -if (propertyWithDefault("artifactType", null) == "common") -{ - publishing { - publications { - shadow(MavenPublication) { publication -> - project.shadow.component(publication) - groupId rootProject.group - artifactId "${archivesBaseName}" - version System.getenv("CODE_VERSION") ?: "${project.version}" - - if (mavenRepositoryUrl != "") { - pom { - url = "https://cassandra.apache.org/" - licenses { - license { - name = "The Apache License, Version 2.0" - url = "https://www.apache.org/licenses/LICENSE-2.0.txt" - distribution = "repo" - } +archivesBaseName = "analytics-sidecar-vertx-client-shaded" + +publishing { + publications { + shadow(MavenPublication) { publication -> + project.shadow.component(publication) + groupId rootProject.group + artifactId "${archivesBaseName}" + version System.getenv("CODE_VERSION") ?: "${project.version}" + + if (mavenRepositoryUrl != "") { + pom { + url = "https://cassandra.apache.org/" + licenses { + license { + name = "The Apache License, Version 2.0" + url = "https://www.apache.org/licenses/LICENSE-2.0.txt" + distribution = "repo" } } } } } + } + + repositories { + mavenLocal() if (mavenRepositoryUrl != "") { - repositories { - maven { - url = mavenRepositoryUrl - if (mavenUsername != "" && mavenPassword != "") { - credentials { - username = mavenUsername - password = mavenPassword - } + maven { + url = mavenRepositoryUrl + if (mavenUsername != "" && mavenPassword != "") { + credentials { + username = mavenUsername + password = mavenPassword } } } diff --git a/analytics-sidecar-vertx-client/build.gradle b/analytics-sidecar-vertx-client/build.gradle index f04aa732..5b7acaa6 100644 --- a/analytics-sidecar-vertx-client/build.gradle +++ b/analytics-sidecar-vertx-client/build.gradle @@ -25,12 +25,9 @@ plugins { id('maven-publish') } -sourceCompatibility = 1.8 +apply from: "$rootDir/gradle/common/publishing-non-spark.gradle" -if (propertyWithDefault("artifactType", null) == "common") -{ - apply from: "$rootDir/gradle/common/publishing.gradle" -} +sourceCompatibility = 1.8 test { useJUnitPlatform() diff --git a/cassandra-analytics-cdc-codec/build.gradle b/cassandra-analytics-cdc-codec/build.gradle index 60b72208..6cacf9fd 100644 --- a/cassandra-analytics-cdc-codec/build.gradle +++ b/cassandra-analytics-cdc-codec/build.gradle @@ -24,10 +24,7 @@ plugins { id('maven-publish') } -if (propertyWithDefault("artifactType", null) == "spark") -{ - apply from: "$rootDir/gradle/common/publishing.gradle" -} +apply from: "$rootDir/gradle/common/publishing-spark.gradle" dependencies { api(project(':cassandra-bridge')) diff --git a/cassandra-analytics-cdc-sidecar/build.gradle b/cassandra-analytics-cdc-sidecar/build.gradle index d8bb4d1e..70cdb292 100644 --- a/cassandra-analytics-cdc-sidecar/build.gradle +++ b/cassandra-analytics-cdc-sidecar/build.gradle @@ -24,10 +24,7 @@ plugins { id('maven-publish') } -if (propertyWithDefault("artifactType", null) == "spark") -{ - apply from: "$rootDir/gradle/common/publishing.gradle" -} +apply from: "$rootDir/gradle/common/publishing-spark.gradle" configurations { all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12') diff --git a/cassandra-analytics-cdc/build.gradle b/cassandra-analytics-cdc/build.gradle index cd4a2dc2..d7573e06 100644 --- a/cassandra-analytics-cdc/build.gradle +++ b/cassandra-analytics-cdc/build.gradle @@ -24,10 +24,7 @@ plugins { id('maven-publish') } -if (propertyWithDefault("artifactType", null) == "spark") -{ - apply from: "$rootDir/gradle/common/publishing.gradle" -} +apply from: "$rootDir/gradle/common/publishing-spark.gradle" configurations { all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12') diff --git a/cassandra-analytics-common/build.gradle b/cassandra-analytics-common/build.gradle index 96b7e7f6..614d643a 100644 --- a/cassandra-analytics-common/build.gradle +++ b/cassandra-analytics-common/build.gradle @@ -24,10 +24,7 @@ plugins { id('maven-publish') } -if (propertyWithDefault("artifactType", null) == "common") -{ - apply from: "$rootDir/gradle/common/publishing.gradle" -} +apply from: "$rootDir/gradle/common/publishing-non-spark.gradle" dependencies { implementation("org.slf4j:slf4j-api:${slf4jApiVersion}") diff --git a/cassandra-analytics-core/build.gradle b/cassandra-analytics-core/build.gradle index 259c3252..bd809cb8 100644 --- a/cassandra-analytics-core/build.gradle +++ b/cassandra-analytics-core/build.gradle @@ -25,10 +25,7 @@ plugins { id('maven-publish') } -if (propertyWithDefault("artifactType", null) == "spark") -{ - apply from: "$rootDir/gradle/common/publishing.gradle" -} +apply from: "$rootDir/gradle/common/publishing-spark.gradle" java { withJavadocJar() diff --git a/cassandra-analytics-integration-framework/build.gradle b/cassandra-analytics-integration-framework/build.gradle index a88c0da9..62bc2770 100644 --- a/cassandra-analytics-integration-framework/build.gradle +++ b/cassandra-analytics-integration-framework/build.gradle @@ -22,15 +22,13 @@ plugins { id('maven-publish') } +apply from: "$rootDir/gradle/common/publishing-spark.gradle" + java { withJavadocJar() withSourcesJar() } -if (propertyWithDefault("artifactType", null) == "spark") -{ - apply from: "$rootDir/gradle/common/publishing.gradle" -} ext.dtestJar = System.getenv("DTEST_JAR") ?: "dtest-5.0.5.jar" // latest supported Cassandra build is 5.0 def dtestJarFullPath = "${dependencyLocation}${ext.dtestJar}" diff --git a/cassandra-analytics-integration-tests/build.gradle b/cassandra-analytics-integration-tests/build.gradle index d8d469f6..c75a9e52 100644 --- a/cassandra-analytics-integration-tests/build.gradle +++ b/cassandra-analytics-integration-tests/build.gradle @@ -27,10 +27,7 @@ plugins { id('maven-publish') } -if (propertyWithDefault("artifactType", null) == "spark") -{ - apply from: "$rootDir/gradle/common/publishing.gradle" -} +apply from: "$rootDir/gradle/common/publishing-spark.gradle" def integrationMaxHeapSize = System.getenv("INTEGRATION_MAX_HEAP_SIZE") ?: "3000M" println("Using ${integrationMaxHeapSize} maxHeapSize") diff --git a/cassandra-analytics-sidecar-client/build.gradle b/cassandra-analytics-sidecar-client/build.gradle index bedf2c04..a5648b94 100644 --- a/cassandra-analytics-sidecar-client/build.gradle +++ b/cassandra-analytics-sidecar-client/build.gradle @@ -24,15 +24,7 @@ plugins { id('maven-publish') } -configurations { - all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12') - all*.exclude(group: 'log4j', module: 'log4j') -} - -if (propertyWithDefault("artifactType", null) == "common") -{ - apply from: "$rootDir/gradle/common/publishing.gradle" -} +apply from: "$rootDir/gradle/common/publishing-non-spark.gradle" dependencies { compileOnly("com.google.guava:guava:${guavaVersion}") diff --git a/cassandra-analytics-spark-converter/build.gradle b/cassandra-analytics-spark-converter/build.gradle index 1dd98a22..d1bdfe4c 100644 --- a/cassandra-analytics-spark-converter/build.gradle +++ b/cassandra-analytics-spark-converter/build.gradle @@ -22,10 +22,7 @@ plugins { id('maven-publish') } -if (propertyWithDefault("artifactType", null) == "spark") -{ - apply from: "$rootDir/gradle/common/publishing.gradle" -} +apply from: "$rootDir/gradle/common/publishing-spark.gradle" configurations { all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12') diff --git a/cassandra-analytics-spark-five-zero-converter/build.gradle b/cassandra-analytics-spark-five-zero-converter/build.gradle index 2a752533..990f257c 100644 --- a/cassandra-analytics-spark-five-zero-converter/build.gradle +++ b/cassandra-analytics-spark-five-zero-converter/build.gradle @@ -21,6 +21,8 @@ plugins { id('java-library') } +apply from: "$rootDir/gradle/common/publishing.gradle" + configurations { all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12') all*.exclude(group: 'log4j', module: 'log4j') diff --git a/cassandra-analytics-spark-four-zero-converter/build.gradle b/cassandra-analytics-spark-four-zero-converter/build.gradle index 61bac155..ecf134d4 100644 --- a/cassandra-analytics-spark-four-zero-converter/build.gradle +++ b/cassandra-analytics-spark-four-zero-converter/build.gradle @@ -21,6 +21,8 @@ plugins { id('java-library') } +apply from: "$rootDir/gradle/common/publishing.gradle" + configurations { all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12') all*.exclude(group: 'log4j', module: 'log4j') diff --git a/cassandra-avro-converter/build.gradle b/cassandra-avro-converter/build.gradle index da6113ac..edb3d22d 100644 --- a/cassandra-avro-converter/build.gradle +++ b/cassandra-avro-converter/build.gradle @@ -22,15 +22,13 @@ plugins { id('maven-publish') } +apply from: "$rootDir/gradle/common/publishing-spark.gradle" + configurations { all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12') all*.exclude(group: 'log4j', module: 'log4j') } -if (propertyWithDefault("artifactType", null) == "spark") -{ - apply from: "$rootDir/gradle/common/publishing.gradle" -} dependencies { api(project(':cassandra-bridge')) diff --git a/cassandra-bridge/build.gradle b/cassandra-bridge/build.gradle index a61064cc..2f9451b7 100644 --- a/cassandra-bridge/build.gradle +++ b/cassandra-bridge/build.gradle @@ -26,10 +26,7 @@ plugins { id 'maven-publish' } -if (propertyWithDefault("artifactType", null) == "spark") -{ - apply from: "$rootDir/gradle/common/publishing.gradle" -} +apply from: "$rootDir/gradle/common/publishing-spark.gradle" java { withJavadocJar() diff --git a/cassandra-five-zero-avro-converter/build.gradle b/cassandra-five-zero-avro-converter/build.gradle index d32d6bce..a20658b7 100644 --- a/cassandra-five-zero-avro-converter/build.gradle +++ b/cassandra-five-zero-avro-converter/build.gradle @@ -21,6 +21,8 @@ plugins { id('java-library') } +apply from: "$rootDir/gradle/common/publishing.gradle" + configurations { all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12') all*.exclude(group: 'log4j', module: 'log4j') diff --git a/cassandra-five-zero-bridge/build.gradle b/cassandra-five-zero-bridge/build.gradle index 31882e13..e23cfb1a 100644 --- a/cassandra-five-zero-bridge/build.gradle +++ b/cassandra-five-zero-bridge/build.gradle @@ -23,6 +23,8 @@ plugins { id('java-library') } +apply from: "$rootDir/gradle/common/publishing.gradle" + configurations { all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12') all*.exclude(group: 'log4j', module: 'log4j') diff --git a/cassandra-five-zero-types/build.gradle b/cassandra-five-zero-types/build.gradle index b48749ca..6dfee75e 100644 --- a/cassandra-five-zero-types/build.gradle +++ b/cassandra-five-zero-types/build.gradle @@ -23,6 +23,8 @@ plugins { id('java-library') } +apply from: "$rootDir/gradle/common/publishing.gradle" + configurations { all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12') all*.exclude(group: 'log4j', module: 'log4j') diff --git a/cassandra-four-zero-avro-converter/build.gradle b/cassandra-four-zero-avro-converter/build.gradle index 34824b5f..96bd9ed8 100644 --- a/cassandra-four-zero-avro-converter/build.gradle +++ b/cassandra-four-zero-avro-converter/build.gradle @@ -21,6 +21,8 @@ plugins { id('java-library') } +apply from: "$rootDir/gradle/common/publishing.gradle" + configurations { all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12') all*.exclude(group: 'log4j', module: 'log4j') diff --git a/cassandra-four-zero-bridge/build.gradle b/cassandra-four-zero-bridge/build.gradle index be3f86fd..2ac52c2d 100644 --- a/cassandra-four-zero-bridge/build.gradle +++ b/cassandra-four-zero-bridge/build.gradle @@ -23,6 +23,8 @@ plugins { id('java-library') } +apply from: "$rootDir/gradle/common/publishing.gradle" + configurations { all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12') all*.exclude(group: 'log4j', module: 'log4j') diff --git a/cassandra-four-zero-types/build.gradle b/cassandra-four-zero-types/build.gradle index 0d8580bb..cbcc03c0 100644 --- a/cassandra-four-zero-types/build.gradle +++ b/cassandra-four-zero-types/build.gradle @@ -23,6 +23,8 @@ plugins { id('java-library') } +apply from: "$rootDir/gradle/common/publishing.gradle" + configurations { all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12') all*.exclude(group: 'log4j', module: 'log4j') diff --git a/gradle.properties b/gradle.properties index adb19cad..de3c9b84 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,8 +16,8 @@ # under the License. group=org.apache.cassandra -version=0.3-SNAPSHOT -snapshot=true +version=0.100 +snapshot=false description=Apache Cassandra Analytics analyticsJDKLevel=11 diff --git a/gradle/common/publishing-non-spark.gradle b/gradle/common/publishing-non-spark.gradle index b37ddcbd..1ef09ee5 100644 --- a/gradle/common/publishing-non-spark.gradle +++ b/gradle/common/publishing-non-spark.gradle @@ -56,8 +56,10 @@ publishing { } } - if (mavenRepositoryUrl != "") { - repositories { + repositories { + mavenLocal() + + if (mavenRepositoryUrl != "") { maven { url = mavenRepositoryUrl if (mavenUsername != "" && mavenPassword != "") { diff --git a/publish-local.sh b/publish-local.sh new file mode 100755 index 00000000..a6d295da --- /dev/null +++ b/publish-local.sh @@ -0,0 +1,129 @@ +#!/bin/bash + +# 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. + +# Script to publish all Cassandra Analytics JARs to Maven local repository +# Version: 0.100 + +set -e + +# Set JDK 11 +export JAVA_HOME=/Library/Java/JavaVirtualMachines/applejdk-11.jdk/Contents/Home +export PATH=$JAVA_HOME/bin:$PATH + +# Configuration +VERSION="0.100" +GROUP_ID="org.apache.cassandra" +MAVEN_LOCAL_REPO="${HOME}/.m2/repository" +GROUP_PATH="${MAVEN_LOCAL_REPO}/org/apache/cassandra" + +echo "========================================" +echo "Publishing Cassandra Analytics JARs" +echo "Version: ${VERSION}" +echo "Java Home: ${JAVA_HOME}" +echo "Maven Local: ${MAVEN_LOCAL_REPO}" +echo "========================================" +echo + +# Verify Java version +echo "Checking Java version..." +java -version +echo + +# Step 1: Remove existing JARs with version 0.100 from Maven local +echo "Step 1: Removing existing version ${VERSION} from Maven local..." +if [ -d "${GROUP_PATH}" ]; then + # Find all directories with version 0.100 + FOUND_DIRS=$(find "${GROUP_PATH}" -type d -name "${VERSION}" 2>/dev/null || true) + + if [ -n "$FOUND_DIRS" ]; then + echo "Found artifacts with version ${VERSION}:" + echo "$FOUND_DIRS" + echo + echo "Removing..." + find "${GROUP_PATH}" -type d -name "${VERSION}" -exec rm -rf {} + 2>/dev/null || true + echo "Removed version ${VERSION} artifacts" + else + echo "No existing artifacts with version ${VERSION} found" + fi +else + echo "Maven local repository path does not exist yet: ${GROUP_PATH}" +fi +echo + +# Step 2: Verify removal +echo "Step 2: Verifying removal..." +REMAINING=$(find "${GROUP_PATH}" -type d -name "${VERSION}" 2>/dev/null || true) +if [ -z "$REMAINING" ]; then + echo "✓ Successfully verified: No version ${VERSION} artifacts remain" +else + echo "✗ Warning: Some version ${VERSION} artifacts still exist:" + echo "$REMAINING" + exit 1 +fi +echo + +# Step 3: Publish to Maven local (skipping tests, RAT checks, and clean) +echo "Step 3: Publishing to Maven local..." +./gradlew publishToMavenLocal -PskipSigning -x test -x rat -x check --no-daemon --parallel +echo "✓ Publishing completed" +echo + +# Step 4: Verify published JARs +echo "Step 4: Verifying published JARs in Maven local..." +echo + +if [ ! -d "${GROUP_PATH}" ]; then + echo "✗ Error: Maven local repository path does not exist: ${GROUP_PATH}" + exit 1 +fi + +# Find all published artifacts with version 0.100 +PUBLISHED_ARTIFACTS=$(find "${GROUP_PATH}" -type d -name "${VERSION}" 2>/dev/null || true) + +if [ -z "$PUBLISHED_ARTIFACTS" ]; then + echo "✗ Error: No artifacts with version ${VERSION} found in Maven local" + exit 1 +fi + +echo "✓ Found published artifacts with version ${VERSION}:" +echo "$PUBLISHED_ARTIFACTS" | while read -r artifact_dir; do + ARTIFACT_NAME=$(basename "$(dirname "$artifact_dir")") + echo " - ${ARTIFACT_NAME}:${VERSION}" + + # List JAR files in the artifact directory + JAR_FILES=$(find "$artifact_dir" -type f -name "*.jar" 2>/dev/null || true) + if [ -n "$JAR_FILES" ]; then + echo "$JAR_FILES" | while read -r jar_file; do + JAR_SIZE=$(ls -lh "$jar_file" | awk '{print $5}') + echo " └── $(basename "$jar_file") (${JAR_SIZE})" + done + fi +done + +echo +echo "========================================" +echo "✓ Successfully published all JARs to Maven local!" +echo "========================================" +echo +echo "Summary:" +echo " Group ID: ${GROUP_ID}" +echo " Version: ${VERSION}" +echo " Location: ${GROUP_PATH}" +echo +echo "You can now use these artifacts in your projects by adding them as dependencies." --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
