forked from forcedotcom/SalesforceMobileSDK-Android
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
103 lines (88 loc) · 3.46 KB
/
Copy pathbuild.gradle.kts
File metadata and controls
103 lines (88 loc) · 3.46 KB
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
91
92
93
94
95
96
97
98
99
100
101
102
103
rootProject.ext["PUBLISH_GROUP_ID"] = "com.salesforce.mobilesdk"
rootProject.ext["PUBLISH_VERSION"] = "13.1.0"
rootProject.ext["PUBLISH_ARTIFACT_ID"] = "SmartStore"
plugins {
`android-library`
`kotlin-android`
`publish-module`
jacoco
}
dependencies {
api(project(":libs:SalesforceSDK"))
//noinspection GradleDependency - Needs to line up with supported SQLCipher version.
api("androidx.sqlite:sqlite:2.2.0")
api("net.zetetic:sqlcipher-android:4.10.0")
implementation("androidx.core:core-ktx:1.16.0") // Update requires API 36 compileSdk
androidTestImplementation("androidx.test:runner:1.7.0")
androidTestImplementation("androidx.test:rules:1.7.0")
androidTestImplementation("androidx.test.espresso:espresso-core:3.7.0")
androidTestImplementation("androidx.test.ext:junit:1.3.0")
androidTestImplementation("androidx.test.uiautomator:uiautomator:2.3.0")
implementation("com.google.android.material:material:1.13.0")
}
android {
namespace = "com.salesforce.androidsdk.smartstore"
testNamespace = "com.salesforce.androidsdk.smartstore.tests"
compileSdk = 35
defaultConfig {
minSdk = 28
}
buildTypes {
debug {
enableAndroidTestCoverage = true
}
}
sourceSets {
getByName("main") {
manifest.srcFile("AndroidManifest.xml")
java.srcDirs(arrayOf("src"))
resources.srcDirs(arrayOf("src"))
aidl.srcDirs(arrayOf("src"))
renderscript.srcDirs(arrayOf("src"))
res.srcDirs(arrayOf("res"))
assets.srcDirs(arrayOf("assets"))
jniLibs.srcDir("libs")
}
getByName("androidTest") {
setRoot("../test/SmartStoreTest")
java.srcDirs(arrayOf("../test/SmartStoreTest/src"))
resources.srcDirs(arrayOf("../test/SmartStoreTest/src"))
res.srcDirs(arrayOf("../test/SmartStoreTest/res"))
}
}
packaging {
resources {
excludes += setOf("META-INF/LICENSE", "META-INF/LICENSE.txt", "META-INF/DEPENDENCIES", "META-INF/NOTICE")
pickFirsts += setOf("protobuf.meta")
}
}
defaultConfig {
testApplicationId = "com.salesforce.androidsdk.smartstore.tests"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
lint {
abortOnError = false
xmlReport = true
}
buildFeatures {
renderScript = true
aidl = true
buildConfig = true
}
val convertCodeCoverage: TaskProvider<JacocoReport> = tasks.register<JacocoReport>("convertedCodeCoverage") {
group = "Coverage"
description = "Convert coverage.ec from Firebase Test Lab to XML that is usable by CodeCov."
}
convertCodeCoverage {
reports {
xml.required = true
html.required = true
}
sourceDirectories.setFrom("${project.projectDir}/src/main/java")
val fileFilter = arrayListOf("**/R.class", "**/R$*.class", "**/BuildConfig.*", "**/Manifest*.*", "**/*Test*.*", "android/**/*.*")
val javaTree = fileTree("${project.projectDir}/build/intermediates/javac/debug") { setExcludes(fileFilter) }
val kotlinTree = fileTree("${project.projectDir}/build/tmp/kotlin-classes/debug") { setExcludes(fileFilter) }
classDirectories.setFrom(javaTree, kotlinTree)
executionData.setFrom(fileTree("$rootDir/firebase/artifacts/sdcard") { setIncludes(arrayListOf("*.ec")) })
}
}