apply plugin: 'com.android.library'

import groovy.json.JsonSlurper

ext {
    airshipVersion = "16.11.1"
}

android {

    // Android SDK Versions
    compileSdkVersion 31

    defaultConfig {
        targetSdkVersion 31
        minSdkVersion 21

        buildConfigField("String", "MODULE_VERSION", "\"${getModuleVersion()}\"")
        consumerProguardFiles 'proguard-rules.pro'
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

def getModuleVersion() {
    def jsonFile = file('../package.json')
    def parsedJson = new JsonSlurper().parseText(jsonFile.text)

    return parsedJson["version"]
}

def safeExtGet (prop, fallback) {
    rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
}

dependencies {
    implementation 'com.facebook.react:react-native:+'
    implementation "androidx.lifecycle:lifecycle-common-java8:2.4.1"
    implementation "androidx.appcompat:appcompat:1.3.1"
    
    api ("com.urbanairship.android:urbanairship-fcm:$airshipVersion") {
        exclude group: 'com.google.firebase', module: 'firebase-messaging'
        exclude group:'androidx.appcompat', module: 'appcompat'
    }

    api ("com.urbanairship.android:urbanairship-message-center:$airshipVersion") {
        exclude group:'androidx.appcompat', module: 'appcompat'
    }
    api ("com.urbanairship.android:urbanairship-automation:$airshipVersion") {
        exclude group:'androidx.appcompat', module: 'appcompat'
    }

    implementation "com.google.firebase:firebase-messaging:${safeExtGet('firebaseMessagingVersion', '22.0.0')}"
}
