Skip to content

Commit

Permalink
Deprecated KotlinJvmOptions (#64)
Browse files Browse the repository at this point in the history
fix warning: 'KotlinJvmOptions' is deprecated. The kotlinOptions types are deprecated, please migrate to the compilerOptions types. More details are here: https://kotl.in/u1r8ln
  • Loading branch information
ksharma-xyz authored Sep 27, 2024
1 parent 17b6836 commit 2563808
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 36 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ import org.gradle.api.JavaVersion
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.artifacts.VersionCatalogsExtension
import org.gradle.api.plugins.ExtensionAware
import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.getByType
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
import org.gradle.kotlin.dsl.withType
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

@Suppress("UNUSED")
class AndroidLibraryComposeConventionPlugin : Plugin<Project> {
Expand Down Expand Up @@ -41,13 +42,14 @@ class AndroidLibraryComposeConventionPlugin : Plugin<Project> {
targetCompatibility = JavaVersion.values()[javaVersion - 1]
}

(this as ExtensionAware).configure<KotlinJvmOptions> {
jvmTarget = "$javaVersion"
freeCompilerArgs = freeCompilerArgs + listOf(
"-opt-in=kotlin.RequiresOptIn",
"-opt-in=kotlinx.coroutines.FlowPreview",
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi"
)
tasks.withType<KotlinCompile>().configureEach {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)

freeCompilerArgs.add("-opt-in=kotlin.RequiresOptIn")
freeCompilerArgs.add("-opt-in=kotlinx.coroutines.FlowPreview")
freeCompilerArgs.add("-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi")
}
}

buildFeatures {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ import org.gradle.api.JavaVersion
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.artifacts.VersionCatalogsExtension
import org.gradle.api.plugins.ExtensionAware
import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.dependencies
import org.gradle.kotlin.dsl.getByType
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
import org.gradle.kotlin.dsl.withType
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

@Suppress("UNUSED")
class AndroidLibraryConventionPlugin : Plugin<Project> {
Expand Down Expand Up @@ -41,13 +42,14 @@ class AndroidLibraryConventionPlugin : Plugin<Project> {
targetCompatibility = JavaVersion.values()[javaVersion - 1]
}

(this as ExtensionAware).configure<KotlinJvmOptions> {
jvmTarget = "$javaVersion"
freeCompilerArgs = freeCompilerArgs + listOf(
"-opt-in=kotlin.RequiresOptIn",
"-opt-in=kotlinx.coroutines.FlowPreview",
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi"
)
tasks.withType<KotlinCompile>().configureEach {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)

freeCompilerArgs.add("-opt-in=kotlin.RequiresOptIn")
freeCompilerArgs.add("-opt-in=kotlinx.coroutines.FlowPreview")
freeCompilerArgs.add("-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi")
}
}

buildFeatures {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ import org.gradle.api.JavaVersion
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.artifacts.VersionCatalogsExtension
import org.gradle.api.plugins.ExtensionAware
import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.dependencies
import org.gradle.kotlin.dsl.getByType
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
import org.gradle.kotlin.dsl.withType
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

@Suppress("UNUSED")
class ApplicationConventionPlugin : Plugin<Project> {
Expand All @@ -18,6 +19,7 @@ class ApplicationConventionPlugin : Plugin<Project> {
val minSdkVersion = libs.findVersion("minSdk").get().toString().toInt()
val targetSdkVersion = libs.findVersion("targetSdk").get().toString().toInt()
val compileSdkVersion = libs.findVersion("compileSdk").get().toString().toInt()
//val composeCompilerVersion = libs.findPlugin("composeCompiler").get().toString()

with(pluginManager) {
apply("com.android.application")
Expand All @@ -40,21 +42,22 @@ class ApplicationConventionPlugin : Plugin<Project> {
targetCompatibility = JavaVersion.values()[javaVersion - 1]
}

(this as ExtensionAware).configure<KotlinJvmOptions> {
jvmTarget = "$javaVersion"
freeCompilerArgs = freeCompilerArgs + listOf(
"-opt-in=kotlin.RequiresOptIn",
"-opt-in=kotlinx.coroutines.FlowPreview",
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi"
)
tasks.withType<KotlinCompile>().configureEach {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)

freeCompilerArgs.add("-opt-in=kotlin.RequiresOptIn")
freeCompilerArgs.add("-opt-in=kotlinx.coroutines.FlowPreview")
freeCompilerArgs.add("-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi")
}
}

buildFeatures {
compose = true
buildConfig = true
}

/*composeOptions {
/* composeOptions {
kotlinCompilerExtensionVersion = composeCompilerVersion
}*/

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.getByType
import org.gradle.kotlin.dsl.provideDelegate
import org.gradle.kotlin.dsl.withType
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

class JvmLibraryConventionPlugin : Plugin<Project> {
Expand All @@ -25,17 +27,18 @@ class JvmLibraryConventionPlugin : Plugin<Project> {
}

tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
jvmTarget = javaVersion.toString()

compilerOptions {
val warningsAsErrors: String? by project
allWarningsAsErrors = warningsAsErrors.toBoolean()
freeCompilerArgs = freeCompilerArgs + listOf(
// Enable experimental coroutines APIs, including Flow
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
)
allWarningsAsErrors.set(warningsAsErrors.toBoolean())

jvmTarget.set(JvmTarget.JVM_17)

freeCompilerArgs.add("-opt-in=kotlin.RequiresOptIn")
freeCompilerArgs.add("-opt-in=kotlinx.coroutines.FlowPreview")
freeCompilerArgs.add("-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi")
}
}

}
}
}

0 comments on commit 2563808

Please sign in to comment.