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/11/14 16:55:49 UTC
(cassandra-analytics) branch CASSANALYTICS-105-fix-dist-artifacts created (now fe734d99)
This is an automated email from the ASF dual-hosted git repository.
bernardobotella pushed a change to branch CASSANALYTICS-105-fix-dist-artifacts
in repository https://gitbox.apache.org/repos/asf/cassandra-analytics.git
at fe734d99 Fix gradle generated artifacts
This branch includes the following new commits:
new fe734d99 Fix gradle generated artifacts
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org
(cassandra-analytics) 01/01: Fix gradle generated artifacts
Posted by be...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bernardobotella pushed a commit to branch CASSANALYTICS-105-fix-dist-artifacts
in repository https://gitbox.apache.org/repos/asf/cassandra-analytics.git
commit fe734d99b620b94262753cfd28e38871def67bcf
Author: Bernardo Botella Corbi <be...@apple.com>
AuthorDate: Fri Nov 14 08:55:31 2025 -0800
Fix gradle generated artifacts
---
CHANGES.txt | 1 +
build.gradle | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
2 files changed, 82 insertions(+), 3 deletions(-)
diff --git a/CHANGES.txt b/CHANGES.txt
index 1ea15c25..0f2bab39 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,6 @@
0.2.0
-----
+ * Generated distribution artifacts fix (CASSANALYTICS-105)
* Fix SSTable descriptor mismatch preventing newly produced SSTables from being uploaded (CASSANALYTICS-98)
* Expose SidecarCdc builders and interfaces (CASSANALYTICS-94)
* Fix bulk reader node availability comparator ordering (CASSANALYTICS-99)
diff --git a/build.gradle b/build.gradle
index c5839ac2..a11100fc 100644
--- a/build.gradle
+++ b/build.gradle
@@ -28,6 +28,7 @@ plugins {
id 'com.github.johnrengelman.shadow' version '8.1.1'
id 'distribution'
+ id 'signing'
// Release Audit Tool (RAT) plugin for checking project licenses
id("org.nosphere.apache.rat") version "0.8.1"
@@ -257,10 +258,21 @@ distributions {
main {
distributionBaseName = 'apache-cassandra-analytics'
contents {
- from 'LICENSE.txt'
- setDuplicatesStrategy(DuplicatesStrategy.INCLUDE)
+ from('.') {
+ include 'LICENSE.txt'
+ include 'NOTICE.txt'
+ include 'CHANGES.txt'
+ }
+
+ // Include all project JARs in lib/ directory
+ into('lib') {
+ from subprojects.collect { it.tasks.withType(Jar) }
+ }
+
+ setDuplicatesStrategy(DuplicatesStrategy.EXCLUDE)
}
}
+
// Packages the sources as a tarball for distribution
sources {
distributionBaseName = 'apache-cassandra-analytics'
@@ -268,7 +280,11 @@ distributions {
contents {
from '.'
include '**/*.*'
- exclude '**.gradle/**'
+ include 'scripts/mvnw'
+ include 'gradlew'
+ include 'build.gradle'
+ exclude '**/.gradle/**'
+ exclude 'gradle/wrapper/gradle-wrapper.jar'
exclude '**.idea/**'
exclude 'bin/**'
exclude 'dependencies/**'
@@ -338,3 +354,65 @@ ext {
&& project.gradle.startParameter.taskNames.any { it.contains("upload") })
}
+
+signing {
+ required { shouldSign }
+ if (shouldSign) {
+ useGpgCmd()
+ }
+ sign distZip
+ sign distTar
+ sign sourcesDistTar
+ sign sourcesDistZip
+}
+
+// Generate SHA-256 and SHA-512 checksums for distribution artifacts
+// Required for Apache releases
+tasks.register('generateDistributionChecksums') {
+ description = 'Generates SHA-256 and SHA-512 checksums for distribution artifacts'
+ group = 'distribution'
+
+ dependsOn distTar, distZip, sourcesDistTar, sourcesDistZip
+
+ doLast {
+ println "Generating checksums for distribution archives..."
+ [distTar, distZip, sourcesDistTar, sourcesDistZip].each { task ->
+ def archive = task.archiveFile.get().asFile
+
+ if (archive.exists()) {
+ // Generate SHA-256 checksum
+ def sha256File = new File("${archive}.sha256")
+ def sha256 = java.security.MessageDigest.getInstance("SHA-256")
+ archive.withInputStream { is ->
+ def buffer = new byte[8192]
+ int read
+ while ((read = is.read(buffer)) != -1) {
+ sha256.update(buffer, 0, read)
+ }
+ }
+ sha256File.text = sha256.digest().encodeHex().toString() + " " + archive.name
+
+ // Generate SHA-512 checksum
+ def sha512File = new File("${archive}.sha512")
+ def sha512 = java.security.MessageDigest.getInstance("SHA-512")
+ archive.withInputStream { is ->
+ def buffer = new byte[8192]
+ int read
+ while ((read = is.read(buffer)) != -1) {
+ sha512.update(buffer, 0, read)
+ }
+ }
+ sha512File.text = sha512.digest().encodeHex().toString() + " " + archive.name
+ } else {
+ println " ✗ Archive not found: ${archive.absolutePath}"
+ }
+ }
+ }
+}
+
+distTar.finalizedBy generateDistributionChecksums
+distZip.finalizedBy generateDistributionChecksums
+sourcesDistTar.finalizedBy generateDistributionChecksums
+sourcesDistZip.finalizedBy generateDistributionChecksums
+assembleDist.finalizedBy generateDistributionChecksums
+assembleSourcesDist.finalizedBy generateDistributionChecksums
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org