This is an automated email from the ASF dual-hosted git repository.
frankgh pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra-sidecar.git
The following commit(s) were added to refs/heads/trunk by this push:
new e83d09ca CASSSIDECAR-218: Additional changes to the build process for
the release (#199)
e83d09ca is described below
commit e83d09ca6ce5e9d674f6a207e23c267cf5a46480
Author: Francisco Guerrero <[email protected]>
AuthorDate: Tue Feb 25 13:03:29 2025 -0800
CASSSIDECAR-218: Additional changes to the build process for the release
(#199)
Patch by Francisco Guerrero; reviewed by Yifan Cai for CASSSIDECAR-218
---
.circleci/config.yml | 32 +++---
adapters/{base => adapters-base}/build.gradle | 19 +---
.../sidecar/adapters/base/CassandraAdapter.java | 0
.../base/CassandraClusterMembershipOperations.java | 0
.../sidecar/adapters/base/CassandraFactory.java | 0
.../adapters/base/CassandraMetricsOperations.java | 0
.../adapters/base/CassandraStorageOperations.java | 0
.../adapters/base/CassandraTableOperations.java | 0
.../cassandra/sidecar/adapters/base/NodeInfo.java | 0
.../sidecar/adapters/base/RingProvider.java | 0
.../adapters/base/TokenRangeReplicaProvider.java | 0
.../adapters/base/data/CompositeDataUtil.java | 0
.../sidecar/adapters/base/data/ProgressInfo.java | 0
.../sidecar/adapters/base/data/SessionInfo.java | 0
.../sidecar/adapters/base/data/StreamState.java | 0
.../sidecar/adapters/base/data/StreamSummary.java | 0
.../adapters/base/db/ConnectedClientStats.java | 0
.../db/ConnectedClientStatsDatabaseAccessor.java | 0
.../base/db/ConnectedClientStatsSummary.java | 0
.../base/db/schema/ConnectedClientsSchema.java | 0
.../exception/OperationUnavailableException.java | 0
.../base/jmx/ClusterMembershipJmxOperations.java | 0
.../base/jmx/EndpointSnitchJmxOperations.java | 0
.../jmx/GossipDependentStorageJmxOperations.java | 0
.../adapters/base/jmx/MetricsJmxOperations.java | 0
.../adapters/base/jmx/StorageJmxOperations.java | 0
.../base/jmx/StreamManagerJmxOperations.java | 0
.../adapters/base/jmx/TableJmxOperations.java | 0
.../base/TokenRangeReplicaProviderTest.java | 0
.../adapters/base/db/ConnectedClientStatsTest.java | 0
.../build.gradle | 17 +---
.../adapters/cassandra41/Cassandra41Adapter.java | 0
.../adapters/cassandra41/Cassandra41Factory.java | 0
.../cassandra41/Cassandra41StorageOperations.java | 0
build.gradle | 111 +++++++++++++++++++--
client-common/build.gradle | 26 +----
client/build.gradle | 30 +-----
gradle.properties | 2 +-
gradle/common/integrationTestTask.gradle | 4 +-
gradle/common/publishing.gradle | 88 ++++++++++++++++
integration-framework/build.gradle | 10 +-
server-common/build.gradle | 23 +----
server/build.gradle | 21 +---
settings.gradle | 4 +-
vertx-auth-mtls/build.gradle | 24 +----
vertx-client-shaded/build.gradle | 50 +++++++++-
vertx-client/build.gradle | 26 +----
47 files changed, 275 insertions(+), 212 deletions(-)
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 13d56ba7..6622e172 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -278,14 +278,14 @@ jobs:
- checkout
- run: sudo apt --fix-broken install
- run: ./gradlew --info clean buildDeb
- - run: DEBIAN_FRONTEND=noninteractive sudo apt install -y
./build/distributions/cassandra-sidecar*.deb
- - run: test -f /opt/cassandra-sidecar/bin/cassandra-sidecar
- - run: test -f /opt/cassandra-sidecar/agents/jolokia-core-*.jar
- - run: test -f /opt/cassandra-sidecar/agents/jolokia-jvm-*.jar
- - run: test -f /opt/cassandra-sidecar/conf/sidecar.yaml
- - run: test -f /opt/cassandra-sidecar/conf/logback.xml
- - run: test -f /opt/cassandra-sidecar/LICENSE.txt
- - run: test -f /opt/cassandra-sidecar/lib/cassandra-sidecar-*.jar
+ - run: DEBIAN_FRONTEND=noninteractive sudo apt install -y
./build/distributions/apache-cassandra-sidecar*.deb
+ - run: test -f /opt/apache-cassandra-sidecar/bin/cassandra-sidecar
+ - run: test -f /opt/apache-cassandra-sidecar/agents/jolokia-core-*.jar
+ - run: test -f /opt/apache-cassandra-sidecar/agents/jolokia-jvm-*.jar
+ - run: test -f /opt/apache-cassandra-sidecar/conf/sidecar.yaml
+ - run: test -f /opt/apache-cassandra-sidecar/conf/logback.xml
+ - run: test -f /opt/apache-cassandra-sidecar/LICENSE.txt
+ - run: test -f /opt/apache-cassandra-sidecar/lib/cassandra-sidecar-*.jar
# ensures we can build and install rpm packages
rpm_build_install:
@@ -295,14 +295,14 @@ jobs:
- run: sudo apt-get update && sudo apt install dnf
- checkout
- run: ./gradlew -i buildRpm
- - run: sudo dnf install -y ./build/distributions/cassandra-sidecar*.rpm
- - run: test -f /opt/cassandra-sidecar/bin/cassandra-sidecar
- - run: test -f /opt/cassandra-sidecar/agents/jolokia-core-*.jar
- - run: test -f /opt/cassandra-sidecar/agents/jolokia-jvm-*.jar
- - run: test -f /opt/cassandra-sidecar/conf/sidecar.yaml
- - run: test -f /opt/cassandra-sidecar/conf/logback.xml
- - run: test -f /opt/cassandra-sidecar/LICENSE.txt
- - run: test -f /opt/cassandra-sidecar/lib/cassandra-sidecar-*.jar
+ - run: sudo dnf install -y
./build/distributions/apache-cassandra-sidecar*.rpm
+ - run: test -f /opt/apache-cassandra-sidecar/bin/cassandra-sidecar
+ - run: test -f /opt/apache-cassandra-sidecar/agents/jolokia-core-*.jar
+ - run: test -f /opt/apache-cassandra-sidecar/agents/jolokia-jvm-*.jar
+ - run: test -f /opt/apache-cassandra-sidecar/conf/sidecar.yaml
+ - run: test -f /opt/apache-cassandra-sidecar/conf/logback.xml
+ - run: test -f /opt/apache-cassandra-sidecar/LICENSE.txt
+ - run: test -f /opt/apache-cassandra-sidecar/lib/cassandra-sidecar-*.jar
docker_build:
docker:
diff --git a/adapters/base/build.gradle b/adapters/adapters-base/build.gradle
similarity index 85%
rename from adapters/base/build.gradle
rename to adapters/adapters-base/build.gradle
index 2bed834f..e052a92b 100644
--- a/adapters/base/build.gradle
+++ b/adapters/adapters-base/build.gradle
@@ -18,8 +18,6 @@
*/
-import org.apache.tools.ant.taskdefs.condition.Os
-
import java.nio.file.Paths
plugins {
@@ -30,14 +28,10 @@ plugins {
id "com.github.spotbugs"
}
-version project.version
+apply from: "$rootDir/gradle/common/publishing.gradle"
sourceCompatibility = JavaVersion.VERSION_11
-repositories {
- mavenCentral()
-}
-
test {
useJUnitPlatform()
maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
@@ -69,14 +63,3 @@ dependencies {
testImplementation('org.mockito:mockito-inline:4.10.0')
}
-
-publishing {
- publications {
- maven(MavenPublication) {
- from components.java
- groupId rootProject.group
- artifactId "sidecar-adapters-base"
- version System.getenv("CODE_VERSION") ?: "${version}"
- }
- }
-}
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraAdapter.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraAdapter.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraAdapter.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraAdapter.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraClusterMembershipOperations.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraClusterMembershipOperations.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraClusterMembershipOperations.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraClusterMembershipOperations.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraFactory.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraFactory.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraFactory.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraFactory.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraMetricsOperations.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraMetricsOperations.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraMetricsOperations.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraMetricsOperations.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraStorageOperations.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraStorageOperations.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraStorageOperations.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraStorageOperations.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraTableOperations.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraTableOperations.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraTableOperations.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/CassandraTableOperations.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/NodeInfo.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/NodeInfo.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/NodeInfo.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/NodeInfo.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/RingProvider.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/RingProvider.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/RingProvider.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/RingProvider.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/TokenRangeReplicaProvider.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/TokenRangeReplicaProvider.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/TokenRangeReplicaProvider.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/TokenRangeReplicaProvider.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/CompositeDataUtil.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/CompositeDataUtil.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/CompositeDataUtil.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/CompositeDataUtil.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/ProgressInfo.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/ProgressInfo.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/ProgressInfo.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/ProgressInfo.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/SessionInfo.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/SessionInfo.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/SessionInfo.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/SessionInfo.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/StreamState.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/StreamState.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/StreamState.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/StreamState.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/StreamSummary.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/StreamSummary.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/StreamSummary.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/data/StreamSummary.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStats.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStats.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStats.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStats.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStatsDatabaseAccessor.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStatsDatabaseAccessor.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStatsDatabaseAccessor.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStatsDatabaseAccessor.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStatsSummary.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStatsSummary.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStatsSummary.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStatsSummary.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/schema/ConnectedClientsSchema.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/schema/ConnectedClientsSchema.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/schema/ConnectedClientsSchema.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/db/schema/ConnectedClientsSchema.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/exception/OperationUnavailableException.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/exception/OperationUnavailableException.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/exception/OperationUnavailableException.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/exception/OperationUnavailableException.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/ClusterMembershipJmxOperations.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/ClusterMembershipJmxOperations.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/ClusterMembershipJmxOperations.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/ClusterMembershipJmxOperations.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/EndpointSnitchJmxOperations.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/EndpointSnitchJmxOperations.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/EndpointSnitchJmxOperations.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/EndpointSnitchJmxOperations.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/GossipDependentStorageJmxOperations.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/GossipDependentStorageJmxOperations.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/GossipDependentStorageJmxOperations.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/GossipDependentStorageJmxOperations.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/MetricsJmxOperations.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/MetricsJmxOperations.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/MetricsJmxOperations.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/MetricsJmxOperations.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/StorageJmxOperations.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/StorageJmxOperations.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/StorageJmxOperations.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/StorageJmxOperations.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/StreamManagerJmxOperations.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/StreamManagerJmxOperations.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/StreamManagerJmxOperations.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/StreamManagerJmxOperations.java
diff --git
a/adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/TableJmxOperations.java
b/adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/TableJmxOperations.java
similarity index 100%
rename from
adapters/base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/TableJmxOperations.java
rename to
adapters/adapters-base/src/main/java/org/apache/cassandra/sidecar/adapters/base/jmx/TableJmxOperations.java
diff --git
a/adapters/base/src/test/java/org/apache/cassandra/sidecar/adapters/base/TokenRangeReplicaProviderTest.java
b/adapters/adapters-base/src/test/java/org/apache/cassandra/sidecar/adapters/base/TokenRangeReplicaProviderTest.java
similarity index 100%
rename from
adapters/base/src/test/java/org/apache/cassandra/sidecar/adapters/base/TokenRangeReplicaProviderTest.java
rename to
adapters/adapters-base/src/test/java/org/apache/cassandra/sidecar/adapters/base/TokenRangeReplicaProviderTest.java
diff --git
a/adapters/base/src/test/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStatsTest.java
b/adapters/adapters-base/src/test/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStatsTest.java
similarity index 100%
rename from
adapters/base/src/test/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStatsTest.java
rename to
adapters/adapters-base/src/test/java/org/apache/cassandra/sidecar/adapters/base/db/ConnectedClientStatsTest.java
diff --git a/adapters/cassandra41/build.gradle
b/adapters/adapters-cassandra41/build.gradle
similarity index 81%
rename from adapters/cassandra41/build.gradle
rename to adapters/adapters-cassandra41/build.gradle
index 11ac1570..f669ee41 100644
--- a/adapters/cassandra41/build.gradle
+++ b/adapters/adapters-cassandra41/build.gradle
@@ -18,8 +18,6 @@
*/
-import org.apache.tools.ant.taskdefs.condition.Os
-
import java.nio.file.Paths
plugins {
@@ -29,7 +27,7 @@ plugins {
id "com.github.spotbugs"
}
-version project.version
+apply from: "$rootDir/gradle/common/publishing.gradle"
sourceCompatibility = JavaVersion.VERSION_11
@@ -48,20 +46,9 @@ test {
dependencies {
api(project(":server-common"))
- api(project(":adapters:base"))
+ api(project(":adapters:adapters-base"))
compileOnly('org.jetbrains:annotations:23.0.0')
compileOnly('com.datastax.cassandra:cassandra-driver-core:3.11.3')
implementation("org.slf4j:slf4j-api:${project.slf4jVersion}")
}
-
-publishing {
- publications {
- maven(MavenPublication) {
- from components.java
- groupId rootProject.group
- artifactId "sidecar-adapters-cassandra41"
- version System.getenv("CODE_VERSION") ?: "${version}"
- }
- }
-}
diff --git
a/adapters/cassandra41/src/main/java/org/apache/cassandra/sidecar/adapters/cassandra41/Cassandra41Adapter.java
b/adapters/adapters-cassandra41/src/main/java/org/apache/cassandra/sidecar/adapters/cassandra41/Cassandra41Adapter.java
similarity index 100%
rename from
adapters/cassandra41/src/main/java/org/apache/cassandra/sidecar/adapters/cassandra41/Cassandra41Adapter.java
rename to
adapters/adapters-cassandra41/src/main/java/org/apache/cassandra/sidecar/adapters/cassandra41/Cassandra41Adapter.java
diff --git
a/adapters/cassandra41/src/main/java/org/apache/cassandra/sidecar/adapters/cassandra41/Cassandra41Factory.java
b/adapters/adapters-cassandra41/src/main/java/org/apache/cassandra/sidecar/adapters/cassandra41/Cassandra41Factory.java
similarity index 100%
rename from
adapters/cassandra41/src/main/java/org/apache/cassandra/sidecar/adapters/cassandra41/Cassandra41Factory.java
rename to
adapters/adapters-cassandra41/src/main/java/org/apache/cassandra/sidecar/adapters/cassandra41/Cassandra41Factory.java
diff --git
a/adapters/cassandra41/src/main/java/org/apache/cassandra/sidecar/adapters/cassandra41/Cassandra41StorageOperations.java
b/adapters/adapters-cassandra41/src/main/java/org/apache/cassandra/sidecar/adapters/cassandra41/Cassandra41StorageOperations.java
similarity index 100%
rename from
adapters/cassandra41/src/main/java/org/apache/cassandra/sidecar/adapters/cassandra41/Cassandra41StorageOperations.java
rename to
adapters/adapters-cassandra41/src/main/java/org/apache/cassandra/sidecar/adapters/cassandra41/Cassandra41StorageOperations.java
diff --git a/build.gradle b/build.gradle
index 8669110a..fbec3a26 100644
--- a/build.gradle
+++ b/build.gradle
@@ -36,6 +36,8 @@ plugins {
id 'idea'
id 'java'
id 'application'
+ // Used to sign built artifacts
+ id 'signing'
// since we're using a specific version here, we delay applying the plugin
till the all projects
id "com.github.spotbugs" version "6.0.20" apply false
@@ -55,7 +57,53 @@ plugins {
id 'jacoco'
}
-ext.dependencyLocation = (System.getenv("CASSANDRA_DEP_DIR") ?:
"${rootDir}/dtest-jars") + "/"
+ext {
+ // A common method to handle loading gradle properties with a default when
+ // no definition is found. The property value is determined by the
following
+ // priority order (top is highest priority):
+ // - gradle property (-Pproperty=value)
+ // - system property (-Dproperty=value)
+ // - environment variable
+ // - default value
+ // See more details on gradle property handling here:
+ //
https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_properties_and_system_properties
+ propertyWithDefault = { property, defaultValue ->
+ def value = defaultValue
+ def envValue = System.getenv("CASSANDRA_DEP_DIR")
+ if (envValue != null) {
+ value = envValue
+ }
+ def systemValue = System.getProperty(property)
+ if (systemValue != null) {
+ value = systemValue
+ }
+ def projectValue = project.hasProperty(property) ?
project.property(property) : null
+ if (projectValue != null) {
+ value = projectValue
+ }
+ return value
+ }
+
+ // Returns true if the property has been set, otherwise false.
+ propertyExists = { property ->
+ System.getenv(property) != null || System.getProperty(property) !=
null || project.hasProperty(property)
+ }
+
+ dependencyLocation = propertyWithDefault("CASSANDRA_DEP_DIR",
"${rootDir}/dtest-jars") + "/"
+
+ // This allows simplified builds and local maven installs.
+ forceSigning = propertyExists("forceSigning")
+ skipSigning = propertyExists("skipSigning")
+ shouldSign =
+ // Always sign artifacts if -PforceSigning is passed.
+ forceSigning ||
+ // Skip signing artifacts by default if -PskipSigning is
passed.
+ (!skipSigning
+ // Sign artifacts if the version is not a
snapshot, and we are uploading them to maven.
+ && !version.endsWith("SNAPSHOT")
+ && project.gradle.startParameter.taskNames.any {
it.contains("upload") })
+
+}
// Force checkstyle, rat, and spotBugs to run before test tasks for faster
feedback
def codeCheckTasks = task("codeCheckTasks")
@@ -65,8 +113,7 @@ allprojects {
apply plugin: 'checkstyle'
// do not run spot-bug on test-specific sub-projects
- if (!it.name.startsWith('integration-') && !it.name.startsWith("test-"))
- {
+ if (!it.name.startsWith('integration-') && !it.name.startsWith("test-")) {
apply plugin: "com.github.spotbugs"
spotbugs {
toolVersion = '4.2.3'
@@ -155,6 +202,7 @@ run {
distributions {
main {
+ distributionBaseName = 'apache-cassandra-sidecar'
contents {
from 'LICENSE.txt'
// Include the "agents" directory in the distribution
@@ -168,6 +216,25 @@ distributions {
setDuplicatesStrategy(DuplicatesStrategy.INCLUDE)
}
}
+ // Packages the sources as a tarball for distribution
+ sources {
+ distributionBaseName = 'apache-cassandra-sidecar'
+ distributionClassifier = 'src'
+ contents {
+ from '.'
+ include '**/*.*'
+ exclude '**.gradle/**'
+ exclude '**.idea/**'
+ exclude 'agents/**'
+ exclude 'bin/**'
+ exclude 'dtest-jars/**'
+ exclude '**lib/**'
+ exclude '**logs/**'
+ exclude '**/build/**'
+ exclude '**/out/**'
+ exclude '**/target/**'
+ }
+ }
}
configurations {
@@ -261,23 +328,24 @@ tasks.register('copyDocs', Copy) {
* as a requirement without the install breaking if you want to use a
different version
*/
ospackage {
- packageName = "cassandra-sidecar"
+ packageName = "apache-cassandra-sidecar"
version = project.version
// ospackage puts packages into /opt/[package] by default
// which is _technically_ the right spot for packages
link("/usr/local/bin/cassandra-sidecar",
"/opt/cassandra-sidecar/bin/cassandra-sidecar")
- license "Apache License 2.0"
- description "Sidecar Management Tool for Apache Cassandra"
+ license = "Apache License 2.0"
+ summary = "Sidecar Management Tool for Apache Cassandra"
+ description = "Sidecar Management Tool for Apache Cassandra"
os = LINUX
- user "root"
+ user = "root"
}
buildRpm {
- group = "build"
+ group = "distribution"
}
buildDeb {
- group = "build"
+ group = "distribution"
}
tasks.register('buildIgnoreRatList', Exec) {
@@ -322,6 +390,8 @@ rat {
reportDir.set(file("build/reports/rat"))
}
+distZip.dependsOn copyJolokia
+distTar.dependsOn copyJolokia
installDist.dependsOn copyJolokia
check.dependsOn codeCheckTasks
if (JavaVersion.current().isJava11Compatible()) {
@@ -332,3 +402,26 @@ run.dependsOn build
tasks.named('rat').configure {
dependsOn(buildIgnoreRatList)
}
+
+tasks.named('distTar').configure {
+ compression = Compression.GZIP
+ archiveExtension = "tar.gz"
+}
+
+tasks.named('sourcesDistTar').configure {
+ compression = Compression.GZIP
+ archiveExtension = "tar.gz"
+}
+
+signing {
+ required { shouldSign }
+ if (shouldSign) {
+ // Use gpg-agent to sign
+ useGpgCmd()
+ }
+ sign distZip
+ sign distTar
+ sign sourcesDistTar
+ sign buildDeb
+ sign buildRpm
+}
diff --git a/client-common/build.gradle b/client-common/build.gradle
index a041aa8b..a2a5a06a 100644
--- a/client-common/build.gradle
+++ b/client-common/build.gradle
@@ -18,8 +18,6 @@
*/
-import org.apache.tools.ant.taskdefs.condition.Os
-
import java.nio.file.Paths
plugins {
@@ -31,7 +29,7 @@ plugins {
id 'com.github.spotbugs'
}
-version project.version
+apply from: "$rootDir/gradle/common/publishing.gradle"
sourceCompatibility = 1.8
@@ -64,25 +62,3 @@ dependencies {
testImplementation(group: 'io.netty', name: 'netty-codec-http', version:
"${project.nettyVersion}")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:${project.junitVersion}")
}
-
-java {
- withJavadocJar()
- withSourcesJar()
-}
-
-publishing {
- publications {
- maven(MavenPublication) {
- from components.java
- groupId rootProject.group
- artifactId "sidecar-${archivesBaseName}"
- version System.getenv("CODE_VERSION") ?: "${version}"
- }
- }
-}
-
-javadoc {
- if (JavaVersion.current().isJava9Compatible()) {
- options.addBooleanOption('html5', true)
- }
-}
diff --git a/client/build.gradle b/client/build.gradle
index 1921bc7d..193bf77b 100644
--- a/client/build.gradle
+++ b/client/build.gradle
@@ -17,8 +17,6 @@
*/
-import org.apache.tools.ant.taskdefs.condition.Os
-
import java.nio.file.Paths
plugins {
@@ -31,14 +29,10 @@ plugins {
id('maven-publish')
}
-version project.version
+apply from: "$rootDir/gradle/common/publishing.gradle"
sourceCompatibility = 1.8
-repositories {
- mavenCentral()
-}
-
test {
useJUnitPlatform()
testLogging {
@@ -93,26 +87,4 @@ dependencies {
testFixturesCompileOnly(group: 'io.netty', name: 'netty-codec-http',
version: "${project.nettyVersion}")
}
-java {
- withJavadocJar()
- withSourcesJar()
-}
-
-publishing {
- publications {
- maven(MavenPublication) {
- from components.java
- groupId rootProject.group
- artifactId "sidecar-${archivesBaseName}"
- version System.getenv("CODE_VERSION") ?: "${version}"
- }
- }
-}
-
-javadoc {
- if (JavaVersion.current().isJava9Compatible()) {
- options.addBooleanOption('html5', true)
- }
-}
-
check.dependsOn(checkstyleMain, checkstyleTest, jacocoTestReport)
diff --git a/gradle.properties b/gradle.properties
index 3974f7be..a8e1c5c6 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -16,7 +16,7 @@
# limitations under the License.
#
-version=1.0-SNAPSHOT
+version=0.1.0
junitVersion=5.9.2
vertxVersion=4.5.13
nettyVersion=4.1.118.Final
diff --git a/gradle/common/integrationTestTask.gradle
b/gradle/common/integrationTestTask.gradle
index c0ce425b..aa58d901 100644
--- a/gradle/common/integrationTestTask.gradle
+++ b/gradle/common/integrationTestTask.gradle
@@ -94,5 +94,5 @@ apply from:
"${project.rootDir}/gradle/common/java11Options.gradle"
task("integrationTest").dependsOn integrationTestLightWeight,
integrationTestHeavyWeight
-compileIntegrationTestJava.onlyIf { "true" !=
System.getenv("skipIntegrationTest") }
-checkstyleIntegrationTest.onlyIf { "true" !=
System.getenv("skipIntegrationTest") }
+compileIntegrationTestJava.onlyIf { !propertyExists('skipIntegrationTest') }
+checkstyleIntegrationTest.onlyIf { !propertyExists('skipIntegrationTest') }
diff --git a/gradle/common/publishing.gradle b/gradle/common/publishing.gradle
new file mode 100644
index 00000000..514310ea
--- /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 "sidecar-${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)
+ }
+}
diff --git a/integration-framework/build.gradle
b/integration-framework/build.gradle
index 9ed39d5e..e1841d49 100644
--- a/integration-framework/build.gradle
+++ b/integration-framework/build.gradle
@@ -35,8 +35,8 @@ test {
}
dependencies {
- implementation(project(":adapters:base"))
- implementation(project(":adapters:cassandra41"))
+ implementation(project(":adapters:adapters-base"))
+ implementation(project(":adapters:adapters-cassandra41"))
// The dtest jar must be a compile only dependency. We want to avoid
having this jar in the
// classpath while running integration tests. Instead, a dedicated
classloader will load the
@@ -84,6 +84,6 @@ dependencies {
api(project(path: ":server-common"))
}
-compileJava.onlyIf { "true" != System.getenv("skipIntegrationTest") }
-compileTestJava.onlyIf { "true" != System.getenv("skipIntegrationTest") }
-javadoc.onlyIf { "true" != System.getenv("skipIntegrationTest") }
+compileJava.onlyIf { !propertyExists('skipIntegrationTest') }
+compileTestJava.onlyIf { !propertyExists('skipIntegrationTest') }
+javadoc.onlyIf { !propertyExists('skipIntegrationTest') }
diff --git a/server-common/build.gradle b/server-common/build.gradle
index 163b1f03..23c90dc9 100644
--- a/server-common/build.gradle
+++ b/server-common/build.gradle
@@ -17,20 +17,15 @@
* under the License.
*/
-
-import org.apache.tools.ant.taskdefs.condition.Os
-
import java.nio.file.Paths
plugins {
id 'java-library'
id 'idea'
- id 'maven-publish'
id "com.github.spotbugs"
id 'java-test-fixtures'
}
-
-version project.version
+apply from: "$rootDir/gradle/common/publishing.gradle"
sourceCompatibility = JavaVersion.VERSION_11
@@ -65,22 +60,6 @@ dependencies {
testFixturesImplementation("org.assertj:assertj-core:3.24.2")
}
-java {
- withJavadocJar()
- withSourcesJar()
-}
-
-publishing {
- publications {
- maven(MavenPublication) {
- from components.java
- groupId rootProject.group
- artifactId "sidecar-${archivesBaseName}"
- version System.getenv("CODE_VERSION") ?: "${version}"
- }
- }
-}
-
compileTestJava {
// Required for the JmxClientTest which imports sun.rmi.server.UnicastRef
// and sun.rmi.transport.LiveRef
diff --git a/server/build.gradle b/server/build.gradle
index 39db5e6b..49d0967f 100644
--- a/server/build.gradle
+++ b/server/build.gradle
@@ -31,6 +31,7 @@ plugins {
// and produces a docker image
id('com.google.cloud.tools.jib') version '3.4.4'
}
+apply from: "$rootDir/gradle/common/publishing.gradle"
sourceCompatibility = JavaVersion.VERSION_11
@@ -145,8 +146,8 @@ dependencies {
testImplementation(testFixtures(project(":test-common")))
implementation(project(":server-common"))
- implementation(project(":adapters:base"))
- implementation(project(":adapters:cassandra41"))
+ implementation(project(":adapters:adapters-base"))
+ implementation(project(":adapters:adapters-cassandra41"))
implementation(project(":vertx-auth-mtls"))
testFixturesApi(testFixtures(project(":server-common")))
@@ -172,22 +173,6 @@ dependencies {
containerTestImplementation('com.adobe.testing:s3mock-testcontainers:2.17.0')
// 3.x version do not support java 11
}
-java {
- withJavadocJar()
- withSourcesJar()
-}
-
-publishing {
- publications {
- maven(MavenPublication) {
- from components.java
- groupId rootProject.group
- artifactId "sidecar-${archivesBaseName}"
- version System.getenv("CODE_VERSION") ?: "${version}"
- }
- }
-}
-
test {
systemProperty "vertxweb.environment", "dev"
systemProperty "vertx.logger-delegate-factory-class-name",
"io.vertx.core.logging.SLF4JLogDelegateFactory"
diff --git a/settings.gradle b/settings.gradle
index a9a85664..5d91edb0 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -27,8 +27,8 @@ include "vertx-client-shaded"
// The server code supports Java 11, but it doesn't support Java 8
if (JavaVersion.current().isJava11Compatible()) {
- include "adapters:base"
- include "adapters:cassandra41"
+ include "adapters:adapters-base"
+ include "adapters:adapters-cassandra41"
include "docs"
include "server"
include "server-common"
diff --git a/vertx-auth-mtls/build.gradle b/vertx-auth-mtls/build.gradle
index b596f2a7..2e499f26 100644
--- a/vertx-auth-mtls/build.gradle
+++ b/vertx-auth-mtls/build.gradle
@@ -25,7 +25,7 @@ plugins {
id('java-test-fixtures')
}
-version project.version
+apply from: "$rootDir/gradle/common/publishing.gradle"
sourceCompatibility = JavaVersion.VERSION_11
@@ -60,26 +60,4 @@ dependencies {
testImplementation(testFixtures(project(path: ":test-common")))
}
-java {
- withJavadocJar()
- withSourcesJar()
-}
-
-publishing {
- publications {
- maven(MavenPublication) {
- from components.java
- groupId rootProject.group
- artifactId "sidecar-${archivesBaseName}"
- version System.getenv("CODE_VERSION") ?: "${version}"
- }
- }
-}
-
-javadoc {
- if (JavaVersion.current().isJava9Compatible()) {
- options.addBooleanOption('html5', true)
- }
-}
-
check.dependsOn(checkstyleMain, checkstyleTest, jacocoTestReport)
diff --git a/vertx-client-shaded/build.gradle b/vertx-client-shaded/build.gradle
index 4bc511e2..4dd74909 100644
--- a/vertx-client-shaded/build.gradle
+++ b/vertx-client-shaded/build.gradle
@@ -89,18 +89,64 @@ tasks.named('test') {
dependsOn 'shadowJar'
}
+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", "")
+}
+
publishing {
publications {
shadow(MavenPublication) { publication ->
project.shadow.component(publication)
-
groupId rootProject.group
artifactId "sidecar-vertx-client-all"
- version System.getenv("CODE_VERSION") ?: "${version}"
+ 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
+ }
+ }
+ }
}
}
}
+apply plugin: 'signing'
+signing {
+ required { shouldSign }
+ if (shouldSign) {
+ // Use gpg-agent to sign
+ useGpgCmd()
+ }
+
+ sign publishing.publications
+}
+
/**
* A Transformer which updates the Netty JAR META-INF/ resources to accurately
* reference shaded class names.
diff --git a/vertx-client/build.gradle b/vertx-client/build.gradle
index 11ffff50..64c9651c 100644
--- a/vertx-client/build.gradle
+++ b/vertx-client/build.gradle
@@ -17,8 +17,6 @@
*/
-import org.apache.tools.ant.taskdefs.condition.Os
-
import java.nio.file.Paths
plugins {
@@ -27,7 +25,7 @@ plugins {
id('maven-publish')
}
-version project.version
+apply from: "$rootDir/gradle/common/publishing.gradle"
sourceCompatibility = 1.8
@@ -87,26 +85,4 @@ dependencies {
}
-java {
- withJavadocJar()
- withSourcesJar()
-}
-
-publishing {
- publications {
- maven(MavenPublication) {
- from components.java
- groupId rootProject.group
- artifactId "sidecar-${archivesBaseName}"
- version System.getenv("CODE_VERSION") ?: "${version}"
- }
- }
-}
-
-javadoc {
- if (JavaVersion.current().isJava9Compatible()) {
- options.addBooleanOption('html5', true)
- }
-}
-
check.dependsOn(checkstyleMain, checkstyleTest, jacocoTestReport)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]