build.gradle 3.8 KB
plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-parcelize'
}

def getServerUrl() {
    return hasProperty('livekitUrl') ? livekitUrl : ""
}

def getApiKey() {
    return hasProperty('livekitApiKey') ? livekitApiKey : ""
}

def getApiSecret() {
    return hasProperty('livekitApiSecret') ? livekitApiSecret : ""
}

final serverUrl = getServerUrl()
final apiKey = getApiKey()
final apiSecret = getApiSecret()

android {
    compileSdkVersion androidSdk.compileVersion

    defaultConfig {
        applicationId "io.livekit.android.videoencodedecodetest"
        minSdkVersion androidSdk.minVersion
        targetSdkVersion androidSdk.targetVersion
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables {
            useSupportLibrary true
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            buildConfigField "String", "SERVER_URL", "\"$serverUrl\""
            buildConfigField "String", "API_KEY", "\"$apiKey\""
            buildConfigField "String", "API_SECRET", "\"$apiSecret\""
        }

        debug {
            buildConfigField "String", "SERVER_URL", "\"$serverUrl\""
            buildConfigField "String", "API_KEY", "\"$apiKey\""
            buildConfigField "String", "API_SECRET", "\"$apiSecret\""
        }
    }
    compileOptions {
        sourceCompatibility java_version
        targetCompatibility java_version
    }
    kotlinOptions {
        jvmTarget = java_version
        freeCompilerArgs += '-Xopt-in=kotlin.RequiresOptIn'
    }
    buildFeatures {
        compose true
    }
    composeOptions {
        kotlinCompilerExtensionVersion compose_compiler_version
    }
    packagingOptions {
        resources {
            excludes += '/META-INF/{AL2.0,LGPL2.1}'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation deps.coroutines.lib
    implementation "androidx.core:core-ktx:${versions.androidx_core}"
    implementation 'androidx.appcompat:appcompat:1.3.1'
    implementation 'com.google.android.material:material:1.4.0'
    implementation "androidx.compose.ui:ui:$compose_version"
    implementation "androidx.compose.material:material:$compose_version"
    implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
    implementation "androidx.compose.runtime:runtime-livedata:$compose_version"
    implementation "androidx.constraintlayout:constraintlayout-compose:1.0.0-rc01"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:${versions.androidx_lifecycle}"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:${versions.androidx_lifecycle}"
    implementation "androidx.lifecycle:lifecycle-common-java8:${versions.androidx_lifecycle}"
    implementation 'androidx.activity:activity-compose:1.3.1'
    implementation 'com.google.accompanist:accompanist-pager:0.19.0'
    implementation 'com.google.accompanist:accompanist-pager-indicators:0.19.0'
    implementation deps.timber
    implementation project(":sample-app-common")
    implementation project(":livekit-android-sdk")
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
    androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
    androidTestImplementation 'io.jsonwebtoken:jjwt-api:0.11.2'
    androidTestImplementation 'io.jsonwebtoken:jjwt-impl:0.11.2'
    androidTestImplementation "io.jsonwebtoken:jjwt-jackson:0.11.2"
    debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
}