@@ -48,7 +44,7 @@
org.hyperledger.fabric
fabric-protos
- 0.3.3
+ 0.3.7
compile
@@ -92,7 +88,7 @@
org.mockito
mockito-core
- 2.10.0
+ 5.18.0
diff --git a/examples/ledger-api/build.gradle b/examples/ledger-api/build.gradle
index ceb2a9a2..8f94a9b2 100644
--- a/examples/ledger-api/build.gradle
+++ b/examples/ledger-api/build.gradle
@@ -1,31 +1,23 @@
plugins {
- id 'com.github.johnrengelman.shadow' version '8.1.1'
+ id 'com.gradleup.shadow' version '8.3.6'
id 'java'
}
version '0.0.1'
-tasks.compileJava {
- options.release.set(11)
-}
-
repositories {
mavenCentral()
maven {
url "https://www.jitpack.io"
}
- maven {
- url "https://hyperledger.jfrog.io/hyperledger/fabric-maven"
- }
-
}
dependencies {
- compile 'org.hyperledger.fabric-chaincode-java:fabric-chaincode-shim:2.5.2'
- compile 'org.json:json:20240303'
- testImplementation 'org.junit.jupiter:junit-jupiter:5.11.0'
- testImplementation 'org.assertj:assertj-core:3.26.3'
- testImplementation 'org.mockito:mockito-core:5.13.0'
+ compile 'org.hyperledger.fabric-chaincode-java:fabric-chaincode-shim:2.5.5'
+ compile 'org.json:json:20250517'
+ testImplementation 'org.junit.jupiter:junit-jupiter:5.13.1'
+ testImplementation 'org.assertj:assertj-core:3.27.3'
+ testImplementation 'org.mockito:mockito-core:5.18.0'
}
shadowJar {
@@ -39,14 +31,14 @@ shadowJar {
}
}
+compileJava {
+ options.release.set(11)
+ options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" << "-parameters"
+}
+
test {
useJUnitPlatform()
testLogging {
- events "passed", "skipped", "failed"
+ events "PASSED", "SKIPPED", "FAILED"
}
}
-
-
-tasks.withType(JavaCompile) {
- options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" << "-parameters"
-}
diff --git a/fabric-chaincode-docker/Dockerfile b/fabric-chaincode-docker/Dockerfile
index d8ae4229..eeaf4303 100644
--- a/fabric-chaincode-docker/Dockerfile
+++ b/fabric-chaincode-docker/Dockerfile
@@ -13,8 +13,8 @@ RUN curl -s "https://get.sdkman.io" | bash
SHELL ["/bin/bash", "-c"]
RUN source /root/.sdkman/bin/sdkman-init.sh \
- && sdk install gradle 8.11.1 \
- && sdk install maven 3.9.9
+ && sdk install gradle 8.14.2 \
+ && sdk install maven 3.9.10
FROM ${JAVA_IMAGE} AS dependencies
diff --git a/fabric-chaincode-docker/build.gradle b/fabric-chaincode-docker/build.gradle
index 324b3a7c..b5dbbeb5 100644
--- a/fabric-chaincode-docker/build.gradle
+++ b/fabric-chaincode-docker/build.gradle
@@ -4,47 +4,41 @@
* SPDX-License-Identifier: Apache-2.0
*/
-buildscript {
- repositories {
- maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
- maven { url "https://www.jitpack.io" }
- mavenCentral()
- gradlePluginPortal()
- }
- dependencies {
- classpath 'com.bmuschko:gradle-docker-plugin:9.4.0'
- }
+plugins {
+ id 'com.bmuschko.docker-remote-api' version '9.4.0'
}
-apply plugin: 'com.bmuschko.docker-remote-api'
+repositories {
+ mavenCentral()
+}
import com.bmuschko.gradle.docker.tasks.image.*
-task copyLib (type: Copy) {
+tasks.register('copyLib', Copy) {
dependsOn ':fabric-chaincode-shim:build'
from project(':fabric-chaincode-shim').configurations.runtimeClasspath
into('build/distributions/chaincode-java/lib')
}
-task copyShimJar(type: Copy) {
+tasks.register('copyShimJar', Copy) {
dependsOn copyLib
from project(':fabric-chaincode-shim').jar
into('build/distributions/chaincode-java/lib')
}
-task copyStartScript(type: Copy) {
+tasks.register('copyStartScript', Copy) {
dependsOn copyShimJar
- from ('start')
- into ('build/distributions/chaincode-java')
+ from('start')
+ into('build/distributions/chaincode-java')
}
-task copyBuildScript(type: Copy) {
+tasks.register('copyBuildScript', Copy) {
dependsOn copyStartScript
- from ('build.sh')
- into ('build/distributions/chaincode-java')
+ from('build.sh')
+ into('build/distributions/chaincode-java')
}
-task copyAllDeps(type: Copy) {
+tasks.register('copyAllDeps', Copy) {
dependsOn copyBuildScript
copy {
from project(':fabric-chaincode-shim').getProjectDir()
@@ -62,7 +56,7 @@ task copyAllDeps(type: Copy) {
}
}
-task buildImage(type: DockerBuildImage) {
+tasks.register('buildImage', DockerBuildImage) {
dependsOn copyAllDeps
inputDir = project.file('Dockerfile').parentFile
images = ['hyperledger/fabric-javaenv', 'hyperledger/fabric-javaenv:2.5', 'hyperledger/fabric-javaenv:amd64-2.5.6', 'hyperledger/fabric-javaenv:amd64-latest']
diff --git a/fabric-chaincode-integration-test/build.gradle b/fabric-chaincode-integration-test/build.gradle
index 9d2b1fc7..240c506e 100644
--- a/fabric-chaincode-integration-test/build.gradle
+++ b/fabric-chaincode-integration-test/build.gradle
@@ -1,7 +1,7 @@
dependencies {
implementation project(':fabric-chaincode-docker')
implementation project(':fabric-chaincode-shim')
- implementation 'org.json:json:20240303'
+ implementation 'org.json:json:20250517'
}
@@ -12,17 +12,17 @@ dependencies {
// Show test results.
testLogging {
events "passed", "skipped", "failed"
- showExceptions true
- showCauses true
- showStandardStreams true
- exceptionFormat "full"
+ showExceptions = true
+ showCauses = true
+ showStandardStreams = true
+ exceptionFormat = "full"
}
}
-task getLatestDockerImages{
+tasks.register('getLatestDockerImages') {
doLast {
- exec {
+ providers.exec {
workingDir "."
commandLine "sh", "-c", "./getDockerImages.sh"
}
diff --git a/fabric-chaincode-integration-test/src/contracts/bare-gradle/build.gradle b/fabric-chaincode-integration-test/src/contracts/bare-gradle/build.gradle
index 5a82082e..e7479c5c 100644
--- a/fabric-chaincode-integration-test/src/contracts/bare-gradle/build.gradle
+++ b/fabric-chaincode-integration-test/src/contracts/bare-gradle/build.gradle
@@ -1,5 +1,5 @@
plugins {
- id 'com.gradleup.shadow' version '8.3.5'
+ id 'com.gradleup.shadow' version '8.3.6'
id 'java'
}
@@ -17,7 +17,6 @@ compileJava {
repositories {
mavenCentral()
- maven { url = "https://www.jitpack.io" }
maven {
url "$projectDir/repository"
}
@@ -25,7 +24,7 @@ repositories {
dependencies {
implementation 'org.hyperledger.fabric-chaincode-java:fabric-chaincode-shim:2.5.6'
- implementation 'org.hyperledger.fabric:fabric-protos:0.3.3'
+ implementation 'org.hyperledger.fabric:fabric-protos:0.3.7'
}
shadowJar {
diff --git a/fabric-chaincode-integration-test/src/contracts/fabric-ledger-api/build.gradle b/fabric-chaincode-integration-test/src/contracts/fabric-ledger-api/build.gradle
index 56c0f251..97d99090 100644
--- a/fabric-chaincode-integration-test/src/contracts/fabric-ledger-api/build.gradle
+++ b/fabric-chaincode-integration-test/src/contracts/fabric-ledger-api/build.gradle
@@ -1,5 +1,5 @@
plugins {
- id 'com.gradleup.shadow' version '8.3.5'
+ id 'com.gradleup.shadow' version '8.3.6'
id 'java'
}
@@ -17,7 +17,6 @@ compileJava {
repositories {
mavenCentral()
- maven { url = "https://www.jitpack.io" }
maven {
url "$projectDir/repository"
}
@@ -25,7 +24,7 @@ repositories {
dependencies {
implementation 'org.hyperledger.fabric-chaincode-java:fabric-chaincode-shim:2.5.6'
- implementation 'org.hyperledger.fabric:fabric-protos:0.3.3'
+ implementation 'org.hyperledger.fabric:fabric-protos:0.3.7'
}
shadowJar {
diff --git a/fabric-chaincode-integration-test/src/contracts/fabric-shim-api/build.gradle b/fabric-chaincode-integration-test/src/contracts/fabric-shim-api/build.gradle
index 06b4af17..b59cca3c 100644
--- a/fabric-chaincode-integration-test/src/contracts/fabric-shim-api/build.gradle
+++ b/fabric-chaincode-integration-test/src/contracts/fabric-shim-api/build.gradle
@@ -1,5 +1,5 @@
plugins {
- id 'com.gradleup.shadow' version '8.3.5'
+ id 'com.gradleup.shadow' version '8.3.6'
id 'java'
}
@@ -17,7 +17,6 @@ compileJava {
repositories {
mavenCentral()
- maven { url = "https://www.jitpack.io" }
maven {
url "$projectDir/repository"
}
@@ -25,9 +24,9 @@ repositories {
dependencies {
implementation 'org.hyperledger.fabric-chaincode-java:fabric-chaincode-shim:2.5.6'
- implementation 'org.hyperledger.fabric:fabric-protos:0.3.3'
- implementation 'commons-logging:commons-logging:1.2'
- implementation 'com.google.code.gson:gson:2.10.1'
+ implementation 'org.hyperledger.fabric:fabric-protos:0.3.7'
+ implementation 'commons-logging:commons-logging:1.3.5'
+ implementation 'com.google.code.gson:gson:2.13.1'
}
shadowJar {
diff --git a/fabric-chaincode-shim/build.gradle b/fabric-chaincode-shim/build.gradle
index 326225ea..896f86c8 100644
--- a/fabric-chaincode-shim/build.gradle
+++ b/fabric-chaincode-shim/build.gradle
@@ -12,7 +12,7 @@ plugins {
}
pmd {
- toolVersion = '7.12.0'
+ toolVersion = '7.14.0'
ruleSetFiles = files('../pmd-ruleset.xml')
ruleSets = [] // explicitly set to empty to avoid using the default configuration
ignoreFailures = false
@@ -31,33 +31,32 @@ tasks.withType(org.gradle.api.tasks.testing.Test) {
}
dependencies {
- implementation platform('com.google.protobuf:protobuf-bom:3.25.5')
- implementation platform('io.grpc:grpc-bom:1.68.1')
- implementation platform('io.opentelemetry:opentelemetry-bom:1.42.1')
+ implementation platform('com.google.protobuf:protobuf-bom:4.31.1')
+ implementation platform('io.grpc:grpc-bom:1.73.0')
+ implementation platform('io.opentelemetry:opentelemetry-bom:1.51.0')
- implementation 'org.hyperledger.fabric:fabric-protos:0.3.3'
- implementation 'org.bouncycastle:bcpkix-jdk18on:1.79'
- implementation 'org.bouncycastle:bcprov-jdk18on:1.79'
+ implementation 'org.hyperledger.fabric:fabric-protos:0.3.7'
+ implementation 'org.bouncycastle:bcpkix-jdk18on:1.81'
+ implementation 'org.bouncycastle:bcprov-jdk18on:1.81'
implementation 'io.github.classgraph:classgraph:4.8.179'
- implementation 'com.github.everit-org.json-schema:org.everit.json.schema:1.14.4'
- implementation 'org.json:json:20240303'
+ implementation 'com.github.erosb:everit-json-schema:1.14.6'
+ implementation 'org.json:json:20250517'
implementation 'com.google.protobuf:protobuf-java-util'
implementation 'io.grpc:grpc-netty-shaded'
implementation 'io.grpc:grpc-protobuf'
implementation 'io.grpc:grpc-stub'
testImplementation 'io.grpc:grpc-inprocess'
- // Required if using Java 11+ as no longer bundled in the core libraries
- testImplementation 'javax.xml.bind:jaxb-api:2.3.1'
implementation 'io.opentelemetry:opentelemetry-api'
- implementation 'io.opentelemetry.proto:opentelemetry-proto:1.3.2-alpha'
+ implementation 'io.opentelemetry.proto:opentelemetry-proto:1.7.0-alpha'
implementation 'io.opentelemetry:opentelemetry-sdk'
implementation 'io.opentelemetry:opentelemetry-sdk-extension-autoconfigure'
implementation 'io.opentelemetry:opentelemetry-sdk-trace'
implementation 'io.opentelemetry:opentelemetry-exporter-otlp'
implementation 'io.opentelemetry:opentelemetry-extension-trace-propagators'
- implementation 'io.opentelemetry.instrumentation:opentelemetry-grpc-1.6:2.8.0-alpha'
+ implementation 'io.opentelemetry.semconv:opentelemetry-semconv:1.32.0'
+ implementation 'io.opentelemetry.instrumentation:opentelemetry-grpc-1.6:2.16.0-alpha'
}
sourceSets {
@@ -343,10 +342,10 @@ tasks.withType(Test) {
TestLogEvent.PASSED,
TestLogEvent.SKIPPED,
TestLogEvent.STANDARD_OUT
- exceptionFormat TestExceptionFormat.FULL
- showExceptions true
- showCauses true
- showStackTraces true
+ exceptionFormat = TestExceptionFormat.FULL
+ showExceptions = true
+ showCauses = true
+ showStackTraces = true
// set options for log level DEBUG and INFO
debug {
@@ -356,7 +355,7 @@ tasks.withType(Test) {
TestLogEvent.SKIPPED,
TestLogEvent.STANDARD_ERROR,
TestLogEvent.STANDARD_OUT
- exceptionFormat TestExceptionFormat.FULL
+ exceptionFormat = TestExceptionFormat.FULL
}
info.events = debug.events
info.exceptionFormat = debug.exceptionFormat
diff --git a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/metadata/TypeSchema.java b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/metadata/TypeSchema.java
index 8b11eccd..dab261e5 100644
--- a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/metadata/TypeSchema.java
+++ b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/metadata/TypeSchema.java
@@ -25,7 +25,7 @@
*
* Does not include the "schema" top level map
*/
-@SuppressWarnings({"PMD.LooseCoupling", "PMD.GodClass"})
+@SuppressWarnings("PMD.GodClass")
public final class TypeSchema extends HashMap {
private static final long serialVersionUID = 1L;
private static final Logger LOGGER = Logger.getLogger(TypeSchema.class.getName());
diff --git a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/shim/ChaincodeServerProperties.java b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/shim/ChaincodeServerProperties.java
index 4352fe14..8197be59 100644
--- a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/shim/ChaincodeServerProperties.java
+++ b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/shim/ChaincodeServerProperties.java
@@ -314,7 +314,7 @@ public void setTlsEnabled(final boolean tlsEnabled) {
*
* @throws IllegalArgumentException if any properties are not valid.
*/
- @SuppressWarnings({"PMD.CyclomaticComplexity", "PMD.NPathComplexity"})
+ @SuppressWarnings("PMD.CyclomaticComplexity")
public void validate() {
if (this.getServerAddress() == null) {
throw new IllegalArgumentException("chaincodeServerProperties.getServerAddress() must be set");
diff --git a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/traces/impl/OpenTelemetryTracesProvider.java b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/traces/impl/OpenTelemetryTracesProvider.java
index 54a3034f..4801ebe3 100644
--- a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/traces/impl/OpenTelemetryTracesProvider.java
+++ b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/traces/impl/OpenTelemetryTracesProvider.java
@@ -13,7 +13,7 @@
import io.opentelemetry.context.Context;
import io.opentelemetry.instrumentation.grpc.v1_6.GrpcTelemetry;
import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk;
-import io.opentelemetry.semconv.ResourceAttributes;
+import io.opentelemetry.semconv.ServiceAttributes;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
@@ -32,7 +32,7 @@ public final class OpenTelemetryTracesProvider implements TracesProvider {
@Override
public void initialize(final Properties props) {
String serviceName = props.getProperty(CORE_CHAINCODE_ID_NAME, "unknown");
- props.setProperty(ResourceAttributes.SERVICE_NAME.getKey(), serviceName);
+ props.setProperty(ServiceAttributes.SERVICE_NAME.getKey(), serviceName);
OpenTelemetry openTelemetry = AutoConfiguredOpenTelemetrySdk.builder()
.addPropertiesSupplier(() -> getOpenTelemetryProperties(props))
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index e2847c82..ff23a68d 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME