// This buildscript{} block configures the code driving the build
buildscript {
    /**
     * The nested repositories{} block declares that this build uses the
     * jcenter repository.
     */
    repositories {
        jcenter()
        google()
    }

    /**
     * This block declares a dependency on the 2.3.3 version
     * of the Gradle plugin for the buildscript.
     */
    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.1'
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

apply plugin: 'com.android.library'

android {
    compileSdkVersion 28

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 14
    }

    sourceSets {
        main {
            java {
                //WallPadAPI jar생성시에는 아래 코드 주석처리하고 exportJar 수행
                //WallPadDevice용 jar생성시에는 아래 코드 주석 해제하고 exportServiceJar 실행
                //exclude "**/wallpadapi/**"
            }
        }
    }

    buildTypes {
        release {
            lintOptions {
                disable 'MissingTranslation'
                checkReleaseBuilds false
                abortOnError false
            }
//            minifyEnabled false
//            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
        release_secured {
            lintOptions {
                disable 'MissingTranslation'
                checkReleaseBuilds false
                abortOnError false
            }
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation files('libs/WallPadSupport.jar')
}

task deleteOldJar(type: Delete) {
    delete 'jar/WallPadAPI.jar'
}

//task to export contents as jar
task exportJar(type: Copy) {
//    from('build/intermediates/intermediate-jars/release/')
//    from('build/intermediates/packaged-classes/release/')
    from('build/intermediates/aar_main_jar/release/')
    into('jar/')
    include('classes.jar')
    ///Give whatever name you want to give
    rename 'classes.jar', 'WallPadAPI.jar'
}

exportJar.dependsOn(deleteOldJar, build)



//WallPadAPIforSVC
task exportServiceJar_Step1_DeleteAidlFile(type: Delete) {
    delete 'src/main/aidl/com/artncore/wallpaddevservice/DevCtrCMD.aidl'
}

task deleteOldServiceJar(type: Delete) {
    delete 'jar/WallPadAPIforSVC.jar'
}

//task to export contents as jar
task exportServiceJar_Step2_BuildJarFile(type: Copy) {
//    from('build/intermediates/intermediate-jars/release/')
//    from('build/intermediates/packaged-classes/release/')
    from('build/intermediates/aar_main_jar/release/')
    into('jar/')
    include('classes.jar')
    ///Give whatever name you want to give
    rename 'classes.jar', 'WallPadAPIforSVC.jar'
}
exportServiceJar_Step2_BuildJarFile.dependsOn(deleteOldServiceJar, build)

task exportServiceJar_Step3_RestoreAidlFile(type: Copy) {
    from('/backup')
    into('src/main/aidl/com/artncore/wallpaddevservice/')
    include('DevCtrCMD.aidl')
}
repositories {
    google()
}