blob: 703a096d0effd068483b2c76bfd6d7b0e9eff27e [file] [log] [blame]
apply plugin: 'com.android.library'
apply plugin: 'com.google.protobuf'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-parcelize'
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.9.3'
}
}
android {
namespace "com.google.android.connecteddevice"
compileSdkVersion rootProject.ext.compileSdkVersion
aidlPackageWhiteList "com/google/android/connecteddevice/api/IDeviceAssociationCallback.aidl"
defaultConfig {
minSdkVersion 29
targetSdkVersion 34
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
arguments = [
"room.schemaLocation" : "$projectDir/tests/unit/schemas".toString(),
]
}
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
freeCompilerArgs += '-Xjvm-default=all'
}
buildFeatures {
aidl = true
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
aidl.srcDirs = java.srcDirs
proto {
srcDir java.srcDirs
}
}
test {
java.srcDirs = ['tests/unit/src']
assets.srcDirs += ['tests/unit/schemas']
}
}
lintOptions {
abortOnError false
}
testOptions {
unitTests.includeAndroidResources = true
}
}
dependencies {
def auto_factory_version = "1.0-beta8"
def auto_value_version = "1.7.4"
def dagger_version="2.33"
def room_version = "2.2.5"
implementation "androidx.room:room-runtime:$room_version"
implementation 'androidx.core:core:1.5.0-alpha01'
implementation "androidx.core:core-ktx:1.3.2"
implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.0"
implementation "com.google.auto.factory:auto-factory:$auto_factory_version"
implementation "com.google.auto.value:auto-value-annotations:$auto_value_version"
implementation 'com.google.code.gson:gson:2.8.6'
implementation "com.google.dagger:dagger:$dagger_version"
implementation 'com.google.guava:guava:30.0-android'
implementation 'com.google.protobuf:protobuf-java:3.17.2'
implementation 'com.googlecode.libphonenumber:libphonenumber:8.12.12'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation files('libs/android.car-system-stubs.jar')
implementation project(path: ':libs:companionprotos')
implementation project(path: ':libs:encryptionrunner')
implementation 'com.google.zxing:core:3.4.1'
implementation 'com.google.zxing:android-core:3.3.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.7.1'
annotationProcessor "androidx.room:room-compiler:$room_version"
annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version"
annotationProcessor "com.google.auto.factory:auto-factory:$auto_factory_version"
annotationProcessor "com.google.auto.value:auto-value:$auto_value_version"
testImplementation 'junit:junit:4.13.1'
testImplementation "androidx.room:room-testing:$room_version"
testImplementation 'androidx.arch.core:core-testing:2.1.0'
testImplementation 'androidx.test.ext:junit:1.1.2'
testImplementation 'androidx.test:core:1.5.0'
testImplementation 'androidx.test:rules:1.3.0'
testImplementation 'com.android.support.test:runner:1.0.2'
testImplementation 'com.android.support:support-annotations:28.0.0'
testImplementation 'com.google.dexmaker:dexmaker:1.2'
testImplementation 'com.google.truth:truth:0.41'
testImplementation 'org.mockito.kotlin:mockito-kotlin:4.1.0'
testImplementation 'org.mockito:mockito-core:3.6.0'
testImplementation 'org.robolectric:robolectric:4.10.2'
testImplementation group: 'org.jetbrains.kotlin', name: 'kotlin-test', version: '1.5.10'
}
protobuf {
protoc {
artifact = 'com.google.protobuf:protoc:3.17.2'
}
generateProtoTasks {
all().each { task ->
task.builtins {
java {
option "lite"
}
}
}
}
}