plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt' id 'kotlin-android-extensions' } def tmpFilePath = System.getProperty("user.home") + "/work/_temp/keystore/" def allFilesFromDir = new File(tmpFilePath).listFiles() def prerelaseStoreFile = null if (allFilesFromDir != null) { prerelaseStoreFile = allFilesFromDir.first() } android { testOptions { unitTests.returnDefaultValues = true } signingConfigs { prerelease { if (prerelaseStoreFile != null) { storeFile = file(prerelaseStoreFile) storePassword System.getenv("SIGNING_STORE_PASSWORD") keyAlias System.getenv("SIGNING_KEY_ALIAS") keyPassword System.getenv("SIGNING_KEY_PASSWORD") } } } compileSdkVersion 31 buildToolsVersion "30.0.3" def Properties properties = new Properties() properties.load(project.rootProject.file("local.properties").newDataInputStream()) defaultConfig { applicationId "com.lagradost.cloudstream3" minSdkVersion 21 targetSdkVersion 31 versionCode 34 versionName "2.3.3" resValue "string", "app_version", "${defaultConfig.versionName}${versionNameSuffix ?: ""}" buildConfigField("String", "BUILDDATE", "new java.text.SimpleDateFormat(\"yyyy-MM-dd HH:mm\").format(new java.util.Date(" + System.currentTimeMillis() + "L));") buildConfigField("String", "TMDB_API_KEY", "\"" + properties.getProperty("TMDB_API_KEY", "") + "\"") testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" kapt { includeCompileClasspath = true } } buildTypes { release { minifyEnabled false debuggable true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } prerelease { applicationIdSuffix ".prerelease" buildConfigField("boolean", "BETA", "true") signingConfig signingConfigs.prerelease versionNameSuffix '-PRE' minifyEnabled false debuggable true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } debug { applicationIdSuffix ".debug" } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' freeCompilerArgs = ['-Xjvm-default=compatibility'] } } repositories { maven { url 'https://jitpack.io' } } dependencies { testImplementation 'org.json:json:20180813' implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'com.google.android.material:material:1.4.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.2' implementation 'androidx.navigation:navigation-fragment-ktx:2.4.0-beta02' implementation 'androidx.navigation:navigation-ui-ktx:2.4.0-beta02' implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0' implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' //implementation "io.karn:khttp-android:0.1.2" //okhttp instead implementation 'org.jsoup:jsoup:1.13.1' implementation "com.fasterxml.jackson.module:jackson-module-kotlin:2.12.3" implementation("com.google.android.material:material:1.4.0") implementation "androidx.preference:preference-ktx:1.1.1" implementation 'com.github.bumptech.glide:glide:4.12.0' kapt 'com.github.bumptech.glide:compiler:4.12.0' implementation 'com.github.bumptech.glide:okhttp3-integration:4.12.0' implementation 'jp.wasabeef:glide-transformations:4.0.0' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' // implementation "androidx.leanback:leanback-paging:1.1.0-alpha09" // Exoplayer implementation 'com.google.android.exoplayer:exoplayer:2.15.1' implementation 'com.google.android.exoplayer:extension-cast:2.15.1' implementation "com.google.android.exoplayer:extension-mediasession:2.15.1" //implementation "com.google.android.exoplayer:extension-leanback:2.14.0" // Bug reports implementation "ch.acra:acra-core:5.8.4" implementation "ch.acra:acra-toast:5.8.4" compileOnly "com.google.auto.service:auto-service-annotations:1.0" //either for java sources: annotationProcessor "com.google.auto.service:auto-service:1.0" //or for kotlin sources (requires kapt gradle plugin): kapt "com.google.auto.service:auto-service:1.0" // subtitle color picker implementation 'com.jaredrummler:colorpicker:1.1.0' //run JS implementation 'org.mozilla:rhino:1.7R4' // TorrentStream //implementation 'com.github.TorrentStream:TorrentStream-Android:2.7.0' // Downloading implementation "androidx.work:work-runtime:2.7.1" implementation "androidx.work:work-runtime-ktx:2.7.1" // Networking implementation "com.squareup.okhttp3:okhttp:4.9.1" implementation "com.squareup.okhttp3:okhttp-dnsoverhttps:4.9.1" // Util to skip the URI file fuckery 🙏 implementation "com.github.tachiyomiorg:unifile:17bec43" // API because cba maintaining it myself implementation "com.uwetrottmann.tmdb2:tmdb-java:2.6.0" // debugImplementation because LeakCanary should only run in debug builds. // debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7' }