apply plugin: 'java-library'
sourceCompatibility = 1.8
targetCompatibility = 1.8

apply plugin: 'idea'
apply plugin: 'witness'
apply from: 'witness.gradle'
apply from: '../dagger.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"

	testAnnotationProcessor 'com.google.dagger:dagger-compiler:2.19'
}

def torBinariesDir = 'src/main/resources'

task cleanTorBinaries {
	doLast {
		delete fileTree(torBinariesDir) { include '*.zip' }
	}
}

clean.dependsOn cleanTorBinaries

task unpackTorBinaries {
	doLast {
		copy {
			from configurations.tor.collect { zipTree(it) }
			into torBinariesDir
		}
	}
	dependsOn cleanTorBinaries
}

processResources {
	inputs.dir torBinariesDir
	dependsOn unpackTorBinaries
}

tasks.withType(Test) {
	systemProperty 'java.library.path', 'libs'
}
