apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlinx-serialization' apply plugin: 'org.jmailen.kotlinter' android { compileSdkVersion AndroidConfig.compileSdk namespace AndroidConfig.namespace sourceSets { main { manifest.srcFile "AndroidManifest.xml" java.srcDirs = ['src'] res.srcDirs = ['res'] } release { manifest.srcFile "AndroidManifest.xml" } debug { manifest.srcFile "AndroidManifest.xml" } } defaultConfig { minSdkVersion AndroidConfig.minSdk targetSdkVersion AndroidConfig.targetSdk applicationIdSuffix project.parent.name + "." + project.name versionCode extVersionCode versionName project.ext.properties.getOrDefault("libVersion", "14") + ".$extVersionCode" base { archivesName = "aniyomi-$applicationIdSuffix-v$versionName" } def readmes = project.projectDir.listFiles({ File file -> file.name.equals("README.md") || file.name.equals("CHANGELOG.md") } as FileFilter) def hasReadme = readmes != null && readmes.any { File file -> file.name.startsWith("README") } def hasChangelog = readmes != null && readmes.any { File file -> file.name.startsWith("CHANGELOG") } manifestPlaceholders = [ appName : "Aniyomi: $extName", extClass: extClass, extFactory: project.ext.properties.getOrDefault("extFactory", ""), nsfw: project.ext.properties.getOrDefault("containsNsfw", false) ? 1 : 0, hasReadme: hasReadme ? 1 : 0, hasChangelog: hasChangelog ? 1 : 0, ] } signingConfigs { release { storeFile rootProject.file("signingkey.jks") storePassword System.getenv("KEY_STORE_PASSWORD") keyAlias System.getenv("ALIAS") keyPassword System.getenv("KEY_PASSWORD") } } buildTypes { release { signingConfig signingConfigs.release minifyEnabled false } } dependenciesInfo { includeInApk = false } buildFeatures { // Disable unused AGP features aidl false renderScript false resValues false shaders false buildConfig true } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() freeCompilerArgs += "-opt-in=kotlinx.serialization.ExperimentalSerializationApi" } } dependencies { implementation(project(":core")) compileOnly(libs.bundles.common) } configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> if (details.requested.group == 'org.jetbrains.kotlin' && details.requested.name == 'kotlin-stdlib-jdk8' && details.requested.version == '1.7.0') { details.useVersion(libs.versions.kotlin.version.get()) details.because 'Fix problems with dev.datlag JsUnpacker' } } } preBuild.dependsOn(lintKotlin) lintKotlin.dependsOn(formatKotlin)