build.gradle 3.44 KB
apply plugin: 'com.android.library'
apply plugin: 'maven-publish'

android.buildFeatures.buildConfig = true

ext {
    PUBLISH_GROUP_ID = 'ly.warp'
    PUBLISH_VERSION = '4.5.5.5'
    PUBLISH_ARTIFACT_ID = 'warply-android-sdk'
}

apply from: "${rootProject.projectDir}/scripts/publish-module.gradle"

android {
    compileSdkVersion 35
    buildToolsVersion "35.0.0"

    useLibrary 'org.apache.http.legacy'

    publishing {
        // Configure all components to be published
        singleVariant('release') {
            // Publish the release variant with sources
            withSourcesJar()
        }
    }

    defaultConfig {
        minSdkVersion 23
        targetSdkVersion 35
        consumerProguardFiles 'proguard-rules.pro'
        vectorDrawables.useSupportLibrary = true
    }
    splits {
        abi {
            reset()
            enable false
            universalApk false  // If true, also generate a universal APK
            include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
        }
    }
    lintOptions {
        abortOnError false
    }

    sourceSets {
        main {
            jniLibs.srcDirs = ['src/main/jniLibs']
        }
    }

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

    namespace "ly.warp.sdk"
}

dependencies {
    //------------------------------ Support -----------------------------//
    api 'androidx.appcompat:appcompat:1.6.1'
    api 'androidx.recyclerview:recyclerview:1.3.0'
    api 'androidx.cardview:cardview:1.0.0'
    api 'androidx.security:security-crypto:1.1.0-alpha06' // For minSDK 23 use 1.0.0, for minSDK 21 use 1.1.0 that is currently in alpha
    api 'org.altbeacon:android-beacon-library:2.19.3'
    api 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
    api "commons-logging:commons-logging:1.2"

    //------------------------------ Firebase -----------------------------//
    api platform('com.google.firebase:firebase-bom:32.0.0')
    api 'com.google.firebase:firebase-messaging'

    //------------------------------ GMS -----------------------------//
    api 'com.google.android.gms:play-services-base:18.2.0'
    api 'com.google.android.gms:play-services-location:21.0.1'

    //------------------------------ Work Manager -----------------------------//
    api 'androidx.work:work-runtime:2.8.1'

    //------------------------------ Glide -----------------------------//
    api 'com.github.bumptech.glide:glide:4.12.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'

    //------------------------------ Huawei -----------------------------//
    api 'com.huawei.agconnect:agconnect-core:1.9.0.300'
    api 'com.huawei.hms:base:6.9.0.300'
    api 'com.huawei.hms:push:6.10.0.300'
    api 'com.huawei.hms:ads-identifier:3.4.62.300'

    //------------------------------ SQLite (Standard Android) -----------------------------//
    api 'androidx.sqlite:sqlite:2.5.2'
}

// In every export please update the version number
tasks.register('deleteJarLibrary', Delete) {
    delete 'jar/warply_android_sdk_v4.5.0.jar'
}

tasks.register('createJarLibrary', Jar) {
    dependsOn('assembleRelease')
    from(fileTree('build/intermediates/aar/release/'))
    destinationDirectory = file('jar')
    archiveFileName = "warply_android_sdk_v${PUBLISH_VERSION}.jar"
}

tasks.named('createJarLibrary') {
    dependsOn('deleteJarLibrary', 'build')
}