/* * Copyright ConsenSys AG. * * 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 */ apply plugin: 'java-library' jar { archiveBaseName = 'besu-core' manifest { attributes( 'Specification-Title': archiveBaseName, 'Specification-Version': project.version, 'Implementation-Title': archiveBaseName, 'Implementation-Version': calculateVersion(), 'Commit-Hash': getGitCommitDetails(40).hash ) } } dependencies { api 'org.slf4j:slf4j-api' api 'org.web3j:core' annotationProcessor 'org.openjdk.jmh:jmh-generator-annprocess' annotationProcessor 'org.hyperledger.besu:besu-errorprone-checks' implementation project(':config') implementation project(':crypto:algorithms') implementation project(':datatypes') implementation project(':enclave') implementation project(':ethereum:rlp') implementation project(':ethereum:trie') implementation project(':evm') implementation project(':metrics:core') implementation project(':plugin-api') implementation project(':services:kvstore') implementation 'com.fasterxml.jackson.core:jackson-databind' implementation 'com.google.guava:guava' implementation 'com.github.ben-manes.caffeine:caffeine' implementation 'com.google.dagger:dagger' implementation 'org.apache.maven:maven-artifact' annotationProcessor 'com.google.dagger:dagger-compiler' implementation 'io.opentelemetry:opentelemetry-api' implementation 'io.vertx:vertx-core' implementation 'net.java.dev.jna:jna' implementation 'org.apache.commons:commons-lang3' implementation 'io.tmio:tuweni-bytes' implementation 'io.tmio:tuweni-concurrent' implementation 'io.tmio:tuweni-units' implementation 'io.tmio:tuweni-rlp' implementation 'org.immutables:value-annotations' implementation 'tech.pegasys:jc-kzg-4844' implementation 'io.prometheus:simpleclient_guava' implementation 'org.xerial.snappy:snappy-java' annotationProcessor 'org.immutables:value' testImplementation project(path: ':config', configuration: 'testSupportArtifacts') testImplementation project(path: ':ethereum:api') testImplementation project(path: ':ethereum:blockcreation') testImplementation project(path: ':ethereum:referencetests') testImplementation project(path: ':ethereum:eth') testImplementation project(':testutil') testImplementation project(path: ':plugins:rocksdb') testImplementation 'org.apache.logging.log4j:log4j-core' testImplementation 'io.tmio:tuweni-bytes' testImplementation 'io.tmio:tuweni-io' testImplementation 'io.tmio:tuweni-units' testImplementation 'org.assertj:assertj-core' testImplementation 'org.junit.jupiter:junit-jupiter' testImplementation 'org.junit.jupiter:junit-jupiter-params' testImplementation 'org.mockito:mockito-core' testImplementation 'org.mockito:mockito-junit-jupiter' testImplementation 'org.awaitility:awaitility' integrationTestImplementation project(path: ':config', configuration: 'testSupportArtifacts') integrationTestImplementation project(':testutil') integrationTestImplementation 'org.assertj:assertj-core' integrationTestImplementation 'org.junit.jupiter:junit-jupiter-api' integrationTestImplementation 'org.mockito:mockito-core' integrationTestImplementation 'org.testcontainers:testcontainers' integrationTestImplementation 'io.tmio:tuweni-bytes' integrationTestRuntimeOnly 'org.junit.jupiter:junit-jupiter' testSupportImplementation project(path: ':config', configuration: 'testSupportArtifacts') testSupportImplementation project(':ethereum:eth') testSupportImplementation project(':testutil') testSupportImplementation 'org.junit.jupiter:junit-jupiter' testSupportImplementation 'org.assertj:assertj-core' testSupportImplementation 'org.mockito:mockito-core' jmhImplementation project(path: ':config', configuration: 'testSupportArtifacts') jmhImplementation project(':crypto:algorithms') jmhImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts') jmhImplementation project(':ethereum:rlp') jmhImplementation project(':ethereum:trie') jmhImplementation project(':metrics:core') jmhImplementation project(':plugin-api') jmhImplementation project(':plugins:rocksdb') jmhImplementation project(':services:kvstore') jmhImplementation project(':util') jmhImplementation 'com.google.guava:guava' } configurations { testArtifacts } task testJar(type: Jar) { archiveBaseName = "${project.name}-test" from sourceSets.test.output } artifacts { testArtifacts testJar testSupportArtifacts testSupportJar }