168 lines
4.5 KiB
Groovy
168 lines
4.5 KiB
Groovy
buildscript {
|
|
repositories {
|
|
jcenter()
|
|
maven {
|
|
name 'JFrog OSS snapshot repo'
|
|
url 'https://oss.jfrog.org/oss-snapshot-local/'
|
|
}
|
|
}
|
|
dependencies {
|
|
classpath 'me.champeau.gradle:antlr4-gradle-plugin:0.1'
|
|
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:3.0.1'
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id 'java'
|
|
id 'application'
|
|
id 'jacoco'
|
|
id 'com.github.johnrengelman.shadow' version '1.2.1'
|
|
id 'me.champeau.gradle.antlr4' version '0.1'
|
|
id 'com.github.kt3k.coveralls' version '2.0.1x'
|
|
id 'com.jfrog.bintray' version '1.0'
|
|
}
|
|
|
|
repositories {
|
|
maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
|
|
jcenter()
|
|
}
|
|
|
|
sourceCompatibility = 1.7
|
|
|
|
mainClassName = 'org.ethereum.Start'
|
|
applicationDefaultJvmArgs = ["-server", "-Xss32m"]
|
|
|
|
ext.generatedSrcDir = file('src/gen/java')
|
|
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
exclude '**/CommonConfig.java'
|
|
exclude '**/DefaultConfig.java'
|
|
exclude '**/RemoteConfig.java'
|
|
srcDirs += generatedSrcDir
|
|
}
|
|
}
|
|
}
|
|
|
|
antlr4 {
|
|
extraArgs = ['-package', 'org.ethereum.serpent']
|
|
output = file("${generatedSrcDir}/org/ethereum/serpent")
|
|
}
|
|
|
|
if (isJavaProject(project)) {
|
|
compileJava.dependsOn antlr4
|
|
} else if (isAndroidProject(project)) {
|
|
preBuild.dependsOn antlr4
|
|
} else {
|
|
throw new GradleException('unknown plugin type')
|
|
}
|
|
public static boolean isJavaProject(Project project) {
|
|
project.plugins.findPlugin('java')
|
|
}
|
|
public static boolean isAndroidProject(Project project) {
|
|
project.plugins.findPlugin('com.android.application') || project.plugins.findPlugin('com.android.library')
|
|
}
|
|
|
|
tasks.withType(JavaCompile){
|
|
options.warnings = false
|
|
}
|
|
|
|
/**
|
|
* This is TCK test command line option,
|
|
* to run the test:
|
|
* gradle tckRun -PfilePath=[ file path]
|
|
* e.g: gradle tckRun -PfilePath=E:\temp\test-case.json
|
|
*/
|
|
task tckRun(type:JavaExec){
|
|
|
|
if (project.hasProperty("filePath")) {
|
|
args = ["filerun", "$filePath"]
|
|
jvmArgs = ["-Xss32M"]
|
|
}
|
|
|
|
if (project.hasProperty("content")) {
|
|
args = ["content", "$content"]
|
|
jvmArgs = ["-Xss32M"]
|
|
}
|
|
|
|
main = "org.ethereum.tck.RunTck"
|
|
classpath = sourceSets.main.runtimeClasspath
|
|
}
|
|
|
|
|
|
|
|
test {
|
|
|
|
beforeTest { descriptor ->
|
|
logger.lifecycle("Running test: ${descriptor}")
|
|
}
|
|
|
|
jvmArgs += [ "-Xss32m", "-XX:MaxPermSize=256m" ]
|
|
|
|
testLogging {
|
|
events "failed"
|
|
exceptionFormat "short"
|
|
}
|
|
|
|
systemProperty "file.encoding", "UTF-8"
|
|
}
|
|
|
|
configurations {
|
|
compile.extendsFrom antlr4
|
|
}
|
|
|
|
ext {
|
|
slf4jVersion = '1.7.12'
|
|
leveldbVersion = '0.7'
|
|
scastleVersion = '1.51.0.0'
|
|
log4jVersion = '1.2.17'
|
|
hibernateVersion = '4.3.10.Final'
|
|
junitVersion = '4.11'
|
|
}
|
|
|
|
dependencies {
|
|
compile 'com.google.dagger:dagger:2.1-SNAPSHOT'
|
|
compile 'com.google.dagger:dagger-compiler:2.0'
|
|
|
|
compile fileTree(include: ['*.jar'], dir: 'libs')
|
|
|
|
compile('io.netty:netty-all:4.0.28.Final')
|
|
compile "com.madgag.spongycastle:core:${scastleVersion}" // for SHA3 and SECP256K1
|
|
compile "com.madgag.spongycastle:prov:${scastleVersion}" // for SHA3 and SECP256K1
|
|
|
|
compile "org.iq80.leveldb:leveldb:${leveldbVersion}"
|
|
|
|
compile "com.cedarsoftware:java-util:1.8.0" // for deep equals
|
|
compile "org.antlr:antlr4-runtime:4.5" // for serpent compilation
|
|
compile "com.yuvalshavit:antlr-denter:1.1"
|
|
compile "org.javassist:javassist:3.15.0-GA"
|
|
compile "org.slf4j:slf4j-api:${slf4jVersion}"
|
|
compile "log4j:log4j:${log4jVersion}"
|
|
compile "org.codehaus.jackson:jackson-mapper-asl:1.9.13"
|
|
compile "com.google.code.findbugs:jsr305:3.0.0"
|
|
compile "com.fasterxml.jackson.core:jackson-databind:2.5.1"
|
|
compile "org.apache.commons:commons-collections4:4.0"
|
|
compile "commons-codec:commons-codec:1.10"
|
|
compile "org.hibernate:hibernate-core:${hibernateVersion}"
|
|
compile "org.hibernate:hibernate-entitymanager:${hibernateVersion}"
|
|
compile "commons-dbcp:commons-dbcp:1.4"
|
|
compile "redis.clients:jedis:2.6.0"
|
|
compile "com.h2database:h2:1.4.187"
|
|
compile "org.mapdb:mapdb:1.0.7"
|
|
|
|
compile "org.slf4j:slf4j-log4j12:${slf4jVersion}"
|
|
compile "log4j:apache-log4j-extras:${log4jVersion}"
|
|
|
|
compile("com.googlecode.json-simple:json-simple:1.1.1") {
|
|
exclude group: 'junit', module: 'junit'
|
|
}
|
|
|
|
compile 'commons-io:commons-io:2.4'
|
|
|
|
testCompile "junit:junit:${junitVersion}"
|
|
testCompile 'com.google.dagger:dagger:2.1-SNAPSHOT'
|
|
testCompile 'com.google.dagger:dagger-compiler:2.0'
|
|
}
|
|
|