浏览代码

Move shared configuration to subprojects in root Gradle file (#8951)

* Move shared configuration to subprojects in root Gradle file

* Missed but not forgotten

* Review changes
Andreas 2 年之前
父节点
当前提交
2b5d9fd76b
共有 6 个文件被更改,包括 44 次插入82 次删除
  1. 0 25
      app/build.gradle.kts
  2. 44 0
      build.gradle.kts
  3. 0 16
      core/build.gradle.kts
  4. 0 15
      i18n/build.gradle.kts
  5. 0 14
      macrobenchmark/build.gradle.kts
  6. 0 12
      source-api/build.gradle.kts

+ 0 - 25
app/build.gradle.kts

@@ -1,4 +1,3 @@
-import org.gradle.api.tasks.testing.logging.TestLogEvent
 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 import org.jmailen.gradle.kotlinter.tasks.LintTask
 
@@ -6,7 +5,6 @@ plugins {
     id("com.android.application")
     id("com.mikepenz.aboutlibraries.plugin")
     kotlin("android")
-    id("tachiyomi.lint")
     kotlin("plugin.serialization")
     id("com.github.zellius.shortcut-helper")
     id("com.squareup.sqldelight")
@@ -22,13 +20,9 @@ val SUPPORTED_ABIS = setOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
 
 android {
     namespace = "eu.kanade.tachiyomi"
-    compileSdk = AndroidConfig.compileSdk
-    ndkVersion = AndroidConfig.ndk
 
     defaultConfig {
         applicationId = "eu.kanade.tachiyomi"
-        minSdk = AndroidConfig.minSdk
-        targetSdk = AndroidConfig.targetSdk
         versionCode = 94
         versionName = "0.14.3"
 
@@ -143,17 +137,6 @@ android {
         kotlinCompilerExtensionVersion = compose.versions.compiler.get()
     }
 
-    compileOptions {
-        sourceCompatibility = JavaVersion.VERSION_1_8
-        targetCompatibility = JavaVersion.VERSION_1_8
-
-        isCoreLibraryDesugaringEnabled = true
-    }
-
-    kotlinOptions {
-        jvmTarget = JavaVersion.VERSION_1_8.toString()
-    }
-
     sqldelight {
         database("Database") {
             packageName = "eu.kanade.tachiyomi"
@@ -167,8 +150,6 @@ dependencies {
     implementation(project(":core"))
     implementation(project(":source-api"))
 
-    coreLibraryDesugaring(libs.desugar)
-
     // Compose
     implementation(platform(compose.bom))
     implementation(compose.activity)
@@ -304,12 +285,6 @@ androidComponents {
 }
 
 tasks {
-    withType<Test> {
-        useJUnitPlatform()
-        testLogging {
-            events(TestLogEvent.PASSED, TestLogEvent.SKIPPED, TestLogEvent.FAILED)
-        }
-    }
 
     withType<LintTask>().configureEach {
         exclude { it.file.path.contains("generated[\\\\/]".toRegex()) }

+ 44 - 0
build.gradle.kts

@@ -1,3 +1,8 @@
+import com.android.build.gradle.BaseExtension
+import com.android.build.gradle.BasePlugin
+import org.gradle.api.tasks.testing.logging.TestLogEvent
+import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
+
 buildscript {
     dependencies {
         classpath(libs.android.shortcut.gradle)
@@ -11,6 +16,45 @@ plugins {
     alias(kotlinx.plugins.serialization) apply false
 }
 
+subprojects {
+    tasks.withType<KotlinJvmCompile> {
+        kotlinOptions {
+            jvmTarget = JavaVersion.VERSION_1_8.toString()
+        }
+    }
+
+    tasks.withType<Test> {
+        useJUnitPlatform()
+        testLogging {
+            events(TestLogEvent.PASSED, TestLogEvent.SKIPPED, TestLogEvent.FAILED)
+        }
+    }
+
+    plugins.withType<BasePlugin> {
+        plugins.apply("tachiyomi.lint")
+        configure<BaseExtension> {
+            compileSdkVersion(AndroidConfig.compileSdk)
+            defaultConfig {
+                minSdk = AndroidConfig.minSdk
+                targetSdk = AndroidConfig.targetSdk
+                ndk {
+                    version = AndroidConfig.ndk
+                }
+            }
+
+            compileOptions {
+                sourceCompatibility = JavaVersion.VERSION_1_8
+                targetCompatibility = JavaVersion.VERSION_1_8
+                isCoreLibraryDesugaringEnabled = true
+            }
+
+            dependencies {
+                add("coreLibraryDesugaring", libs.desugar)
+            }
+        }
+    }
+}
+
 tasks.register<Delete>("clean") {
     delete(rootProject.buildDir)
 }

+ 0 - 16
core/build.gradle.kts

@@ -1,27 +1,11 @@
 plugins {
     id("com.android.library")
     kotlin("android")
-    id("tachiyomi.lint")
     kotlin("plugin.serialization")
 }
 
 android {
     namespace = "eu.kanade.tachiyomi.core"
-    compileSdk = AndroidConfig.compileSdk
-
-    defaultConfig {
-        minSdk = AndroidConfig.minSdk
-        targetSdk = AndroidConfig.targetSdk
-    }
-
-    compileOptions {
-        sourceCompatibility = JavaVersion.VERSION_1_8
-        targetCompatibility = JavaVersion.VERSION_1_8
-    }
-
-    kotlinOptions {
-        jvmTarget = JavaVersion.VERSION_1_8.toString()
-    }
 }
 
 dependencies {

+ 0 - 15
i18n/build.gradle.kts

@@ -1,25 +1,10 @@
 plugins {
     id("com.android.library")
     kotlin("android")
-    id("tachiyomi.lint")
 }
 
 android {
     namespace = "eu.kanade.tachiyomi.i18n"
-    compileSdk = AndroidConfig.compileSdk
-
-    defaultConfig {
-        minSdk = AndroidConfig.minSdk
-        targetSdk = AndroidConfig.targetSdk
-    }
-
-    compileOptions {
-        sourceCompatibility = JavaVersion.VERSION_1_8
-        targetCompatibility = JavaVersion.VERSION_1_8
-    }
-    kotlinOptions {
-        jvmTarget = JavaVersion.VERSION_1_8.toString()
-    }
 
     lint {
         disable.addAll(listOf("MissingTranslation", "ExtraTranslation"))

+ 0 - 14
macrobenchmark/build.gradle.kts

@@ -1,26 +1,12 @@
 plugins {
     id("com.android.test")
     kotlin("android")
-    id("tachiyomi.lint")
 }
 
 android {
     namespace = "tachiyomi.macrobenchmark"
-    compileSdk = AndroidConfig.compileSdk
-
-    compileOptions {
-        sourceCompatibility = JavaVersion.VERSION_1_8
-        targetCompatibility = JavaVersion.VERSION_1_8
-    }
-
-    kotlinOptions {
-        jvmTarget = JavaVersion.VERSION_1_8.toString()
-    }
 
     defaultConfig {
-        minSdk = AndroidConfig.minSdk
-        targetSdk = AndroidConfig.targetSdk
-
         testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
     }
 

+ 0 - 12
source-api/build.gradle.kts

@@ -1,28 +1,16 @@
 plugins {
     id("com.android.library")
     kotlin("android")
-    id("tachiyomi.lint")
     kotlin("plugin.serialization")
 }
 
 android {
     namespace = "eu.kanade.tachiyomi.source"
-    compileSdk = AndroidConfig.compileSdk
 
     defaultConfig {
-        minSdk = AndroidConfig.minSdk
-        targetSdk = AndroidConfig.targetSdk
         consumerProguardFile("consumer-proguard.pro")
     }
 
-    compileOptions {
-        sourceCompatibility = JavaVersion.VERSION_1_8
-        targetCompatibility = JavaVersion.VERSION_1_8
-    }
-
-    kotlinOptions {
-        jvmTarget = JavaVersion.VERSION_1_8.toString()
-    }
 }
 
 dependencies {