plugins {
    id 'com.android.library'
    id 'org.jetbrains.kotlin.android'
    id 'kotlin-parcelize' // 序列化
    id 'kotlin-android'
    id 'kotlin-kapt'
    id 'realm-android'
}

ext.roomversion = "2.1.0"
ext.vtmVersion = "0.18.0"
ext.realm_version = '10.10.1'
ext.appcompatVersion = "1.3.0"
ext.materialVersion = "1.5.0"
ext.kotlin_version = '1.7.0'

android {
    compileSdk 30

    defaultConfig {

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles "consumer-rules.pro"

        // 指定room.schemaLocation生成的文件路径
        javaCompileOptions {
            annotationProcessorOptions {
                arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
            }
        }

    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
            file("../vtm/vtm-android/natives").eachDir() { dir ->
                jniLibs.srcDirs += "${dir.path}/lib"
            }
            file("../vtm/vtm-android-gdx/natives").eachDir() { dir ->
                jniLibs.srcDirs += "${dir.path}/lib"
            }
        }
    }
}

realm {
    syncEnabled = true
}

//configurations.all {
//    resolutionStrategy {
//        force 'com.intellij:annotations:13.0'
//    }
//}
dependencies {
    api fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
    api files('libs/BaiduLBS_Android.jar')

    api 'androidx.core:core-ktx:1.9.0'
    api 'androidx.appcompat:appcompat:1.6.1'
    api 'com.google.android.material:material:1.8.0'
    api 'androidx.constraintlayout:constraintlayout:2.1.4'
    api 'androidx.navigation:navigation-fragment-ktx:2.5.3'
    api 'androidx.navigation:navigation-ui-ktx:2.5.3'

    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.5'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
//    implementation 'com.yanzhenjie:kalle:0.1.7'
    // VTM依赖
    implementation "net.sf.kxml:kxml2:2.3.0"
    implementation 'org.slf4j:slf4j-api:2.0.7'
    implementation project(":vtm-themes")
    implementation project(":vtm-android")
    implementation project(':vtm-extras')
    implementation project(":vtm-http")
//    implementation "org.mapsforge:vtm-themes:$vtmVersion"
//    implementation "org.mapsforge:vtm-android:$vtmVersion"
//    runtimeOnly "org.mapsforge:vtm-android:$vtmVersion:natives-armeabi-v7a"
//    runtimeOnly "org.mapsforge:vtm-android:$vtmVersion:natives-arm64-v8a"
//    runtimeOnly "org.mapsforge:vtm-android:$vtmVersion:natives-x86"
//    runtimeOnly "org.mapsforge:vtm-android:$vtmVersion:natives-x86_64"
//    implementation "org.mapsforge:vtm-http:$vtmVersion"

    implementation project(":vtm-json")
//    implementation project(":vtm-gdx")
//    implementation project(":vtm-gdx-poi3d")
    implementation project(":vtm-android-mvt")
    implementation project(":vtm-mvt")
//    implementation "org.mapsforge:vtm-json:$vtmVersion"
//    implementation "org.mapsforge:vtm-gdx:$vtmVersion"
//    implementation "org.mapsforge:vtm-android-mvt:$vtmVersion"
//    implementation "org.mapsforge:vtm-mvt:$vtmVersion"

//    implementation project(":vtm-android-gdx")
//    runtimeOnly "org.mapsforge:vtm-android-gdx:$vtmVersion:natives-armeabi-v7a"
//    runtimeOnly "org.mapsforge:vtm-android-gdx:$vtmVersion:natives-arm64-v8a"
//    runtimeOnly "org.mapsforge:vtm-android-gdx:$vtmVersion:natives-x86"
//    runtimeOnly "org.mapsforge:vtm-android-gdx:$vtmVersion:natives-x86_64"
//    implementation "org.mapsforge:vtm-android-gdx:$vtmVersion"

    implementation "com.google.protobuf:protobuf-java:3.6.1"
    implementation "com.wdtinc:mapbox-vector-tile:3.1.0"
    implementation "com.badlogicgames.gdx:gdx:1.11.0"
    implementation "com.badlogicgames.gdx:gdx-backend-android:1.11.0"
//    api "org.mapsforge:vtm-jts:$vtmVersion"
    api project(":vtm-jts")
    api 'org.locationtech.jts:jts-core:1.19.0'
    implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.11'
    implementation 'com.squareup.okio:okio:3.3.0'

    implementation "com.fasterxml.jackson.core:jackson-annotations:2.9.9"
    implementation "com.fasterxml.jackson.core:jackson-core:2.9.9"
    implementation "com.fasterxml.jackson.core:jackson-databind:2.9.9"


    //room 数据库相关
    api 'com.tencent.wcdb:room:1.1-19'  // 代替 room-runtime,同时也不需要再引用 wcdb-android
    api 'androidx.sqlite:sqlite-ktx:2.3.1'
    api "androidx.room:room-runtime:2.5.1"
    api "androidx.room:room-ktx:2.5.1"
    annotationProcessor "androidx.room:room-compiler:2.5.1"
    annotationProcessor 'android.arch.persistence.room:compiler:1.1.1'
    kapt 'android.arch.persistence.room:compiler:1.1.1'// compiler 需要用 room 的
    kapt "androidx.room:room-compiler:2.5.1"
    kapt "androidx.room:room-ktx:2.5.1"

//    //分页加载
//    api "androidx.room:room-paging:$roomversion"
//    api "androidx.paging:paging-runtime-ktx:3.1.1"

    androidTestImplementation "android.arch.persistence.room:testing:1.1.1"
    api 'com.tencent.wcdb:wcdb-android:1.1-19'
    //api 'de.mrmaffen:libvlc-android:2.1.12@aar'
//    // 协程核心库
//    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4'
//    // 协程Android支持库
//    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'
//    // 协程Java8支持库
//    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4'

    // Retrofit 网络请求相关
    api("com.squareup.retrofit2:retrofit:2.9.0")
    api("com.squareup.retrofit2:converter-gson:2.9.0")
    api('com.squareup.okhttp3:okhttp:5.0.0-alpha.11')
    api('com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11')
}