123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- import com.android.build.gradle.tasks.MergeResources
- apply plugin: 'com.android.library'
- apply plugin: 'witness'
- apply from: 'witness.gradle'
- android {
- compileSdkVersion 30
- buildToolsVersion '30.0.3'
- packagingOptions {
- doNotStrip '**/*.so'
- }
- defaultConfig {
- minSdkVersion 16
- targetSdkVersion 30
- versionCode 10410
- versionName "1.4.10"
- consumerProguardFiles 'proguard-rules.txt'
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- }
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
- lintOptions {
- // FIXME
- warning "LintError"
- warning "InvalidPackage"
- warning "MissingPermission"
- warning "InlinedApi", "ObsoleteSdkInt", "Override", "NewApi", "UnusedAttribute"
- }
- }
- configurations {
- tor
- }
- dependencies {
- implementation project(path: ':bramble-core', configuration: 'default')
- tor "org.briarproject:tor-android:$tor_version"
- tor "org.briarproject:obfs4proxy-android:$obfs4proxy_version"
- annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version"
- compileOnly 'javax.annotation:jsr250-api:1.0'
- testImplementation project(path: ':bramble-api', configuration: 'testOutput')
- testImplementation "junit:junit:$junit_version"
- testImplementation "org.jmock:jmock:$jmock_version"
- testImplementation "org.jmock:jmock-junit4:$jmock_version"
- testImplementation "org.jmock:jmock-imposters:$jmock_version"
- }
- def torBinariesDir = 'src/main/res/raw'
- def torLibsDir = 'src/main/jniLibs'
- task cleanTorBinaries {
- doLast {
- delete fileTree(torBinariesDir) { include '*.zip' }
- delete fileTree(torLibsDir) { include '**/*.so' }
- }
- }
- clean.dependsOn cleanTorBinaries
- task unpackTorBinaries {
- doLast {
- configurations.tor.each { outer ->
- zipTree(outer).each { inner ->
- if (inner.name.endsWith('_arm_pie.zip')) {
- copy {
- from zipTree(inner)
- into torLibsDir
- rename '(.*)', 'armeabi-v7a/lib$1.so'
- }
- } else if (inner.name.endsWith('_arm64_pie.zip')) {
- copy {
- from zipTree(inner)
- into torLibsDir
- rename '(.*)', 'arm64-v8a/lib$1.so'
- }
- } else if (inner.name.endsWith('_x86_pie.zip')) {
- copy {
- from zipTree(inner)
- into torLibsDir
- rename '(.*)', 'x86/lib$1.so'
- }
- } else if (inner.name.endsWith('_x86_64_pie.zip')) {
- copy {
- from zipTree(inner)
- into torLibsDir
- rename '(.*)', 'x86_64/lib$1.so'
- }
- }
- }
- }
- }
- dependsOn cleanTorBinaries
- }
- tasks.withType(MergeResources) {
- inputs.dir torBinariesDir
- inputs.dir torLibsDir
- dependsOn unpackTorBinaries
- }
|