
repositories {
	mavenCentral()
    jcenter()
    maven {
    	url "https://maven.google.com"
    }
}

dependencies {

}

task deploy(type: Copy){
    dependsOn "assembleRelease"

    from "build/outputs/apk/google/release/android-google-release.apk"
    into "../deploy/";
    rename ("android-google-release.apk", appName + "-android-" + getVersionString() + ".apk");
}

android {
    buildToolsVersion '28.0.3'
    compileSdkVersion 28
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets', 'src/main/assets', '../core/assets/']
            jniLibs.srcDirs = ['libs']
        }
    }
    packagingOptions {
        exclude 'META-INF/robovm/ios/robovm.xml'
    }

    defaultConfig {
        def vfile = file('../core/assets/version.properties')

        def code = 0
        def versionNameResult = "unknown"

        if(vfile.exists()){
            def props = new Properties()
            props.load(new FileInputStream(vfile))

            code = (props['androidBuildCode'] == null ? 0 : props['androidBuildCode']).toInteger() + 1

            props['androidBuildCode'] = code.toString()
            props.store(vfile.newWriter(), "Autogenerated file. Do not modify.")
            versionNameResult = "$versionNumber-$versionType-${props['build'].replace(" ", "-")}"
        }

        applicationId "io.anuke.mindustry.classic"
        minSdkVersion 14
        targetSdkVersion 28
        versionCode code
        versionName versionNameResult
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    flavorDimensions "google"

    productFlavors {
        google {

        }
    }

    signingConfigs {
        release {
            if(project.hasProperty("CLASSIC_STORE_FILE")) {
                storeFile file(CLASSIC_STORE_FILE)
                storePassword CLASSIC_STORE_PASSWORD
                keyAlias CLASSIC_KEY_ALIAS
                keyPassword CLASSIC_KEY_PASSWORD
            }else{
                println("No keystore info property found!");
            }
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}
// called every time gradle gets executed, takes the native dependencies of
// the natives configuration, and extracts them to the proper libs/ folders
// so they get packed with the APK.
task copyAndroidNatives() {
    file("libs/armeabi/").mkdirs();
    file("libs/armeabi-v7a/").mkdirs();
    file("libs/arm64-v8a/").mkdirs();
    file("libs/x86_64/").mkdirs();
    file("libs/x86/").mkdirs();

    configurations.natives.files.each { jar ->
        def outputDir = null
        if (jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")
        if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
        if (jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi")
        if (jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64")
        if (jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86")
        if (outputDir != null) {
            copy {
                from zipTree(jar)
                into outputDir
                include "*.so"
            }
        }
    }
}
task run(type: Exec) {
    def path
    def localProperties = project.file("../local.properties")
    if (localProperties.exists()) {
        Properties properties = new Properties()
        localProperties.withInputStream { instr ->
            properties.load(instr)
        }
        def sdkDir = properties.getProperty('sdk.dir')
        if (sdkDir) {
            path = sdkDir
        } else {
            path = "$System.env.ANDROID_HOME"
        }
    } else {
        path = "$System.env.ANDROID_HOME"
    }

    def adb = path + "/platform-tools/adb"
    commandLine "$adb", 'shell', 'am', 'start', '-n', 'io.anuke.mindustry/io.anuke.mindustry.AndroidLauncher'
}