|
|
|
@ -57,13 +57,31 @@ def _strListCmdArg(name, defaultValue) { |
|
|
|
|
if (!project.hasProperty(name)) |
|
|
|
|
return defaultValue |
|
|
|
|
|
|
|
|
|
return ((String)project.property(name)).tokenize(',') |
|
|
|
|
return ((String) project.property(name)).tokenize(',') |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
def _strListCmdArg(name) { |
|
|
|
|
return _strListCmdArg(name, null) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
apply plugin: 'com.jfrog.bintray' |
|
|
|
|
|
|
|
|
|
def bintrayUser = project.hasProperty('bintrayUser') ? project.property('bintrayUser') : System.getenv('BINTRAY_USER') |
|
|
|
|
def bintrayKey = project.hasProperty('bintrayApiKey') ? project.property('bintrayApiKey') : System.getenv('BINTRAY_KEY') |
|
|
|
|
def bintrayPackage = bintray.pkg { |
|
|
|
|
repo = 'pegasys-repo' |
|
|
|
|
name = 'pantheon' |
|
|
|
|
userOrg = 'consensys' |
|
|
|
|
licenses = ['Apache-2.0'] |
|
|
|
|
websiteUrl = 'https://github.com/PegaSysEng/pantheon' |
|
|
|
|
issueTrackerUrl = 'https://github.com/PegaSysEng/pantheon/issues' |
|
|
|
|
vcsUrl = 'https://github.com/PegaSysEng/pantheon.git' |
|
|
|
|
|
|
|
|
|
version { |
|
|
|
|
name = project.version |
|
|
|
|
released = new Date() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
allprojects { |
|
|
|
|
apply plugin: 'java-library' |
|
|
|
@ -82,6 +100,16 @@ allprojects { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
task sourcesJar(type: Jar, dependsOn: classes) { |
|
|
|
|
classifier = 'sources' |
|
|
|
|
from sourceSets.main.allSource |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
task javadocJar(type: Jar, dependsOn: javadoc) { |
|
|
|
|
classifier = 'javadoc' |
|
|
|
|
from javadoc.destinationDir |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
sourceCompatibility = '1.8' |
|
|
|
|
targetCompatibility = '1.8' |
|
|
|
|
|
|
|
|
@ -93,7 +121,7 @@ allprojects { |
|
|
|
|
jcenter() |
|
|
|
|
mavenCentral() |
|
|
|
|
mavenLocal() |
|
|
|
|
maven { url "https://consensys.bintray.com/pegasys-repo" } |
|
|
|
|
maven { url "https://consensys.bintray.com/pegasys-repo" } |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -249,6 +277,54 @@ task deploy() {} |
|
|
|
|
|
|
|
|
|
subprojects { |
|
|
|
|
|
|
|
|
|
if (file('src/main/java').directory) { |
|
|
|
|
apply plugin: 'com.jfrog.bintray' |
|
|
|
|
apply plugin: 'maven-publish' |
|
|
|
|
|
|
|
|
|
publishing { |
|
|
|
|
publications { |
|
|
|
|
mavenJava(MavenPublication) { |
|
|
|
|
groupId "tech.pegasys.pantheon.internal" |
|
|
|
|
version "${project.version}" |
|
|
|
|
from components.java |
|
|
|
|
artifact sourcesJar |
|
|
|
|
artifact javadocJar |
|
|
|
|
versionMapping { |
|
|
|
|
usage('java-api') { fromResolutionOf('runtimeClasspath') } |
|
|
|
|
usage('java-runtime') { fromResolutionResult() } |
|
|
|
|
} |
|
|
|
|
pom { |
|
|
|
|
name = "Pantheon - ${project.name}" |
|
|
|
|
url = 'http://github.com/PegaSysEng/pantheon' |
|
|
|
|
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/PegaSysEng/pantheon.git' |
|
|
|
|
developerConnection = 'scm:git:ssh://github.com/PegaSysEng/pantheon.git' |
|
|
|
|
url = 'https://github.com/PegaSysEng/pantheon' |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bintray { |
|
|
|
|
user = bintrayUser |
|
|
|
|
key = bintrayKey |
|
|
|
|
|
|
|
|
|
publications = ['mavenJava'] |
|
|
|
|
override = version.endsWith('SNAPSHOT') |
|
|
|
|
|
|
|
|
|
publish = true |
|
|
|
|
|
|
|
|
|
pkg = bintrayPackage |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
tasks.withType(Test) { |
|
|
|
|
// If GRADLE_MAX_TEST_FORKS is not set, use half the available processors |
|
|
|
|
maxParallelForks = (System.getenv('GRADLE_MAX_TEST_FORKS') ?: (Runtime.runtime.availableProcessors().intdiv(2) ?: 1)).toInteger() |
|
|
|
@ -258,7 +334,6 @@ subprojects { |
|
|
|
|
options.fork = true |
|
|
|
|
options.incremental = true |
|
|
|
|
} |
|
|
|
|
apply plugin: 'maven-publish' |
|
|
|
|
|
|
|
|
|
sourceSets { |
|
|
|
|
// test-support can be consumed as a library by other projects in their tests |
|
|
|
@ -286,7 +361,7 @@ subprojects { |
|
|
|
|
testSupportArtifacts |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
task testSupportJar (type: Jar) { |
|
|
|
|
task testSupportJar(type: Jar) { |
|
|
|
|
baseName = "${project.name}-support-test" |
|
|
|
|
from sourceSets.testSupport.output |
|
|
|
|
} |
|
|
|
@ -296,7 +371,7 @@ subprojects { |
|
|
|
|
integrationTestImplementation sourceSets.testSupport.output |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
task integrationTest(type: Test, dependsOn:["compileTestJava"]){ |
|
|
|
|
task integrationTest(type: Test, dependsOn: ["compileTestJava"]) { |
|
|
|
|
group = "verification" |
|
|
|
|
description = "Runs the Pantheon integration tests" |
|
|
|
|
|
|
|
|
@ -343,7 +418,9 @@ applicationDefaultJvmArgs = [ |
|
|
|
|
run { |
|
|
|
|
args project.hasProperty("pantheon.run.args") ? project.property("pantheon.run.args").toString().split("\\s+") : [] |
|
|
|
|
doFirst { |
|
|
|
|
applicationDefaultJvmArgs = applicationDefaultJvmArgs.collect{it.replace('PANTHEON_HOME', "$buildDir/pantheon")} |
|
|
|
|
applicationDefaultJvmArgs = applicationDefaultJvmArgs.collect { |
|
|
|
|
it.replace('PANTHEON_HOME', "$buildDir/pantheon") |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -412,7 +489,7 @@ tasks.register("dockerDistUntar") { |
|
|
|
|
new File(dockerBuildDir).mkdir() |
|
|
|
|
copy { |
|
|
|
|
from tarTree(distTarFile) |
|
|
|
|
into (dockerBuildDir) |
|
|
|
|
into(dockerBuildDir) |
|
|
|
|
} |
|
|
|
|
file("${dockerBuildDir}/${distTarFileName}").renameTo("${dockerBuildDir}/pantheon") |
|
|
|
|
} |
|
|
|
@ -446,7 +523,7 @@ configurations { annotationProcessor } |
|
|
|
|
|
|
|
|
|
// Prevent errorprone-checks being dependent upon errorprone-checks! |
|
|
|
|
// However, ensure all subprojects comply with the custom rules. |
|
|
|
|
configure(subprojects.findAll {it.name != 'errorprone-checks'}) { |
|
|
|
|
configure(subprojects.findAll { it.name != 'errorprone-checks' }) { |
|
|
|
|
dependencies { annotationProcessor project(":errorprone-checks") } |
|
|
|
|
|
|
|
|
|
tasks.withType(JavaCompile) { |
|
|
|
@ -488,7 +565,7 @@ def getCheckedOutGitCommitHash() { |
|
|
|
|
def head = new File(gitFolder + "HEAD").text.split(":") // .git/HEAD |
|
|
|
|
def isCommit = head.length == 1 // e5a7c79edabbf7dd39888442df081b1c9d8e88fd |
|
|
|
|
|
|
|
|
|
if(isCommit) return head[0].trim().take(takeFromHash) // e5a7c79edabb |
|
|
|
|
if (isCommit) return head[0].trim().take(takeFromHash) // e5a7c79edabb |
|
|
|
|
|
|
|
|
|
def refHead = new File(gitFolder + head[1].trim()) // .git/refs/heads/master |
|
|
|
|
refHead.text.trim().take takeFromHash |
|
|
|
@ -496,8 +573,8 @@ def getCheckedOutGitCommitHash() { |
|
|
|
|
|
|
|
|
|
apply plugin: 'net.researchgate.release' |
|
|
|
|
|
|
|
|
|
task releaseIntegrationTest(type: Test){ |
|
|
|
|
for(TaskContainer taskList : subprojects.tasks){ |
|
|
|
|
task releaseIntegrationTest(type: Test) { |
|
|
|
|
for (TaskContainer taskList : subprojects.tasks) { |
|
|
|
|
def subProjectIntegrationTask = taskList.findByName('integrationTest') |
|
|
|
|
|
|
|
|
|
if (subProjectIntegrationTask != null) { |
|
|
|
@ -506,14 +583,14 @@ task releaseIntegrationTest(type: Test){ |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
task releaseReferenceTest(type: Test, dependsOn : [ |
|
|
|
|
task releaseReferenceTest(type: Test, dependsOn: [ |
|
|
|
|
':ethereum:core:referenceTests', |
|
|
|
|
':ethereum:rlp:referenceTests', |
|
|
|
|
':ethereum:trie:referenceTests' |
|
|
|
|
]){ |
|
|
|
|
]) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
task releaseAcceptanceTest(type: Test, dependsOn : ':acceptance-tests:acceptanceTest') {} |
|
|
|
|
task releaseAcceptanceTest(type: Test, dependsOn: ':acceptance-tests:acceptanceTest') {} |
|
|
|
|
|
|
|
|
|
release { |
|
|
|
|
preTagCommitMessage = '[Gradle Release Plugin] - pre tag commit: ' |
|
|
|
@ -533,11 +610,9 @@ release { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
apply plugin: 'com.jfrog.bintray' |
|
|
|
|
|
|
|
|
|
bintray { |
|
|
|
|
user = project.hasProperty('bintrayUser') ? project.property('bintrayUser') : System.getenv('BINTRAY_USER') |
|
|
|
|
key = project.hasProperty('bintrayApiKey') ? project.property('bintrayApiKey') : System.getenv('BINTRAY_KEY') |
|
|
|
|
user = bintrayUser |
|
|
|
|
key = bintrayKey |
|
|
|
|
|
|
|
|
|
filesSpec { |
|
|
|
|
from distTar.destinationDir.path |
|
|
|
@ -546,21 +621,9 @@ bintray { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
publish = true |
|
|
|
|
override = version.endsWith('SNAPSHOT') |
|
|
|
|
|
|
|
|
|
pkg { |
|
|
|
|
repo = 'pegasys-repo' |
|
|
|
|
name = 'pantheon' |
|
|
|
|
userOrg = 'consensys' |
|
|
|
|
licenses = ['Apache-2.0'] |
|
|
|
|
websiteUrl = 'https://github.com/PegaSysEng/pantheon' |
|
|
|
|
issueTrackerUrl = 'https://github.com/PegaSysEng/pantheon/issues' |
|
|
|
|
vcsUrl = 'https://github.com/PegaSysEng/pantheon.git' |
|
|
|
|
|
|
|
|
|
version { |
|
|
|
|
name = project.version |
|
|
|
|
released = new Date() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
pkg = bintrayPackage |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
afterReleaseBuild.dependsOn bintrayUpload |
|
|
|
|