Skip to content

Commit

Permalink
Merge pull request #115 from DRSchlaubi/renovate/major-kotlin-depende…
Browse files Browse the repository at this point in the history
…ncies
  • Loading branch information
goncalossilva authored Jul 7, 2024
2 parents 900c618 + c5915a2 commit 0df1e12
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 23 deletions.
4 changes: 2 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[versions]
useanybrowser = "0.2.1"
kotlin = "1.9.24"
useanybrowser = "0.3.0"
kotlin = "2.0.0"
buildconfig = "5.3.5"
gradle-publish = "1.2.1"
nexus-publish = "2.0.0"
Expand Down
13 changes: 8 additions & 5 deletions resources-library/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import org.gradle.api.publish.maven.tasks.AbstractPublishToMaven
import org.gradle.plugins.signing.Sign
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnPlugin
Expand All @@ -25,8 +27,9 @@ kotlin {
explicitApi()

jvm {
compilations.all {
kotlinOptions.jvmTarget = "1.8"
@OptIn(ExperimentalKotlinGradlePluginApi::class)
compilerOptions {
jvmTarget = JvmTarget.JVM_1_8
}
}

Expand Down Expand Up @@ -74,13 +77,13 @@ kotlin {
}

tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
freeCompilerArgs = freeCompilerArgs + "-Xexpect-actual-classes"
compilerOptions {
freeCompilerArgs.add("-Xexpect-actual-classes")
}
}

rootProject.configure<NodeJsRootExtension> {
nodeVersion = libs.versions.nodejs.get()
version = libs.versions.nodejs.get()
}

rootProject.plugins.withType<YarnPlugin> {
Expand Down
7 changes: 4 additions & 3 deletions resources-plugin/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
Expand Down Expand Up @@ -27,9 +28,9 @@ tasks.withType<JavaCompile>().configureEach {
}

tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
jvmTarget = "1.8"
freeCompilerArgs = freeCompilerArgs + "-opt-in=kotlin.contracts.ExperimentalContracts"
compilerOptions {
jvmTarget = JvmTarget.JVM_1_8
freeCompilerArgs.add("-opt-in=kotlin.contracts.ExperimentalContracts")
}
}

Expand Down
17 changes: 9 additions & 8 deletions resources-plugin/src/main/kotlin/ResourcesPlugin.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package com.goncalossilva.resources

import org.gradle.api.Action
import org.gradle.api.Task
import org.gradle.api.file.Directory
import org.gradle.api.provider.Provider
import org.gradle.api.tasks.Copy
import org.gradle.api.tasks.Delete
Expand All @@ -10,9 +11,9 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilerPluginSupportPlugin
import org.jetbrains.kotlin.gradle.plugin.SubpluginArtifact
import org.jetbrains.kotlin.gradle.plugin.SubpluginOption
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsSubTargetContainerDsl
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
import java.io.File
import kotlin.contracts.contract
Expand Down Expand Up @@ -48,7 +49,7 @@ class ResourcesPlugin : KotlinCompilerPluginSupportPlugin {
setupCopyResourcesTask(
kotlinCompilation = kotlinCompilation,
taskName = getTaskName("copyResources", binary.name, target.targetName),
outputDir = binary.outputDirectory,
outputDir = project.provider { binary.outputDirectory },
mustRunAfterTasks = listOf(kotlinCompilation.processResourcesTaskName),
dependantTasks = listOf(binary.linkTaskName)
)
Expand All @@ -62,7 +63,7 @@ class ResourcesPlugin : KotlinCompilerPluginSupportPlugin {
setupCopyResourcesTask(
kotlinCompilation = kotlinCompilation,
taskName = getTaskName("copyResources", kotlinCompilation.target.targetName),
outputDir = kotlinCompilation.npmProject.dir,
outputDir = kotlinCompilation.npmProject.dir.map(Directory::getAsFile),
mustRunAfterTasks = mutableListOf(kotlinCompilation.processResourcesTaskName).apply {
kotlinCompilation.npmProject.nodeJs.npmInstallTaskProvider.let {
add(":${it.name}")
Expand Down Expand Up @@ -102,18 +103,18 @@ class ResourcesPlugin : KotlinCompilerPluginSupportPlugin {

private fun isJsNodeCompilation(kotlinCompilation: KotlinCompilation<*>): Boolean {
contract {
returns(true) implies (kotlinCompilation is KotlinJsCompilation)
returns(true) implies (kotlinCompilation is KotlinJsIrCompilation)
}
return kotlinCompilation is KotlinJsCompilation && kotlinCompilation.target.let {
return kotlinCompilation is KotlinJsIrCompilation && kotlinCompilation.target.let {
it is KotlinJsSubTargetContainerDsl && it.isNodejsConfigured
}
}

private fun isJsBrowserCompilation(kotlinCompilation: KotlinCompilation<*>): Boolean {
contract {
returns(true) implies (kotlinCompilation is KotlinJsCompilation)
returns(true) implies (kotlinCompilation is KotlinJsIrCompilation)
}
return kotlinCompilation is KotlinJsCompilation && kotlinCompilation.target.let {
return kotlinCompilation is KotlinJsIrCompilation && kotlinCompilation.target.let {
it is KotlinJsSubTargetContainerDsl && it.isBrowserConfigured
}
}
Expand All @@ -134,7 +135,7 @@ class ResourcesPlugin : KotlinCompilerPluginSupportPlugin {
private fun setupCopyResourcesTask(
kotlinCompilation: KotlinCompilation<*>,
taskName: String,
outputDir: File,
outputDir: Provider<File>,
mustRunAfterTasks: List<String>,
dependantTasks: List<String>
): TaskProvider<Copy>? {
Expand Down
13 changes: 8 additions & 5 deletions resources-test/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import com.goncalossilva.useanybrowser.useAnyBrowser
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnLockMismatchReport
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnPlugin
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnRootExtension
Expand All @@ -27,12 +28,14 @@ repositories {

kotlin {
jvm {
compilations.all {
kotlinOptions.jvmTarget = "1.8"
}
testRuns["test"].executionTask.configure {
useJUnitPlatform()
}

@OptIn(ExperimentalKotlinGradlePluginApi::class)
compilerOptions {
jvmTarget = JvmTarget.JVM_1_8
}
}

js(IR) {
Expand Down Expand Up @@ -77,7 +80,7 @@ kotlin {
}

rootProject.configure<NodeJsRootExtension> {
nodeVersion = libs.versions.nodejs.get()
version = libs.versions.nodejs.get()
}

rootProject.plugins.withType<YarnPlugin> {
Expand Down

0 comments on commit 0df1e12

Please sign in to comment.