/* * Copyright contributors to Hyperledger Besu. * * Licensed 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. * * SPDX-License-Identifier: Apache-2.0 */ plugins { id 'java-platform' id 'com.diffplug.spotless' } repositories { mavenCentral() } javaPlatform { allowDependencies() } dependencies { api platform('com.fasterxml.jackson:jackson-bom:2.18.0') api platform('io.grpc:grpc-bom:1.68.0') api platform('io.netty:netty-bom:4.1.114.Final') api platform('io.opentelemetry:opentelemetry-bom:1.43.0') api platform('io.prometheus:simpleclient_bom:0.16.0') api platform('io.vertx:vertx-stack-depchain:4.5.10') api platform('org.apache.logging.log4j:log4j-bom:2.24.1') api platform('org.assertj:assertj-bom:3.26.3') api platform('org.immutables:bom:2.10.1') api platform('org.junit:junit-bom:5.11.2') api platform('org.mockito:mockito-bom:5.14.2') api platform('org.slf4j:slf4j-bom:2.0.16') constraints { api project(':acceptance-tests:dsl') api project(':besu') api project(':config') api project(':consensus:clique') api project(':consensus:common') api project(':consensus:ibft') api project(':consensus:merge') api project(':consensus:qbft') api project(':crypto:algorithms') api project(':crypto:services') api project(':datatypes') api project(':ethereum:api') api project(':ethereum:blockcreation') api project(':ethereum:core') api project(':ethereum:eth') api project(':ethereum:p2p') api project(':ethereum:permissioning') api project(':ethereum:referencetests') api project(':ethereum:rlp') api project(':ethereum:trie') api project(':evm') api project(':metrics:core') api project(':plugin-api') api project(':testutil') api project(':util') api 'com.github.ben-manes.caffeine:caffeine:3.1.8' api 'com.github.oshi:oshi-core:6.6.5' api 'com.google.auto.service:auto-service:1.1.1' api 'com.google.dagger:dagger-compiler:2.52' api 'com.google.dagger:dagger:2.52' api 'com.google.guava:guava:33.3.1-jre' api 'com.google.protobuf:protobuf-java:3.25.5' api 'com.graphql-java:graphql-java:22.3' api 'com.splunk.logging:splunk-library-javalogging:1.11.8' api 'com.squareup.okhttp3:okhttp:4.12.0' api 'commons-io:commons-io:2.17.0' api 'commons-net:commons-net:3.11.1' api 'dnsjava:dnsjava:3.6.2' api 'info.picocli:picocli:4.7.6' api 'info.picocli:picocli-codegen:4.7.6' api 'io.kubernetes:client-java:21.0.1-legacy' api 'io.opentelemetry.instrumentation:opentelemetry-okhttp-3.0:2.9.0-alpha' api 'io.opentelemetry.proto:opentelemetry-proto:1.3.2-alpha' api 'io.opentelemetry.semconv:opentelemetry-semconv:1.28.0-alpha' api 'io.opentracing:opentracing-api:0.33.0' api 'io.opentracing:opentracing-util:0.33.0' api 'io.opentracing.contrib:opentracing-okhttp3:3.0.0' api 'io.pkts:pkts-core:3.0.10' api 'io.tmio:tuweni-bytes:2.4.2' api 'io.tmio:tuweni-config:2.4.2' api 'io.tmio:tuweni-concurrent:2.4.2' api 'io.tmio:tuweni-crypto:2.4.2' api 'io.tmio:tuweni-devp2p:2.4.2' api 'io.tmio:tuweni-io:2.4.2' api 'io.tmio:tuweni-net:2.4.2' api 'io.tmio:tuweni-rlp:2.4.2' api 'io.tmio:tuweni-toml:2.4.2' api 'io.tmio:tuweni-units:2.4.2' api 'net.java.dev.jna:jna:5.15.0' api 'org.antlr:antlr4:4.11.1' api 'org.antlr:antlr4-runtime:4.11.1' api 'org.apache.commons:commons-collections4:4.4' api 'org.apache.commons:commons-compress:1.27.1' api 'org.apache.commons:commons-lang3:3.17.0' api 'org.apache.commons:commons-text:1.12.0' api 'org.apache.maven:maven-artifact:3.9.9' api 'org.awaitility:awaitility:4.2.2' api 'org.bouncycastle:bcpkix-jdk18on:1.78.1' api 'org.bouncycastle:bcprov-jdk18on:1.78.1' api 'org.fusesource.jansi:jansi:2.4.1' api 'org.hibernate.validator:hibernate-validator:8.0.1.Final' api 'org.hyperledger.besu:arithmetic:0.9.7' api 'org.hyperledger.besu:blake2bf:0.9.7' api 'org.hyperledger.besu:bls12-381:0.9.7' api 'org.hyperledger.besu:gnark:0.9.7' api 'org.hyperledger.besu:ipa-multipoint:0.9.7' api 'org.hyperledger.besu:secp256k1:0.9.7' api 'org.hyperledger.besu:secp256r1:0.9.7' api 'org.hyperledger.besu:besu-errorprone-checks:1.0.0' api 'org.jacoco:org.jacoco.agent:0.8.12' api 'org.jacoco:org.jacoco.core:0.8.12' api 'org.junit.platform:junit-platform-runner:1.9.2' api 'org.jupnp:org.jupnp:3.0.2' api 'org.jupnp:org.jupnp.support:3.0.2' api 'org.openjdk.jmh:jmh-core:1.37' api 'org.openjdk.jmh:jmh-generator-annprocess:1.37' api 'org.openjdk.jol:jol-core:0.17' api 'org.owasp.encoder:encoder:1.3.1' api 'org.rocksdb:rocksdbjni:8.3.2' api 'org.springframework.security:spring-security-crypto:6.3.3' api 'org.wiremock:wiremock:3.9.1' api 'org.web3j:abi:4.12.2' api 'org.web3j:besu:4.12.2' api 'org.web3j:core:4.12.2' api 'org.web3j:crypto:4.12.2' api 'org.web3j:quorum:4.10.0' api 'org.xerial.snappy:snappy-java:1.1.10.7' api 'tech.pegasys:jc-kzg-4844:1.0.0' api 'tech.pegasys.discovery:discovery:24.9.1' } } spotless { // spotless check applied to build.gradle (groovy) files groovyGradle { target '*.gradle' greclipse('4.31').configFile(rootProject.file('gradle/spotless/greclipse.properties')) endWithNewline() } } publishing { publications { mavenPlatform(MavenPublication) { from components.javaPlatform groupId "org.hyperledger.besu" artifactId 'bom' version calculateVersion() pom { name = "Besu BOM" url = 'http://github.com/hyperledger/besu' licenses { license { name = 'The Apache License, Version 2.0' url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' } } scm { connection = 'scm:git:git://github.com/hyperledger/besu.git' developerConnection = 'scm:git:ssh://github.com/hyperledger/besu.git' url = 'https://github.com/hyperledger/besu' } } } } }