Upgrades to Kotlin 2.0.0

This commit is contained in:
Vitor Pamplona 2024-07-03 11:00:45 -04:00
parent 27c2c71879
commit 692f7c4270
9 changed files with 58 additions and 51 deletions

1
.gitignore vendored
View File

@ -42,6 +42,7 @@ out/
.gradle .gradle
.gradle/ .gradle/
build/ build/
.kotlin/
# Local configuration file (sdk path, etc) # Local configuration file (sdk path, etc)
local.properties local.properties

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="KotlinJpsPluginSettings"> <component name="KotlinJpsPluginSettings">
<option name="version" value="1.9.24" /> <option name="version" value="2.0.0" />
</component> </component>
</project> </project>

View File

@ -2,6 +2,7 @@ plugins {
alias(libs.plugins.androidApplication) alias(libs.plugins.androidApplication)
alias(libs.plugins.jetbrainsKotlinAndroid) alias(libs.plugins.jetbrainsKotlinAndroid)
alias(libs.plugins.googleServices) alias(libs.plugins.googleServices)
alias(libs.plugins.jetbrainsComposeCompiler)
} }
android { android {
@ -132,19 +133,11 @@ android {
targetCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17
} }
kotlinOptions {
jvmTarget = '17'
}
buildFeatures { buildFeatures {
compose true compose true
buildConfig true buildConfig true
} }
composeOptions {
// Should match compose version : https://developer.android.com/jetpack/androidx/releases/compose-kotlin
kotlinCompilerExtensionVersion "1.5.14"
}
packagingOptions { packagingOptions {
resources { resources {
excludes += ['/META-INF/{AL2.0,LGPL2.1}', '**/libscrypt.dylib'] excludes += ['/META-INF/{AL2.0,LGPL2.1}', '**/libscrypt.dylib']
@ -160,6 +153,16 @@ android {
} }
} }
kotlin {
compilerOptions {
jvmTarget = JvmTarget.JVM_17
}
}
composeCompiler {
reportsDestination = layout.buildDirectory.dir("compose_compiler")
}
dependencies { dependencies {
implementation platform(libs.androidx.compose.bom) implementation platform(libs.androidx.compose.bom)
@ -296,6 +299,7 @@ dependencies {
import com.android.tools.profgen.ArtProfileKt import com.android.tools.profgen.ArtProfileKt
import com.android.tools.profgen.ArtProfileSerializer import com.android.tools.profgen.ArtProfileSerializer
import com.android.tools.profgen.DexFile import com.android.tools.profgen.DexFile
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
project.afterEvaluate { project.afterEvaluate {
tasks.each { task -> tasks.each { task ->

View File

@ -1,3 +1,5 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins { plugins {
alias(libs.plugins.androidLibrary) alias(libs.plugins.androidLibrary)
alias(libs.plugins.jetbrainsKotlinAndroid) alias(libs.plugins.jetbrainsKotlinAndroid)
@ -33,10 +35,6 @@ android {
sourceCompatibility JavaVersion.VERSION_17 sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17
} }
kotlinOptions {
jvmTarget = '17'
freeCompilerArgs += "-Xstring-concat=inline"
}
packagingOptions { packagingOptions {
resources { resources {
excludes += ['**/libscrypt.dylib'] excludes += ['**/libscrypt.dylib']
@ -44,6 +42,13 @@ android {
} }
} }
kotlin {
compilerOptions {
jvmTarget = JvmTarget.JVM_17
freeCompilerArgs.add("-Xstring-concat=inline")
}
}
dependencies { dependencies {
implementation libs.androidx.core.ktx implementation libs.androidx.core.ktx

View File

@ -1,3 +1,5 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins { plugins {
alias(libs.plugins.androidLibrary) alias(libs.plugins.androidLibrary)
alias(libs.plugins.jetbrainsKotlinAndroid) alias(libs.plugins.jetbrainsKotlinAndroid)
@ -21,9 +23,6 @@ android {
sourceCompatibility JavaVersion.VERSION_17 sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17
} }
kotlinOptions {
jvmTarget = '17'
}
sourceSets.androidTest.assets.srcDirs += ["../quartz/src/androidTest/assets"] sourceSets.androidTest.assets.srcDirs += ["../quartz/src/androidTest/assets"]
@ -47,6 +46,13 @@ android {
} }
} }
kotlin {
compilerOptions {
jvmTarget = JvmTarget.JVM_17
freeCompilerArgs.add("-Xstring-concat=inline")
}
}
dependencies { dependencies {
androidTestImplementation platform(libs.androidx.compose.bom) androidTestImplementation platform(libs.androidx.compose.bom)
androidTestImplementation libs.androidx.runner androidTestImplementation libs.androidx.runner

View File

@ -1,5 +1,3 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins { plugins {
alias(libs.plugins.androidApplication) apply false alias(libs.plugins.androidApplication) apply false
alias(libs.plugins.jetbrainsKotlinAndroid) apply false alias(libs.plugins.jetbrainsKotlinAndroid) apply false
@ -8,36 +6,17 @@ plugins {
alias(libs.plugins.androidBenchmark) apply false alias(libs.plugins.androidBenchmark) apply false
alias(libs.plugins.diffplugSpotless) apply false alias(libs.plugins.diffplugSpotless) apply false
alias(libs.plugins.googleServices) apply false alias(libs.plugins.googleServices) apply false
alias(libs.plugins.jetbrainsComposeCompiler) apply false
} }
subprojects { subprojects {
tasks.withType(KotlinCompile).configureEach {
kotlinOptions {
if (project.findProperty("composeCompilerReports") == "true") {
freeCompilerArgs += [
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=" +
project.buildDir.absolutePath + "/compose_compiler"
]
}
if (project.findProperty("composeCompilerMetrics") == "true") {
freeCompilerArgs += [
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=" +
project.buildDir.absolutePath + "/compose_compiler"
]
}
}
}
apply plugin: 'com.diffplug.spotless' apply plugin: 'com.diffplug.spotless'
spotless { spotless {
kotlin { kotlin {
target '**/*.kt' target '**/*.kt'
targetExclude("$buildDir/**/*.kt") targetExclude("$layout.buildDirectory/**/*.kt")
ktlint("1.1.0") ktlint("1.1.0")
//ktfmt().googleStyle()
licenseHeaderFile rootProject.file('spotless/copyright.kt'), "package|import|class|object|sealed|open|interface|abstract " licenseHeaderFile rootProject.file('spotless/copyright.kt'), "package|import|class|object|sealed|open|interface|abstract "
} }

View File

@ -1,6 +1,9 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins { plugins {
alias(libs.plugins.androidLibrary) alias(libs.plugins.androidLibrary)
alias(libs.plugins.jetbrainsKotlinAndroid) alias(libs.plugins.jetbrainsKotlinAndroid)
alias(libs.plugins.jetbrainsComposeCompiler)
} }
android { android {
@ -28,20 +31,23 @@ android {
sourceCompatibility JavaVersion.VERSION_17 sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17
} }
kotlinOptions {
jvmTarget = '17'
freeCompilerArgs += "-Xstring-concat=inline"
}
buildFeatures { buildFeatures {
compose true compose true
} }
composeOptions { }
// Should match compose version : https://developer.android.com/jetpack/androidx/releases/compose-kotlin
kotlinCompilerExtensionVersion "1.5.14" kotlin {
compilerOptions {
jvmTarget = JvmTarget.JVM_17
freeCompilerArgs.add("-Xstring-concat=inline")
} }
} }
composeCompiler {
reportsDestination = layout.buildDirectory.dir("compose_compiler")
}
dependencies { dependencies {
implementation project(path: ':quartz') implementation project(path: ':quartz')

View File

@ -20,7 +20,7 @@ gms = "4.4.2"
jacksonModuleKotlin = "2.17.1" jacksonModuleKotlin = "2.17.1"
jna = "5.14.0" jna = "5.14.0"
junit = "4.13.2" junit = "4.13.2"
kotlin = "1.9.24" kotlin = "2.0.0"
kotlinxCollectionsImmutable = "0.3.7" kotlinxCollectionsImmutable = "0.3.7"
languageId = "17.0.5" languageId = "17.0.5"
lazysodiumAndroid = "5.1.0" lazysodiumAndroid = "5.1.0"
@ -126,3 +126,4 @@ diffplugSpotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
googleServices = { id = "com.google.gms.google-services", version.ref = "gms" } googleServices = { id = "com.google.gms.google-services", version.ref = "gms" }
jetbrainsKotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } jetbrainsKotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
jetbrainsKotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } jetbrainsKotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
jetbrainsComposeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }

View File

@ -1,3 +1,5 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins { plugins {
alias(libs.plugins.androidLibrary) alias(libs.plugins.androidLibrary)
alias(libs.plugins.jetbrainsKotlinAndroid) alias(libs.plugins.jetbrainsKotlinAndroid)
@ -29,10 +31,6 @@ android {
sourceCompatibility JavaVersion.VERSION_17 sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17
} }
kotlinOptions {
jvmTarget = '17'
freeCompilerArgs += "-Xstring-concat=inline"
}
packagingOptions { packagingOptions {
resources { resources {
excludes += ['**/libscrypt.dylib'] excludes += ['**/libscrypt.dylib']
@ -40,6 +38,13 @@ android {
} }
} }
kotlin {
compilerOptions {
jvmTarget = JvmTarget.JVM_17
freeCompilerArgs.add("-Xstring-concat=inline")
}
}
dependencies { dependencies {
implementation libs.androidx.core.ktx implementation libs.androidx.core.ktx