apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.3"

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 26

        consumerProguardFiles 'proguard-rules.pro'

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    sourceSets {
        main {
            java.srcDirs += 'src/main/kotlin'
        }
        test {
            java.srcDirs += 'src/test/kotlin'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    lintOptions {
        abortOnError false
    }

    testOptions {
        unitTests {
            includeAndroidResources = true
        }
    }
}

repositories {
    google()
    jcenter()
    mavenCentral()
    maven { // Applicaster
        credentials {
            username "drazumeev-sc@applicaster-ltd"
            password "cad9fab6cc174e4a38b9342fff9e0a0cf26fe9dd"
        }
        url 'https://dl.bintray.com/applicaster-ltd/maven'
    }
    maven { url 'https://jitpack.io' }
}

//SDK Manager
buildscript {
    ext.kotlin_version = '1.3.50'
    repositories {
        google()
        maven { url 'https://jitpack.io' }
        mavenCentral()
        maven {
            url "https://gitlab.p7s1.io/api/v4/projects/168/packages/maven"
            credentials(HttpHeaderCredentials) {
                name = 'Deploy-Token'
                // gitLabPrivateToken value will be read from `gradle.properties`
                value = 'F9AnTrvvT12mnQhezU8c'
            }
            authentication {
                header(HttpHeaderAuthentication)
            }
        }
        maven { url 'https://google.bintray.com/exoplayer/' }

    maven { url "https://adtec-app-android-maven.s3.eu-central-1.amazonaws.com" }
}
    dependencies {
        classpath 'com.github.JakeWharton:sdk-manager-plugin:1d29782dd6ffa18880c8cbada748fb3dea45e7be'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

dependencies {
    // Applicaster SDK
    def applicasterSDKPath = 'com.applicaster:applicaster-android-sdk-core:6.2.0'

    // Check if an open SDK is defined - if not use the closed one.
    def devSDK = findProject(':applicaster-android-sdk')
    if (devSDK != null) {
        implementation project(':applicaster-android-sdk')
    } else {
        api(applicasterSDKPath) {
            exclude group: 'com.applicaster', module: 'react-native'
        }
        api "com.facebook.react:react-native:+"
    }

    api 'javax.inject:javax.inject:1'
    api "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"


    api fileTree(dir: 'libs', include: ['*.jar'])
    implementation "de.prosiebensat1digital:oasisplayer:12.0.3"
    implementation 'de.prosiebensat1digital:somplugin:12.0.3'
    implementation 'com.sevenonemedia:sevenoneads:0.9.2'
}

//---------------------------------- Bintray ----------------------------------//

apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.bintray'
apply plugin: 'com.github.dcendents.android-maven'

buildscript {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url 'https://jitpack.io' }
        maven { // Applicaster
            credentials {
                username "drazumeev-sc@applicaster-ltd"
                if (null == username || username.isEmpty()) {
                    throw new Exception("Missing environment variable: BINTRAY_USER")
                }
                password "cad9fab6cc174e4a38b9342fff9e0a0cf26fe9dd"
                if (null == password || password.isEmpty()) {
                    throw new Exception("Missing environment variable: BINTRAY_API_KEY")
                }
            }
            url 'https://dl.bintray.com/applicaster-ltd/maven'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.0'
    }
}

task androidJavadocs(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    excludes = ['**/*.kt']
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
    failOnError false
}

task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
    classifier = 'javadoc'
    excludes = ['**/*.kt']
    from androidJavadocs.destinationDir
}

task androidSourcesJar(type: Jar) {
    classifier = 'sources'
    from android.sourceSets.main.java.sourceFiles
}

task androidJar(type: Jar) {
    from 'build/intermediates/classes/release'
}

artifacts {
    archives androidSourcesJar
    archives androidJavadocsJar
    archives androidJar
}

apply plugin: 'kotlin-android-extensions'
