apply plugin: 'java-library' sourceCompatibility = 1.8 targetCompatibility = 1.8 apply plugin: 'idea' apply plugin: 'witness' apply from: 'witness.gradle' configurations { tor } dependencies { implementation project(path: ':bramble-core', configuration: 'default') implementation fileTree(dir: 'libs', include: '*.jar') implementation 'net.java.dev.jna:jna:4.5.2' implementation 'net.java.dev.jna:jna-platform:4.5.2' tor 'org.briarproject:tor:0.3.4.8@zip' tor 'org.briarproject:obfs4proxy:0.0.7@zip' annotationProcessor 'com.google.dagger:dagger-compiler:2.19' testImplementation project(path: ':bramble-api', configuration: 'testOutput') testImplementation project(path: ':bramble-core', configuration: 'testOutput') testImplementation 'junit:junit:4.12' testImplementation "org.jmock:jmock:2.8.2" testImplementation "org.jmock:jmock-junit4:2.8.2" testImplementation "org.jmock:jmock-legacy:2.8.2" testImplementation "org.hamcrest:hamcrest-library:1.3" testImplementation "org.hamcrest:hamcrest-core:1.3" testAnnotationProcessor 'com.google.dagger:dagger-compiler:2.19' } sourceSets.configureEach { sourceSet -> tasks.named(sourceSet.compileJavaTaskName).configure { options.annotationProcessorGeneratedSourcesDirectory = file("$buildDir/generated/source/apt/${sourceSet.name}") } } idea { module { sourceDirs += compileJava.options.annotationProcessorGeneratedSourcesDirectory generatedSourceDirs += compileJava.options.annotationProcessorGeneratedSourcesDirectory testSourceDirs += compileTestJava.options.annotationProcessorGeneratedSourcesDirectory generatedSourceDirs += compileTestJava.options.annotationProcessorGeneratedSourcesDirectory } } def torBinariesDir = 'src/main/resources' task unpackTorBinaries { outputs.dir torBinariesDir doLast { copy { from configurations.tor.collect { zipTree(it) } into torBinariesDir } } } tasks.withType(JavaCompile) { dependsOn unpackTorBinaries } task cleanTorBinaries { doLast { delete fileTree(torBinariesDir) { include '*.zip' } } } clean.dependsOn cleanTorBinaries tasks.withType(Test) { systemProperty 'java.library.path', 'libs' }