diff --git a/.github/workflows/test-e2e.yaml b/.github/workflows/test-e2e.yaml index be5dd98612..ebd33e3b4b 100644 --- a/.github/workflows/test-e2e.yaml +++ b/.github/workflows/test-e2e.yaml @@ -13,11 +13,11 @@ jobs: - name: Clone repository uses: actions/checkout@v4 - - name: Set up JDK 8 + - name: Set up JDK uses: actions/setup-java@v4 with: distribution: zulu - java-version: 8 + java-version: 11 - name: Set up Gradle uses: gradle/actions/setup-gradle@v3 @@ -109,7 +109,7 @@ jobs: with: name: maestro-cli - - name: Set up JDK 8 + - name: Set up JDK uses: actions/setup-java@v4 with: distribution: zulu diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 68aff60ce4..292cbeff7c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,7 +16,7 @@ jobs: uses: actions/setup-java@v4 with: distribution: 'zulu' - java-version: 8 + java-version: 11 - name: Set up Gradle uses: gradle/actions/setup-gradle@v3 diff --git a/build.gradle.kts b/build.gradle.kts index 8a50185af8..6b0aad4341 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + @Suppress("DSL_SCOPE_VIOLATION") plugins { alias(libs.plugins.kotlin.jvm) @@ -12,6 +14,12 @@ java { targetCompatibility = JavaVersion.VERSION_1_8 } +tasks.named("compileKotlin", KotlinCompilationTask::class.java) { + compilerOptions { + freeCompilerArgs.addAll("-Xjdk-release=1.8") + } +} + detekt { buildUponDefaultConfig = true allRules = false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e3dad07270..6db9bbd5d0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -7,7 +7,7 @@ # https://blog.gradle.org/best-practices-naming-version-catalog-entries [versions] -androidPlugin = "4.2.1" +androidPlugin = "7.4.2" androidxEspresso = "3.6.1" androidxTestJunit = "1.2.1" androidxUiautomator = "2.3.0" @@ -15,7 +15,7 @@ apkParser = "2.6.10" appdirs = "1.2.1" axml = "2.1.2" commons-codec = "1.17.0" -commons-lang3 = "3.14.0" +commons-lang3 = "3.13.0" # 3.14.0 causes weird crashes during dexing commons-io = "2.16.1" dadb = "1.2.7" detekt = "1.19.0" @@ -33,7 +33,7 @@ jackson = "2.17.1" jansi = "2.4.1" jarchivelib = "1.2.0" junit = "5.10.2" -kotlin = "1.8.0" +kotlin = "1.8.22" kotlinResult = "1.1.18" ktor = "2.3.6" mozillaRhino = "1.7.14" diff --git a/maestro-cli/build.gradle.kts b/maestro-cli/build.gradle.kts index dbad198dc9..9a08005d65 100644 --- a/maestro-cli/build.gradle.kts +++ b/maestro-cli/build.gradle.kts @@ -1,4 +1,5 @@ import org.jreleaser.model.Active.ALWAYS +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask import org.jreleaser.model.Stereotype import java.util.Properties @@ -65,6 +66,12 @@ java { targetCompatibility = JavaVersion.VERSION_1_8 } +tasks.named("compileKotlin", KotlinCompilationTask::class.java) { + compilerOptions { + freeCompilerArgs.addAll("-Xjdk-release=1.8") + } +} + tasks.create("createProperties") { dependsOn("processResources") diff --git a/maestro-cli/src/main/java/maestro/cli/runner/FileWatcher.kt b/maestro-cli/src/main/java/maestro/cli/runner/FileWatcher.kt index 1a040b6e80..0113f5251c 100644 --- a/maestro-cli/src/main/java/maestro/cli/runner/FileWatcher.kt +++ b/maestro-cli/src/main/java/maestro/cli/runner/FileWatcher.kt @@ -1,7 +1,5 @@ package maestro.cli.runner -import com.sun.nio.file.SensitivityWatchEventModifier -import java.io.File import java.nio.file.FileSystems import java.nio.file.Path import java.nio.file.StandardWatchEventKinds @@ -27,7 +25,6 @@ class FileWatcher { StandardWatchEventKinds.ENTRY_DELETE, StandardWatchEventKinds.ENTRY_MODIFY, ), - SensitivityWatchEventModifier.HIGH, ) watchKeys.add(watchKey) } diff --git a/maestro-cli/src/main/java/maestro/cli/session/MaestroSessionManager.kt b/maestro-cli/src/main/java/maestro/cli/session/MaestroSessionManager.kt index 75f09403ad..adf0f50cf7 100644 --- a/maestro-cli/src/main/java/maestro/cli/session/MaestroSessionManager.kt +++ b/maestro-cli/src/main/java/maestro/cli/session/MaestroSessionManager.kt @@ -34,8 +34,6 @@ import maestro.debuglog.IOSDriverLogger import maestro.drivers.AndroidDriver import maestro.drivers.IOSDriver import org.slf4j.LoggerFactory -import sun.misc.Signal -import sun.misc.SignalHandler import util.XCRunnerCLIUtils import xcuitest.XCTestClient import xcuitest.XCTestDriverClient @@ -44,7 +42,6 @@ import java.util.UUID import java.util.concurrent.Executors import java.util.concurrent.TimeUnit import kotlin.concurrent.thread -import kotlin.system.exitProcess object MaestroSessionManager { private const val defaultHost = "localhost" @@ -101,7 +98,6 @@ object MaestroSessionManager { session.close() } }) - Signal.handle(CustomSignalHandler.suspendSignal, CustomSignalHandler()) return block(session) } @@ -354,16 +350,4 @@ object MaestroSessionManager { maestro.close() } } - - private class CustomSignalHandler() : SignalHandler { - override fun handle(signal: Signal) { - when (signal) { - suspendSignal -> exitProcess(0) - } - } - - companion object { - val suspendSignal = Signal("TSTP") - } - } } diff --git a/maestro-client/build.gradle b/maestro-client/build.gradle index fe20decfd6..f47b372d3d 100644 --- a/maestro-client/build.gradle +++ b/maestro-client/build.gradle @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + plugins { id("maven-publish") alias(libs.plugins.kotlin.jvm) @@ -92,6 +94,12 @@ java { targetCompatibility = JavaVersion.VERSION_1_8 } +tasks.named("compileKotlin", KotlinCompilationTask) { + compilerOptions { + freeCompilerArgs.addAll("-Xjdk-release=1.8") + } +} + plugins.withId("com.vanniktech.maven.publish") { mavenPublish { sonatypeHost = "S01" diff --git a/maestro-ios-driver/build.gradle b/maestro-ios-driver/build.gradle index 3510019d0e..58e6320e15 100644 --- a/maestro-ios-driver/build.gradle +++ b/maestro-ios-driver/build.gradle @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + plugins { id("maven-publish") alias(libs.plugins.kotlin.jvm) @@ -26,6 +28,12 @@ java { targetCompatibility = JavaVersion.VERSION_1_8 } +tasks.named("compileKotlin", KotlinCompilationTask) { + compilerOptions { + freeCompilerArgs.addAll("-Xjdk-release=1.8") + } +} + plugins.withId("com.vanniktech.maven.publish") { mavenPublish { sonatypeHost = "S01" diff --git a/maestro-ios/build.gradle b/maestro-ios/build.gradle index 118c0d403c..98ed626613 100644 --- a/maestro-ios/build.gradle +++ b/maestro-ios/build.gradle @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + plugins { id("maven-publish") alias(libs.plugins.kotlin.jvm) @@ -35,6 +37,12 @@ java { targetCompatibility = JavaVersion.VERSION_1_8 } +tasks.named("compileKotlin", KotlinCompilationTask) { + compilerOptions { + freeCompilerArgs.addAll("-Xjdk-release=1.8") + } +} + plugins.withId("com.vanniktech.maven.publish") { mavenPublish { sonatypeHost = "S01" diff --git a/maestro-orchestra-models/build.gradle b/maestro-orchestra-models/build.gradle index 8266b5ab2f..bc6dc1ed80 100644 --- a/maestro-orchestra-models/build.gradle +++ b/maestro-orchestra-models/build.gradle @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + plugins { id("maven-publish") alias(libs.plugins.kotlin.jvm) @@ -15,6 +17,12 @@ java { targetCompatibility = JavaVersion.VERSION_1_8 } +tasks.named("compileKotlin", KotlinCompilationTask) { + compilerOptions { + freeCompilerArgs.addAll("-Xjdk-release=1.8") + } +} + dependencies { implementation(project(path: ":maestro-client")) diff --git a/maestro-orchestra/build.gradle b/maestro-orchestra/build.gradle index f09c012f93..dda1754617 100644 --- a/maestro-orchestra/build.gradle +++ b/maestro-orchestra/build.gradle @@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask +import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile + plugins { id("maven-publish") alias(libs.plugins.kotlin.jvm) @@ -26,6 +29,12 @@ java { targetCompatibility = JavaVersion.VERSION_1_8 } +tasks.named("compileKotlin", KotlinCompilationTask) { + compilerOptions { + freeCompilerArgs.addAll("-Xjdk-release=1.8") + } +} + plugins.withId("com.vanniktech.maven.publish") { mavenPublish { sonatypeHost = "S01" diff --git a/maestro-studio/server/build.gradle b/maestro-studio/server/build.gradle index 44271e8393..91e8781482 100644 --- a/maestro-studio/server/build.gradle +++ b/maestro-studio/server/build.gradle @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + plugins { id("maven-publish") id("application") @@ -35,6 +37,12 @@ java { targetCompatibility = JavaVersion.VERSION_1_8 } +tasks.named("compileKotlin", KotlinCompilationTask) { + compilerOptions { + freeCompilerArgs.addAll("-Xjdk-release=1.8") + } +} + dependencies { implementation(project(":maestro-orchestra")) implementation(project(":maestro-client")) diff --git a/maestro-test/build.gradle b/maestro-test/build.gradle index 409025dfbb..f0b588a4ed 100644 --- a/maestro-test/build.gradle +++ b/maestro-test/build.gradle @@ -1,4 +1,5 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile plugins { @@ -10,9 +11,9 @@ java { targetCompatibility = JavaVersion.VERSION_1_8 } -tasks.withType(KotlinJvmCompile).configureEach { +tasks.named("compileKotlin", KotlinCompilationTask) { compilerOptions { - jvmTarget = JvmTarget.JVM_1_8 + freeCompilerArgs.addAll("-Xjdk-release=1.8") } } diff --git a/maestro-utils/build.gradle b/maestro-utils/build.gradle index d658e1bb8e..6edc60071b 100644 --- a/maestro-utils/build.gradle +++ b/maestro-utils/build.gradle @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + plugins { id("maven-publish") alias(libs.plugins.kotlin.jvm) @@ -17,6 +19,12 @@ java { targetCompatibility = JavaVersion.VERSION_1_8 } +tasks.named("compileKotlin", KotlinCompilationTask) { + compilerOptions { + freeCompilerArgs.addAll("-Xjdk-release=1.8") + } +} + plugins.withId("com.vanniktech.maven.publish") { mavenPublish { sonatypeHost = "S01"