mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2026-08-28 05:37:36 -05:00
Android: Use version catalog and update dependencies
Migrate plugin and dependency versions to a Gradle version catalog and update dependencies to their latest available versions.
This commit is contained in:
@@ -1,20 +1,18 @@
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
|
||||
plugins {
|
||||
id("com.android.application")
|
||||
id("org.jetbrains.kotlin.android")
|
||||
kotlin("plugin.serialization") version "2.2.21"
|
||||
id("androidx.baselineprofile")
|
||||
alias(libs.plugins.android.application)
|
||||
alias(libs.plugins.kotlin.serialization)
|
||||
alias(libs.plugins.androidx.baselineprofile)
|
||||
}
|
||||
|
||||
@Suppress("UnstableApiUsage")
|
||||
android {
|
||||
compileSdkVersion = "android-36"
|
||||
compileSdk = 36
|
||||
ndkVersion = "29.0.14206865"
|
||||
|
||||
buildFeatures {
|
||||
viewBinding = true
|
||||
buildConfig = true
|
||||
resValues = true
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
@@ -25,12 +23,6 @@ android {
|
||||
targetCompatibility = JavaVersion.VERSION_17
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget = JvmTarget.fromTarget("17")
|
||||
}
|
||||
}
|
||||
|
||||
lint {
|
||||
// This is important as it will run lint but not abort on error
|
||||
// Lint has some overly obnoxious "errors" that should really be warnings
|
||||
@@ -79,7 +71,7 @@ android {
|
||||
isMinifyEnabled = true
|
||||
isShrinkResources = true
|
||||
proguardFiles(
|
||||
getDefaultProguardFile("proguard-android.txt"),
|
||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||
"proguard-rules.pro"
|
||||
)
|
||||
}
|
||||
@@ -126,38 +118,38 @@ android {
|
||||
|
||||
dependencies {
|
||||
baselineProfile(project(":benchmark"))
|
||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")
|
||||
coreLibraryDesugaring(libs.desugar.jdk.libs)
|
||||
|
||||
implementation("androidx.core:core-ktx:1.17.0")
|
||||
implementation("androidx.appcompat:appcompat:1.7.1")
|
||||
implementation("androidx.cardview:cardview:1.0.0")
|
||||
implementation("androidx.recyclerview:recyclerview:1.4.0")
|
||||
implementation("androidx.constraintlayout:constraintlayout:2.2.1")
|
||||
implementation("androidx.fragment:fragment-ktx:1.8.9")
|
||||
implementation("androidx.slidingpanelayout:slidingpanelayout:1.2.0")
|
||||
implementation("com.google.android.material:material:1.13.0")
|
||||
implementation("androidx.core:core-splashscreen:1.2.0")
|
||||
implementation("androidx.preference:preference-ktx:1.2.1")
|
||||
implementation("androidx.profileinstaller:profileinstaller:1.4.1")
|
||||
implementation(libs.androidx.core.ktx)
|
||||
implementation(libs.androidx.appcompat)
|
||||
implementation(libs.androidx.cardview)
|
||||
implementation(libs.androidx.recyclerview)
|
||||
implementation(libs.androidx.constraintlayout)
|
||||
implementation(libs.androidx.fragment.ktx)
|
||||
implementation(libs.androidx.slidingpanelayout)
|
||||
implementation(libs.material)
|
||||
implementation(libs.androidx.core.splashscreen)
|
||||
implementation(libs.androidx.preference.ktx)
|
||||
implementation(libs.androidx.profileinstaller)
|
||||
|
||||
// Kotlin extensions for lifecycle components
|
||||
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.4")
|
||||
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.9.4")
|
||||
implementation(libs.androidx.lifecycle.viewmodel.ktx)
|
||||
implementation(libs.androidx.lifecycle.runtime.ktx)
|
||||
|
||||
// Android TV UI libraries.
|
||||
implementation("androidx.leanback:leanback:1.2.0")
|
||||
implementation("androidx.tvprovider:tvprovider:1.1.0")
|
||||
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
|
||||
implementation(libs.androidx.leanback)
|
||||
implementation(libs.androidx.tvprovider)
|
||||
implementation(libs.androidx.swiperefreshlayout)
|
||||
|
||||
// For loading game covers from disk and GameTDB
|
||||
implementation("io.coil-kt:coil:2.7.0")
|
||||
implementation(libs.coil)
|
||||
|
||||
// For loading custom GPU drivers
|
||||
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0")
|
||||
implementation(libs.kotlinx.serialization.json)
|
||||
|
||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2")
|
||||
implementation(libs.kotlinx.coroutines.android)
|
||||
|
||||
implementation("com.nononsenseapps:filepicker:4.2.1")
|
||||
implementation(libs.filepicker)
|
||||
}
|
||||
|
||||
fun getGitVersion(): String {
|
||||
|
||||
@@ -1,37 +1,29 @@
|
||||
import com.android.build.api.dsl.ManagedVirtualDevice
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
|
||||
plugins {
|
||||
id("com.android.test")
|
||||
id("org.jetbrains.kotlin.android")
|
||||
id("androidx.baselineprofile")
|
||||
alias(libs.plugins.android.test)
|
||||
alias(libs.plugins.androidx.baselineprofile)
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "org.dolphinemu.baselineprofile"
|
||||
compileSdk = 34
|
||||
compileSdk = 36
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
targetCompatibility = JavaVersion.VERSION_17
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget = JvmTarget.fromTarget("17")
|
||||
}
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
minSdk = 28
|
||||
targetSdk = 34
|
||||
targetSdk = 36
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
targetProjectPath = ":app"
|
||||
|
||||
testOptions.managedDevices.devices {
|
||||
testOptions.managedDevices.allDevices {
|
||||
create<ManagedVirtualDevice>("pixel6Api31") {
|
||||
device = "Pixel 6"
|
||||
apiLevel = 31
|
||||
@@ -48,8 +40,8 @@ baselineProfile {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation("androidx.test.ext:junit:1.3.0")
|
||||
implementation("androidx.test.espresso:espresso-core:3.7.0")
|
||||
implementation("androidx.test.uiautomator:uiautomator:2.3.0")
|
||||
implementation("androidx.benchmark:benchmark-macro-junit4:1.4.1")
|
||||
implementation(libs.androidx.junit)
|
||||
implementation(libs.androidx.espresso.core)
|
||||
implementation(libs.androidx.uiautomator)
|
||||
implementation(libs.androidx.benchmark.macro.junit4)
|
||||
}
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
plugins {
|
||||
id("com.android.application") version "8.13.1" apply false
|
||||
id("com.android.library") version "8.13.1" apply false
|
||||
id("org.jetbrains.kotlin.android") version "2.2.21" apply false
|
||||
id("com.android.test") version "8.13.1" apply false
|
||||
id("androidx.baselineprofile") version "1.3.3" apply false
|
||||
alias(libs.plugins.android.application) apply false
|
||||
alias(libs.plugins.android.library) apply false
|
||||
alias(libs.plugins.android.test) apply false
|
||||
alias(libs.plugins.androidx.baselineprofile) apply false
|
||||
}
|
||||
|
||||
buildscript {
|
||||
|
||||
@@ -15,4 +15,3 @@ android.useAndroidX=true
|
||||
# Kotlin code style for this project: "official" or "obsolete":
|
||||
kotlin.code.style=official
|
||||
android.nonTransitiveRClass=false
|
||||
android.nonFinalResIds=false
|
||||
|
||||
61
Source/Android/gradle/libs.versions.toml
Normal file
61
Source/Android/gradle/libs.versions.toml
Normal file
@@ -0,0 +1,61 @@
|
||||
[versions]
|
||||
agp = "9.1.0"
|
||||
appcompat = "1.7.1"
|
||||
benchmarkMacroJunit4 = "1.5.0-alpha04"
|
||||
cardview = "1.0.0"
|
||||
coil = "2.7.0"
|
||||
constraintlayout = "2.2.1"
|
||||
coreKtx = "1.18.0"
|
||||
coreSplashscreen = "1.2.0"
|
||||
desugar_jdk_libs = "2.1.5"
|
||||
espressoCore = "3.7.0"
|
||||
filepicker = "4.2.1"
|
||||
fragmentKtx = "1.8.9"
|
||||
junit = "1.3.0"
|
||||
kotlin = "2.3.20"
|
||||
kotlinxCoroutinesAndroid = "1.10.2"
|
||||
kotlinxSerializationJson = "1.10.0"
|
||||
leanback = "1.2.0"
|
||||
lifecycle = "2.10.0"
|
||||
material = "1.13.0"
|
||||
preferenceKtx = "1.2.1"
|
||||
profileinstaller = "1.4.1"
|
||||
recyclerview = "1.4.0"
|
||||
slidingpanelayout = "1.2.0"
|
||||
swiperefreshlayout = "1.2.0"
|
||||
tvprovider = "1.1.0"
|
||||
uiautomator = "2.3.0"
|
||||
|
||||
[libraries]
|
||||
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
|
||||
androidx-benchmark-macro-junit4 = { group = "androidx.benchmark", name = "benchmark-macro-junit4", version.ref = "benchmarkMacroJunit4" }
|
||||
androidx-cardview = { group = "androidx.cardview", name = "cardview", version.ref = "cardview" }
|
||||
androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
|
||||
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
|
||||
androidx-core-splashscreen = { group = "androidx.core", name = "core-splashscreen", version.ref = "coreSplashscreen" }
|
||||
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
|
||||
androidx-fragment-ktx = { group = "androidx.fragment", name = "fragment-ktx", version.ref = "fragmentKtx" }
|
||||
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junit" }
|
||||
androidx-leanback = { group = "androidx.leanback", name = "leanback", version.ref = "leanback" }
|
||||
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycle" }
|
||||
androidx-lifecycle-viewmodel-ktx = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "lifecycle" }
|
||||
androidx-preference-ktx = { group = "androidx.preference", name = "preference-ktx", version.ref = "preferenceKtx" }
|
||||
androidx-profileinstaller = { group = "androidx.profileinstaller", name = "profileinstaller", version.ref = "profileinstaller" }
|
||||
androidx-recyclerview = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "recyclerview" }
|
||||
androidx-slidingpanelayout = { group = "androidx.slidingpanelayout", name = "slidingpanelayout", version.ref = "slidingpanelayout" }
|
||||
androidx-swiperefreshlayout = { group = "androidx.swiperefreshlayout", name = "swiperefreshlayout", version.ref = "swiperefreshlayout" }
|
||||
androidx-tvprovider = { group = "androidx.tvprovider", name = "tvprovider", version.ref = "tvprovider" }
|
||||
androidx-uiautomator = { group = "androidx.test.uiautomator", name = "uiautomator", version.ref = "uiautomator" }
|
||||
coil = { group = "io.coil-kt", name = "coil", version.ref = "coil" }
|
||||
desugar_jdk_libs = { group = "com.android.tools", name = "desugar_jdk_libs", version.ref = "desugar_jdk_libs" }
|
||||
filepicker = { group = "com.nononsenseapps", name = "filepicker", version.ref = "filepicker" }
|
||||
kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinxCoroutinesAndroid" }
|
||||
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
|
||||
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
|
||||
|
||||
[plugins]
|
||||
android-application = { id = "com.android.application", version.ref = "agp" }
|
||||
android-library = { id = "com.android.library", version.ref = "agp" }
|
||||
android-test = { id = "com.android.test", version.ref = "agp" }
|
||||
androidx-baselineprofile = { id = "androidx.baselineprofile", version.ref = "benchmarkMacroJunit4" }
|
||||
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
||||
BIN
Source/Android/gradle/wrapper/gradle-wrapper.jar
vendored
BIN
Source/Android/gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
2
Source/Android/gradlew
vendored
2
Source/Android/gradlew
vendored
@@ -57,7 +57,7 @@
|
||||
# Darwin, MinGW, and NonStop.
|
||||
#
|
||||
# (3) This script is generated from the Groovy template
|
||||
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# https://github.com/gradle/gradle/blob/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# within the Gradle project.
|
||||
#
|
||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||
|
||||
Reference in New Issue
Block a user