apply plugin: 'com.android.library'
apply plugin: 'maven-publish'

android {
    namespace "com.termux.terminal"
    compileSdk project.properties.compileSdkVersion.toInteger()
    ndkVersion = System.getenv("JITPACK_NDK_VERSION") ?: project.properties.ndkVersion

    defaultConfig {
        minSdkVersion project.properties.minSdkVersion.toInteger()
        targetSdkVersion project.properties.targetSdkVersion.toInteger()

        externalNativeBuild {
            ndkBuild {
                cFlags "-std=c11", "-Wall", "-Wextra", "-Werror", "-Os", "-fno-stack-protector", "-Wl,--gc-sections"
            }
        }

        ndk {
            abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
        }
    }

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

    externalNativeBuild {
        ndkBuild {
            path "src/main/jni/Android.mk"
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    testOptions {
        unitTests.returnDefaultValues = true
    }
    buildFeatures {
        viewBinding true
    }
    buildToolsVersion '34.0.0'
}

tasks.withType(Test) {
    testLogging {
        events "started", "passed", "skipped", "failed"
    }
}

dependencies {
    implementation "androidx.annotation:annotation:1.3.0"
    testImplementation "junit:junit:4.13.2"
}

task sourceJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
//    classifier "sources"
}

afterEvaluate {
    publishing {
        publications {
            // Creates a Maven publication called "release".
//            release(MavenPublication) {
//                from components.release
//                groupId = 'com.termux'
//                artifactId = 'terminal-emulator'
//                version = '0.118.0'
//                artifact(sourceJar)
//            }
        }
    }
}
