mirror of
https://github.com/keiyoushi/extensions-source.git
synced 2024-11-21 18:02:42 +01:00
110 lines
2.9 KiB
Groovy
110 lines
2.9 KiB
Groovy
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlinx-serialization'
|
|
apply plugin: 'org.jmailen.kotlinter'
|
|
|
|
assert !ext.has("pkgNameSuffix")
|
|
assert !ext.has("libVersion")
|
|
|
|
android {
|
|
compileSdk AndroidConfig.compileSdk
|
|
|
|
namespace "eu.kanade.tachiyomi.extension"
|
|
sourceSets {
|
|
main {
|
|
manifest.srcFile "AndroidManifest.xml"
|
|
java.srcDirs = ['src']
|
|
res.srcDirs = ['res']
|
|
assets.srcDirs = ['assets']
|
|
}
|
|
}
|
|
|
|
defaultConfig {
|
|
minSdk AndroidConfig.minSdk
|
|
targetSdk AndroidConfig.targetSdk
|
|
applicationIdSuffix project.parent.name + "." + project.name
|
|
versionCode extVersionCode
|
|
versionName "1.4.$versionCode"
|
|
base {
|
|
archivesName = "tachiyomi-$applicationIdSuffix-v$versionName"
|
|
}
|
|
assert extClass.startsWith(".")
|
|
manifestPlaceholders = [
|
|
appName : "Tachiyomi: $extName",
|
|
extClass: extClass,
|
|
nsfw: project.ext.find("isNsfw") ? 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
|
|
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"
|
|
}
|
|
|
|
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)
|
|
}
|
|
|
|
tasks.register("writeManifestFile") {
|
|
doLast {
|
|
def manifest = android.sourceSets.getByName("main").manifest
|
|
if (!manifest.srcFile.exists()) {
|
|
File tempFile = layout.buildDirectory.get().file("tempAndroidManifest.xml").getAsFile()
|
|
if (!tempFile.exists()) {
|
|
tempFile.withWriter {
|
|
it.write('<?xml version="1.0" encoding="utf-8"?>\n<manifest />\n')
|
|
}
|
|
}
|
|
manifest.srcFile(tempFile.path)
|
|
}
|
|
}
|
|
}
|
|
|
|
preBuild.dependsOn(writeManifestFile, lintKotlin)
|
|
lintKotlin.dependsOn(formatKotlin)
|