You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by be...@apache.org on 2025/06/16 11:58:57 UTC
(cassandra-analytics) branch trunk updated: CASSANALYTICS-22: Release scripts (#113)
This is an automated email from the ASF dual-hosted git repository.
bernardobotella pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra-analytics.git
The following commit(s) were added to refs/heads/trunk by this push:
new bb66e570 CASSANALYTICS-22: Release scripts (#113)
bb66e570 is described below
commit bb66e570d869097001dd3061d36819d31f5ec718
Author: Bernardo Botella <bb...@users.noreply.github.com>
AuthorDate: Mon Jun 16 13:58:53 2025 +0200
CASSANALYTICS-22: Release scripts (#113)
Patch by Bernardo Botella, reviewed by Francisco Guerrero for CASSANALYTICS-22
---
analytics-sidecar-vertx-client-shaded/build.gradle | 2 +
build.gradle | 39 ++++++++++
cassandra-analytics-cdc-codec/build.gradle | 16 +---
cassandra-analytics-cdc-sidecar/build.gradle | 13 +---
cassandra-analytics-cdc/build.gradle | 13 +---
cassandra-analytics-common/build.gradle | 16 +---
cassandra-analytics-core/build.gradle | 13 +---
cassandra-analytics-spark-converter/build.gradle | 13 +---
cassandra-bridge/build.gradle | 13 +---
gradle.properties | 6 +-
gradle/common/publishing.gradle | 88 ++++++++++++++++++++++
11 files changed, 144 insertions(+), 88 deletions(-)
diff --git a/analytics-sidecar-vertx-client-shaded/build.gradle b/analytics-sidecar-vertx-client-shaded/build.gradle
index 77262327..3a2fe518 100644
--- a/analytics-sidecar-vertx-client-shaded/build.gradle
+++ b/analytics-sidecar-vertx-client-shaded/build.gradle
@@ -39,6 +39,8 @@ version project.version
sourceCompatibility = 1.8
+apply from: "$rootDir/gradle/common/publishing.gradle"
+
configurations {
all*.exclude(group: 'ch.qos.logback')
}
diff --git a/build.gradle b/build.gradle
index b4da87e5..730b4d0d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -27,6 +27,8 @@ plugins {
id 'java-library'
id 'com.github.johnrengelman.shadow' version '8.1.1'
+ id 'distribution'
+
// Release Audit Tool (RAT) plugin for checking project licenses
id("org.nosphere.apache.rat") version "0.8.1"
}
@@ -254,6 +256,43 @@ subprojects {
}
}
+distributions {
+ main {
+ distributionBaseName = 'apache-cassandra-analytics'
+ contents {
+ from 'LICENSE.txt'
+ setDuplicatesStrategy(DuplicatesStrategy.INCLUDE)
+ }
+ }
+ // Packages the sources as a tarball for distribution
+ sources {
+ distributionBaseName = 'apache-cassandra-analytics'
+ distributionClassifier = 'src'
+ contents {
+ from '.'
+ include '**/*.*'
+ exclude '**.gradle/**'
+ exclude '**.idea/**'
+ exclude 'bin/**'
+ exclude 'dependencies/**'
+ exclude '**lib/**'
+ exclude '**logs/**'
+ exclude '**/build/**'
+ exclude '**/out/**'
+ exclude '**/target/**'
+ }
+ }
+}
+
+tasks.named('distTar').configure {
+ compression = Compression.GZIP
+ archiveExtension = "tar.gz"
+}
+
+tasks.named('sourcesDistTar').configure {
+ compression = Compression.GZIP
+ archiveExtension = "tar.gz"
+}
ext {
// A common method to handle loading gradle properties with a default when
diff --git a/cassandra-analytics-cdc-codec/build.gradle b/cassandra-analytics-cdc-codec/build.gradle
index 63944d0b..7fc395df 100644
--- a/cassandra-analytics-cdc-codec/build.gradle
+++ b/cassandra-analytics-cdc-codec/build.gradle
@@ -24,21 +24,7 @@ plugins {
id('maven-publish')
}
-java {
- withJavadocJar()
- withSourcesJar()
-}
-
-publishing {
- publications {
- maven(MavenPublication) {
- from components.java
- groupId project.group
- artifactId "${archivesBaseName}"
- version System.getenv("CODE_VERSION") ?: "${version}"
- }
- }
-}
+apply from: "$rootDir/gradle/common/publishing.gradle"
dependencies {
api(project(':cassandra-bridge'))
diff --git a/cassandra-analytics-cdc-sidecar/build.gradle b/cassandra-analytics-cdc-sidecar/build.gradle
index 69bef0d9..dfe51c29 100644
--- a/cassandra-analytics-cdc-sidecar/build.gradle
+++ b/cassandra-analytics-cdc-sidecar/build.gradle
@@ -24,6 +24,8 @@ plugins {
id('maven-publish')
}
+apply from: "$rootDir/gradle/common/publishing.gradle"
+
configurations {
all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12')
all*.exclude(group: 'log4j', module: 'log4j')
@@ -34,17 +36,6 @@ java {
withSourcesJar()
}
-publishing {
- publications {
- maven(MavenPublication) {
- from components.java
- groupId project.group
- artifactId "${archivesBaseName}"
- version System.getenv("CODE_VERSION") ?: "${version}"
- }
- }
-}
-
configurations {
fourzero {
description = 'Cassandra 4.0 dependency'
diff --git a/cassandra-analytics-cdc/build.gradle b/cassandra-analytics-cdc/build.gradle
index 8bd9f3db..2ca875dc 100644
--- a/cassandra-analytics-cdc/build.gradle
+++ b/cassandra-analytics-cdc/build.gradle
@@ -24,22 +24,13 @@ plugins {
id('maven-publish')
}
+apply from: "$rootDir/gradle/common/publishing.gradle"
+
configurations {
all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12')
all*.exclude(group: 'log4j', module: 'log4j')
}
-publishing {
- publications {
- maven(MavenPublication) {
- from components.java
- groupId project.group
- artifactId "${archivesBaseName}"
- version System.getenv("CODE_VERSION") ?: "${version}"
- }
- }
-}
-
configurations {
fourzero {
description = 'Cassandra 4.0 dependency'
diff --git a/cassandra-analytics-common/build.gradle b/cassandra-analytics-common/build.gradle
index f350e3c5..13320396 100644
--- a/cassandra-analytics-common/build.gradle
+++ b/cassandra-analytics-common/build.gradle
@@ -24,21 +24,7 @@ plugins {
id('maven-publish')
}
-java {
- withJavadocJar()
- withSourcesJar()
-}
-
-publishing {
- publications {
- maven(MavenPublication) {
- from components.java
- groupId project.group
- artifactId "${archivesBaseName}"
- version System.getenv("CODE_VERSION") ?: "${version}"
- }
- }
-}
+apply from: "$rootDir/gradle/common/publishing.gradle"
dependencies {
implementation("org.slf4j:slf4j-api:${slf4jApiVersion}")
diff --git a/cassandra-analytics-core/build.gradle b/cassandra-analytics-core/build.gradle
index 74edb9b2..fb1724db 100644
--- a/cassandra-analytics-core/build.gradle
+++ b/cassandra-analytics-core/build.gradle
@@ -25,6 +25,8 @@ plugins {
id('maven-publish')
}
+apply from: "$rootDir/gradle/common/publishing.gradle"
+
java {
withJavadocJar()
withSourcesJar()
@@ -35,17 +37,6 @@ java {
}
}
-publishing {
- publications {
- maven(MavenPublication) {
- from components.java
- groupId project.group
- artifactId "${archivesBaseName}"
- version System.getenv("CODE_VERSION") ?: "${version}"
- }
- }
-}
-
configurations {
fourzero {
description = 'Cassandra 4.0 dependency'
diff --git a/cassandra-analytics-spark-converter/build.gradle b/cassandra-analytics-spark-converter/build.gradle
index cf4ca383..73c2290f 100644
--- a/cassandra-analytics-spark-converter/build.gradle
+++ b/cassandra-analytics-spark-converter/build.gradle
@@ -22,22 +22,13 @@ plugins {
id('maven-publish')
}
+apply from: "$rootDir/gradle/common/publishing.gradle"
+
configurations {
all*.exclude(group: 'org.slf4j', module: 'slf4j-log4j12')
all*.exclude(group: 'log4j', module: 'log4j')
}
-publishing {
- publications {
- maven(MavenPublication) {
- from components.java
- groupId project.group
- artifactId "${archivesBaseName}"
- version System.getenv("CODE_VERSION") ?: "${version}"
- }
- }
-}
-
dependencies {
compileOnly project(":cassandra-analytics-common")
compileOnly(group: "${sparkGroupId}", name: "spark-core_${scalaMajorVersion}", version: "${project.rootProject.sparkVersion}")
diff --git a/cassandra-bridge/build.gradle b/cassandra-bridge/build.gradle
index f1acf7e2..7b3895f9 100644
--- a/cassandra-bridge/build.gradle
+++ b/cassandra-bridge/build.gradle
@@ -26,22 +26,13 @@ plugins {
id 'maven-publish'
}
+apply from: "$rootDir/gradle/common/publishing.gradle"
+
java {
withJavadocJar()
withSourcesJar()
}
-publishing {
- publications {
- maven(MavenPublication) {
- from components.java
- groupId project.group
- artifactId "${archivesBaseName}"
- version System.getenv("CODE_VERSION") ?: "${version}"
- }
- }
-}
-
dependencies {
api(project(':cassandra-analytics-common'))
diff --git a/gradle.properties b/gradle.properties
index 749e6e15..6e57b9ec 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -15,10 +15,10 @@
# specific language governing permissions and limitations
# under the License.
-group=org.apache.cassandra.spark
-version=1.0.0
+group=org.apache.cassandra
+version=0.1.0
snapshot=true
-description=Apache Cassandra Spark Analytics
+description=Apache Cassandra Analytics
analyticsJDKLevel=11
cassandra40Version=4.0.17
diff --git a/gradle/common/publishing.gradle b/gradle/common/publishing.gradle
new file mode 100644
index 00000000..b37ddcbd
--- /dev/null
+++ b/gradle/common/publishing.gradle
@@ -0,0 +1,88 @@
+/*
+ * 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.
+ */
+
+apply plugin: 'maven-publish'
+apply plugin: 'signing'
+
+ext {
+ mavenRepositoryUrl = propertyWithDefault("maven.repository.url", "")
+ // These properties can be set in ~/.gradle/gradle.properties file,
+ // though it would be open text. They can also be set on the cli via
+ // -Pmaven.username and -Pmaven.password
+ mavenUsername = propertyWithDefault("maven.username", "")
+ mavenPassword = propertyWithDefault("maven.password", "")
+}
+
+java {
+ withJavadocJar()
+ withSourcesJar()
+}
+
+publishing {
+ publications {
+ maven(MavenPublication) {
+ from components.java
+ 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"
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (mavenRepositoryUrl != "") {
+ repositories {
+ maven {
+ url = mavenRepositoryUrl
+ if (mavenUsername != "" && mavenPassword != "") {
+ credentials {
+ username = mavenUsername
+ password = mavenPassword
+ }
+ }
+ }
+ }
+ }
+}
+
+signing {
+ required { shouldSign }
+ if (shouldSign) {
+ // Use gpg-agent to sign
+ useGpgCmd()
+ }
+
+ sign publishing.publications
+}
+
+javadoc {
+ if (JavaVersion.current().isJava9Compatible()) {
+ options.addBooleanOption('html5', true)
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org