/
build.gradle
90 lines (83 loc) · 3.16 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
apply plugin: 'com.android.library'
apply from: 'gradle-mvn-push.gradle'
version = VERSION_NAME
group = GROUP
android {
ndkVersion '21.1.6352462'
compileSdkVersion versions.compileSdk
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
defaultConfig {
minSdkVersion versions.minSdk
targetSdkVersion versions.targetSdk
consumerProguardFiles 'consumer-proguard-rules.pro'
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
externalNativeBuild {
cmake {
arguments "-DANDROID_PLATFORM=android-$versions.minSdk", "-DANDROID_STL=none"
cFlags '-std=c11', '-Weverything', '-Wall'
if (isDebugBuild()) {
cFlags '-DDEBUG', '-g'
} else {
cFlags '-DNDEBUG', '-Os', '-g0', '-fvisibility=hidden'
}
}
}
}
externalNativeBuild {
cmake {
path 'src/main/c/CMakeLists.txt'
}
}
testBuildType 'release'
signingConfigs {
release {
storeFile new File("$System.env.HOME/.android/debug.keystore")
storePassword 'android'
keyAlias 'androiddebugkey'
keyPassword 'android'
}
}
buildTypes {
release {
signingConfig signingConfigs.release
if (isDebugBuild()) {
debuggable true
jniDebuggable true
}
}
}
testOptions {
unitTests.returnDefaultValues = true
}
}
dependencies {
implementation "pl.droidsonroids:relinker:$versions.relinker"
compileOnly "androidx.annotation:annotation:$versions.androidxAnnotations"
testCompileOnly "androidx.annotation:annotation:$versions.androidxAnnotations"
testImplementation "junit:junit:$versions.junit"
testImplementation "org.mockito:mockito-core:$versions.mockito"
testImplementation "org.robolectric:robolectric:$versions.robolectric"
testImplementation "org.assertj:assertj-core:$versions.assertj3"
testImplementation "net.jodah:concurrentunit:$versions.concurrentunit"
testImplementation "org.khronos:opengl-api:$versions.openglApi"
androidTestImplementation "junit:junit:$versions.junit"
androidTestImplementation "org.assertj:assertj-core:$versions.assertj1"
androidTestImplementation "androidx.test.ext:junit:$versions.androidXextJunit"
androidTestImplementation "com.squareup.okhttp3:mockwebserver:$versions.mockwebserver"
androidTestImplementation "androidx.test:rules:$versions.androidxTest"
androidTestImplementation "androidx.test:runner:$versions.androidxTest"
androidTestCompileOnly "androidx.annotation:annotation:$versions.androidxAnnotations"
}
def isDebugBuild() {
!gradle.startParameter.taskNames.contains("uploadArchives") && VERSION_NAME.contains("SNAPSHOT")
}
task archiveSymbols(type: Tar) {
from new File(buildDir, 'intermediates/cmake/release/obj')
baseName = "$POM_ARTIFACT_ID-symbols"
destinationDir = new File(buildDir, 'libs')
extension = 'tar.gz'
compression = Compression.GZIP
}