Skip to content
Snippets Groups Projects
build.gradle 1.97 KiB
Newer Older
akwizgran's avatar
akwizgran committed
import de.undercouch.gradle.tasks.download.Download
import de.undercouch.gradle.tasks.download.Verify

apply plugin: 'com.android.library'
apply plugin: 'witness'
apply plugin: 'de.undercouch.download'

android {
	compileSdkVersion 26
	buildToolsVersion '26.0.2'
akwizgran's avatar
akwizgran committed

	defaultConfig {
		minSdkVersion 14
		targetSdkVersion 22
		versionCode 1611
		versionName "0.16.11"
akwizgran's avatar
akwizgran committed
		consumerProguardFiles 'proguard-rules.txt'
	}

	compileOptions {
		sourceCompatibility JavaVersion.VERSION_1_8
		targetCompatibility JavaVersion.VERSION_1_8
akwizgran's avatar
akwizgran committed
	}
}

dependencies {
	compile project(path: ':bramble-core', configuration: 'default')
	compile fileTree(dir: 'libs', include: '*.jar')

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

akwizgran's avatar
akwizgran committed
	provided 'javax.annotation:jsr250-api:1.0'
}

ext.torBinaryDir = 'src/main/res/raw'
ext.torVersion = '0.2.9.12'
ext.geoipVersion = '2017-09-06'
ext.torDownloadUrl = 'https://briarproject.org/build/'

def torBinaries = [
		"tor_arm"    : '8ed0b347ffed1d6a4d2fd14495118eb92be83e9cc06e057e15220dc288b31688',
		"tor_arm_pie": '64403262511c29f462ca5e7c7621bfc3c944898364d1d5ad35a016bb8a034283',
		"tor_x86"    : '61e014607a2079bcf1646289c67bff6372b1aded6e1d8d83d7791efda9a4d5ab',
		"tor_x86_pie": '18fbc98356697dd0895836ab46d5c9877d1c539193464f7db1e82a65adaaf288',
		"geoip"      : 'fe49d3adb86d3c512373101422a017dbb86c85a570524663f09dd8ce143a24f3'
]

def downloadBinary(name) {
	return tasks.create("downloadBinary${name}", Download) {
		src "$torDownloadUrl${name}.zip"
				.replace('tor_', "tor-${torVersion}-")
				.replace('geoip', "geoip-${geoipVersion}")
				.replaceAll('_', '-')
		dest "$torBinaryDir/${name}.zip"
		onlyIfNewer true
	}
def verifyBinary(name, chksum) {
	return tasks.create([
			name     : "verifyBinary${name}",
			type     : Verify,
			dependsOn: downloadBinary(name)]) {
		src "$torBinaryDir/${name}.zip"
		algorithm 'SHA-256'
		checksum chksum
	}
akwizgran's avatar
akwizgran committed
}

project.afterEvaluate {
	torBinaries.every { key, value ->
			preBuild.dependsOn.add(verifyBinary(key, value))