|
|
|
/*
|
|
|
|
* 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 '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'
|
|
|
|
testSupportImplementation 'com.google.dagger:dagger'
|
|
|
|
testSupportAnnotationProcessor 'com.google.dagger:dagger-compiler'
|
|
|
|
|
|
|
|
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
|
|
|
|
}
|