2024-01-15 19:38:53 +01:00
|
|
|
apply plugin: 'com.android.application'
|
|
|
|
apply plugin: 'kotlin-android'
|
|
|
|
apply plugin: 'kotlinx-serialization'
|
2024-01-08 23:12:39 +01:00
|
|
|
apply plugin: 'org.jmailen.kotlinter'
|
|
|
|
|
|
|
|
android {
|
2024-01-29 07:12:08 +01:00
|
|
|
compileSdk AndroidConfig.compileSdk
|
2024-01-08 23:12:39 +01:00
|
|
|
|
|
|
|
namespace "eu.kanade.tachiyomi.extension"
|
|
|
|
sourceSets {
|
|
|
|
main {
|
|
|
|
manifest.srcFile "AndroidManifest.xml"
|
|
|
|
java.srcDirs = ['src']
|
|
|
|
res.srcDirs = ['res']
|
|
|
|
assets.srcDirs = ['assets']
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
defaultConfig {
|
2024-01-29 07:12:08 +01:00
|
|
|
minSdk AndroidConfig.minSdk
|
|
|
|
targetSdk AndroidConfig.targetSdk
|
2024-01-16 02:35:29 +01:00
|
|
|
applicationIdSuffix project.parent.name + "." + project.name
|
2024-01-08 23:12:39 +01:00
|
|
|
versionCode extVersionCode
|
|
|
|
versionName project.ext.properties.getOrDefault("libVersion", "1.4") + ".$extVersionCode"
|
2024-01-15 08:53:42 +01:00
|
|
|
base {
|
2024-01-16 02:35:29 +01:00
|
|
|
archivesName = "tachiyomi-$applicationIdSuffix-v$versionName"
|
2024-01-15 08:53:42 +01:00
|
|
|
}
|
2024-01-08 23:12:39 +01:00
|
|
|
def readmes = project.projectDir.listFiles({ File file ->
|
|
|
|
file.name == "README.md" || file.name == "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 : "Tachiyomi: $extName",
|
|
|
|
extClass: extClass,
|
|
|
|
extFactory: project.ext.properties.getOrDefault("extFactory", ""),
|
|
|
|
nsfw: project.ext.properties.getOrDefault("isNsfw", 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 {
|
|
|
|
resValues false
|
|
|
|
shaders false
|
2024-01-14 21:04:00 +01:00
|
|
|
buildConfig true
|
2024-01-08 23:12:39 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
compileOptions {
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
|
|
targetCompatibility = JavaVersion.VERSION_1_8
|
|
|
|
}
|
|
|
|
|
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = JavaVersion.VERSION_1_8.toString()
|
|
|
|
freeCompilerArgs += "-opt-in=kotlinx.serialization.ExperimentalSerializationApi"
|
|
|
|
}
|
|
|
|
|
|
|
|
kotlinter {
|
|
|
|
experimentalRules = true
|
|
|
|
disabledRules = [
|
|
|
|
"experimental:argument-list-wrapping", // Doesn't play well with Android Studio
|
|
|
|
"experimental:comment-wrapping",
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
implementation(project(":core"))
|
|
|
|
compileOnly(libs.bundles.common)
|
|
|
|
}
|
|
|
|
|
|
|
|
preBuild.dependsOn(lintKotlin)
|
|
|
|
lintKotlin.dependsOn(formatKotlin)
|