build.gradle 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. apply plugin: 'com.android.library'
  2. apply plugin: 'witness'
  3. apply from: 'witness.gradle'
  4. android {
  5. compileSdkVersion 33
  6. buildToolsVersion '33.0.0'
  7. packagingOptions {
  8. doNotStrip '**/*.so'
  9. }
  10. defaultConfig {
  11. minSdkVersion 21
  12. targetSdkVersion 33
  13. versionCode 10511
  14. versionName "1.5.11"
  15. consumerProguardFiles 'proguard-rules.txt'
  16. testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  17. testInstrumentationRunnerArguments disableAnalytics: 'true'
  18. }
  19. compileOptions {
  20. sourceCompatibility JavaVersion.VERSION_1_8
  21. targetCompatibility JavaVersion.VERSION_1_8
  22. }
  23. lintOptions {
  24. // FIXME
  25. warning "LintError"
  26. warning "InvalidPackage"
  27. warning "MissingPermission"
  28. warning "InlinedApi", "ObsoleteSdkInt", "Override", "NewApi", "UnusedAttribute"
  29. }
  30. }
  31. configurations {
  32. tor
  33. }
  34. dependencies {
  35. api 'org.briarproject:dont-kill-me-lib:0.2.8'
  36. // In theory this dependency shouldn't be needed, but without it Android Studio's linter will
  37. // complain about unresolved symbols for bramble-api test classes in bramble-android tests,
  38. // even though the bramble-api test classes are provided by the testImplementation dependency
  39. // below and the compiler can find them
  40. implementation project(':bramble-api')
  41. implementation project(':bramble-core')
  42. implementation 'androidx.annotation:annotation:1.5.0'
  43. implementation "org.briarproject:onionwrapper-android:$onionwrapper_version"
  44. tor "org.briarproject:tor-android:$tor_version"
  45. tor "org.briarproject:obfs4proxy-android:$obfs4proxy_version"
  46. tor "org.briarproject:snowflake-android:$snowflake_version"
  47. annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version"
  48. compileOnly 'javax.annotation:jsr250-api:1.0'
  49. testImplementation project(path: ':bramble-api', configuration: 'testOutput')
  50. testImplementation "junit:junit:$junit_version"
  51. testImplementation "org.jmock:jmock:$jmock_version"
  52. testImplementation "org.jmock:jmock-junit4:$jmock_version"
  53. testImplementation "org.jmock:jmock-imposters:$jmock_version"
  54. }
  55. def torLibsDir = 'src/main/jniLibs'
  56. task cleanTorBinaries {
  57. outputs.dir torLibsDir
  58. doLast {
  59. delete fileTree(torLibsDir)
  60. }
  61. }
  62. clean.dependsOn cleanTorBinaries
  63. task unpackTorBinaries {
  64. outputs.dir torLibsDir
  65. doLast {
  66. copy {
  67. from configurations.tor.collect { zipTree(it) }
  68. into torLibsDir
  69. }
  70. }
  71. dependsOn cleanTorBinaries
  72. }
  73. preBuild.dependsOn unpackTorBinaries