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

buildscript {
    ext.kotlin_version = '1.3.50'
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.3"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 28

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

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

    compileOptions {
        targetCompatibility 1.8  // required
        sourceCompatibility 1.8  // optional
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }

    packagingOptions {
        exclude 'META-INF/plugin_release.kotlin_module'
    }

    lintOptions {
        abortOnError false
    }
}

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

    // For release versions
    maven {
        url 'http://maven-mobile.7tv.de:8081/nexus/content/repositories/releases/'
        credentials {
            username 'p7s1'
            password 'ForGreatSecurity!'
        }
    }

    // For snapshot versions
    maven {
        url 'http://maven-mobile.7tv.de:8081/nexus/content/repositories/snapshots/'
        credentials {
            username 'p7s1'
            password 'ForGreatSecurity!'
        }
    }

    maven { url "https://s3.eu-central-1.amazonaws.com/download.sensic.net/s2s/sdk/android" }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    // 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:+"
    }

    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

    implementation "de.prosiebensat1digital.easytracking:EasyTrackingCore:$easyVersion"
    implementation "de.prosiebensat1digital.easytracking:EasyTrackingGoogleAnalytics:$easyVersion"
    implementation "de.prosiebensat1digital.easytracking:EasyTrackingINFOnline:$easyVersion"
    implementation "de.prosiebensat1digital.easytracking:EasyTrackingMixpanel:$easyVersion"
    implementation "de.prosiebensat1digital.easytracking:EasyTrackingNielsen:$easyVersion"
    implementation "de.prosiebensat1digital.easytracking:EasyTrackingNurago:$easyVersion"

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}


//---------------------------------- Bintray ----------------------------------//
apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.bintray'
apply plugin: 'org.jetbrains.dokka-android'

buildscript {
    ext.easyVersion = '1.7.0'
    repositories {
        jcenter()
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.3'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
        classpath "org.jetbrains.dokka:dokka-android-gradle-plugin:0.9.17"
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
    }
}

dokka {
    outputFormat = 'javadoc'
    outputDirectory = "$buildDir/javadoc"
    reportUndocumented = false
}

task androidJavadocsJar(type: Jar, dependsOn: dokka) {
    classifier = 'javadoc'
    from "$buildDir/javadoc"
}

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
}
