plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'org.jetbrains.kotlin.plugin.serialization' version '1.8.10' } ext { currentVersionName = project.hasProperty('versionName') ? project.property('versionName') : '1.0.0' currentVersionCode = project.hasProperty('versionCode') ? Integer.parseInt(project.property('versionCode')) : 1 } println("Version Name: $currentVersionName") println("Version Code: $currentVersionCode") def keystoreProperties = new Properties() def keystorePropertiesFile = rootProject.file('/opt/key.properties') if (keystorePropertiesFile.exists()) { keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) } android { namespace 'com.futo.fcast.receiver' compileSdk 34 defaultConfig { applicationId "com.futo.fcast.receiver" minSdk 24 targetSdk 34 versionCode currentVersionCode versionName currentVersionName testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } flavorDimensions "type" productFlavors { playstore { dimension "type" applicationIdSuffix ".playstore" versionNameSuffix "-playstore" buildConfigField "boolean", "IS_PLAYSTORE_VERSION", "true" } defaultFlavor { dimension "type" buildConfigField "boolean", "IS_PLAYSTORE_VERSION", "false" } } signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null storePassword keystoreProperties['storePassword'] } } sourceSets { playstore { manifest.srcFile 'src/playstore/AndroidManifest.xml' } } buildTypes { release { signingConfig signingConfigs.release minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } buildFeatures { buildConfig true } } dependencies { implementation 'androidx.core:core-ktx:1.12.0' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.11.0' implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.2" implementation 'androidx.media3:media3-exoplayer:1.2.0' implementation "com.squareup.okhttp3:okhttp:4.11.0" implementation 'com.journeyapps:zxing-android-embedded:4.3.0' implementation 'org.java-websocket:Java-WebSocket:1.5.4' implementation 'androidx.media3:media3-ui:1.2.0' implementation 'androidx.media3:media3-exoplayer-dash:1.2.0' implementation 'androidx.media3:media3-exoplayer-hls:1.2.0' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.5' androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' }