import com.android.build.gradle.tasks.MergeResources

apply plugin: 'com.android.library'
apply plugin: 'witness'
apply from: 'witness.gradle'

android {
	compileSdkVersion 28
	buildToolsVersion '28.0.3'

	defaultConfig {
		minSdkVersion 14
		targetSdkVersion 26
		versionCode 10105
		versionName "1.1.5"
		consumerProguardFiles 'proguard-rules.txt'

		testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
	}

	compileOptions {
		sourceCompatibility JavaVersion.VERSION_1_8
		targetCompatibility JavaVersion.VERSION_1_8
	}
}

configurations {
	tor
}

dependencies {
	implementation project(path: ':bramble-core', configuration: 'default')
	tor 'org.briarproject:tor-android:0.3.4.8@zip'
	tor 'org.briarproject:obfs4proxy-android:0.0.7@zip'

	annotationProcessor 'com.google.dagger:dagger-compiler:2.19'

	compileOnly 'javax.annotation:jsr250-api:1.0'

	testImplementation project(path: ':bramble-api', 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"
}

def torBinariesDir = 'src/main/res/raw'

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
}

tasks.withType(MergeResources) {
	inputs.dir torBinariesDir
	dependsOn unpackTorBinaries
}
