|
|
|
/*
|
|
|
|
* Copyright 2018 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.
|
|
|
|
*/
|
|
|
|
|
|
|
|
apply plugin: 'java-library'
|
|
|
|
|
|
|
|
jar {
|
|
|
|
baseName 'pantheon'
|
|
|
|
manifest {
|
|
|
|
attributes(
|
|
|
|
'Specification-Title': baseName,
|
|
|
|
'Specification-Version': project.version,
|
|
|
|
'Implementation-Title': baseName,
|
|
|
|
'Implementation-Version': calculateVersion()
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
implementation project(':config')
|
|
|
|
implementation project(':crypto')
|
|
|
|
implementation project(':consensus:common')
|
|
|
|
implementation project(':consensus:clique')
|
|
|
|
implementation project(':consensus:ibft')
|
|
|
|
implementation project(':consensus:ibftlegacy')
|
|
|
|
implementation project(':enclave')
|
|
|
|
implementation project(':ethereum:blockcreation')
|
|
|
|
implementation project(':ethereum:core')
|
|
|
|
implementation project(':ethereum:eth')
|
|
|
|
implementation project(':ethereum:jsonrpc')
|
|
|
|
implementation project(':ethereum:graphql')
|
|
|
|
implementation project(':ethereum:permissioning')
|
|
|
|
implementation project(':ethereum:p2p')
|
|
|
|
implementation project(':ethereum:retesteth')
|
|
|
|
implementation project(':ethereum:rlp')
|
|
|
|
implementation project(':metrics:core')
|
|
|
|
implementation project(':nat')
|
|
|
|
implementation project(':services:kvstore')
|
|
|
|
|
|
|
|
implementation 'com.graphql-java:graphql-java'
|
|
|
|
implementation 'com.google.guava:guava'
|
|
|
|
implementation 'info.picocli:picocli'
|
|
|
|
implementation 'io.vertx:vertx-core'
|
|
|
|
implementation 'io.vertx:vertx-web'
|
|
|
|
implementation 'net.consensys.cava:cava-toml'
|
|
|
|
implementation 'org.apache.logging.log4j:log4j-api'
|
|
|
|
implementation 'org.springframework.security:spring-security-crypto'
|
|
|
|
implementation 'tech.pegasys.pantheon:plugin-api'
|
|
|
|
|
|
|
|
runtime 'org.apache.logging.log4j:log4j-core'
|
|
|
|
runtime 'org.apache.logging.log4j:log4j-slf4j-impl'
|
|
|
|
|
|
|
|
testImplementation project(':testutil')
|
|
|
|
testImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts')
|
|
|
|
|
|
|
|
testImplementation 'com.squareup.okhttp3:okhttp'
|
|
|
|
testImplementation 'com.google.auto.service:auto-service'
|
|
|
|
testImplementation 'junit:junit'
|
|
|
|
testImplementation 'org.assertj:assertj-core'
|
|
|
|
testImplementation 'org.awaitility:awaitility'
|
|
|
|
testImplementation 'org.mockito:mockito-core'
|
|
|
|
testImplementation 'org.apache.commons:commons-text'
|
|
|
|
}
|
|
|
|
|
|
|
|
task writeInfoFile(type: ProjectPropertiesFile) {
|
|
|
|
destPackage = "tech.pegasys.pantheon"
|
|
|
|
addString("clientIdentity", rootProject.name)
|
|
|
|
addVersion("version", "clientIdentity")
|
|
|
|
}
|
|
|
|
|
|
|
|
compileJava.dependsOn(writeInfoFile)
|
|
|
|
|
|
|
|
task testJar(type: Jar) {
|
|
|
|
archiveName 'testPlugins.jar'
|
|
|
|
manifest {
|
|
|
|
attributes(
|
|
|
|
'Specification-Title': baseName,
|
|
|
|
'Specification-Version': project.version,
|
|
|
|
'Implementation-Title': baseName,
|
|
|
|
'Implementation-Version': calculateVersion()
|
|
|
|
)
|
|
|
|
}
|
|
|
|
archiveClassifier = 'tests'
|
|
|
|
from sourceSets.test.output
|
|
|
|
}
|
|
|
|
|
|
|
|
configurations { testArtifacts }
|
|
|
|
|
|
|
|
artifacts { testArtifacts testJar }
|