Skip to content
Snippets Groups Projects
build.gradle 4.12 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'
}

akwizgran's avatar
akwizgran committed
dependencyVerification {
	verify = [
			'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7',
			'com.google.dagger:dagger-compiler:2.0.2:dagger-compiler-2.0.2.jar:b74bc9de063dd4c6400b232231f2ef5056145b8fbecbf5382012007dd1c071b3',
			'com.google.dagger:dagger-producers:2.0-beta:dagger-producers-2.0-beta.jar:99ec15e8a0507ba569e7655bc1165ee5e5ca5aa914b3c8f7e2c2458f724edd6b',
			'com.google.dagger:dagger:2.0.2:dagger-2.0.2.jar:84c0282ed8be73a29e0475d639da030b55dee72369e58dd35ae7d4fe6243dcf9',
			'com.google.guava:guava:18.0:guava-18.0.jar:d664fbfc03d2e5ce9cab2a44fb01f1d0bf9dfebeccc1a473b1f9ea31f79f6f99',
			'com.h2database:h2:1.4.192:h2-1.4.192.jar:225b22e9857235c46c93861410b60b8c81c10dc8985f4faf188985ba5445126c',
			'com.madgag.spongycastle:core:1.58.0.0:core-1.58.0.0.jar:199617dd5698c5a9312b898c0a4cec7ce9dd8649d07f65d91629f58229d72728',
			'javax.annotation:jsr250-api:1.0:jsr250-api-1.0.jar:a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f',
			'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
			'org.bitlet:weupnp:0.1.4:weupnp-0.1.4.jar:88df7e6504929d00bdb832863761385c68ab92af945b04f0770b126270a444fb',
			'org.jacoco:org.jacoco.agent:0.7.4.201502262128:org.jacoco.agent-0.7.4.201502262128-runtime.jar:e357a0f1d573c2f702a273992b1b6cb661734f66311854efb3778a888515c5b5',
			'org.jacoco:org.jacoco.agent:0.7.4.201502262128:org.jacoco.agent-0.7.4.201502262128.jar:47b4bec6df11a1118da3953da8b9fa1e7079d6fec857faa1a3cf912e53a6fd4e',
			'org.jacoco:org.jacoco.ant:0.7.4.201502262128:org.jacoco.ant-0.7.4.201502262128.jar:013ce2a68ba57a3c59215ae0dec4df3498c078062a38c3b94c841fc14450f283',
			'org.jacoco:org.jacoco.core:0.7.4.201502262128:org.jacoco.core-0.7.4.201502262128.jar:ec4c74554312fac5116350164786f91b35c9e082fa4ea598bfa42b5db05d7abb',
			'org.jacoco:org.jacoco.report:0.7.4.201502262128:org.jacoco.report-0.7.4.201502262128.jar:7a3554c605e088e7e323b1084656243f0444fa353e2f2dee1f1a4204eb64ff09',
			'org.ow2.asm:asm-debug-all:5.0.1:asm-debug-all-5.0.1.jar:4734de5b515a454b0096db6971fb068e5f70e6f10bbee2b3bd2fdfe5d978ed57',
	]
}

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) {
akwizgran's avatar
akwizgran committed
		src "${torDownloadUrl}${name}.zip"
				.replace('tor_', "tor-${torVersion}-")
				.replace('geoip', "geoip-${geoipVersion}")
				.replaceAll('_', '-')
akwizgran's avatar
akwizgran committed
		dest "${torBinaryDir}/${name}.zip"
		onlyIfNewer true
	}
def verifyBinary(name, chksum) {
	return tasks.create([
			name     : "verifyBinary${name}",
			type     : Verify,
			dependsOn: downloadBinary(name)]) {
akwizgran's avatar
akwizgran committed
		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))