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' }