From e221b1b809a1ec8ad9fd54e0fa79537b4e9563ab Mon Sep 17 00:00:00 2001 From: Bartek Pacia Date: Fri, 2 Aug 2024 20:06:45 +0200 Subject: [PATCH 1/9] start setting -Xjdk-target --- maestro-cli/build.gradle.kts | 7 +++++++ maestro-client/build.gradle | 8 ++++++++ maestro-ios/build.gradle | 8 ++++++++ maestro-orchestra/build.gradle | 9 +++++++++ maestro-test/build.gradle | 5 +++-- maestro-utils/build.gradle | 8 ++++++++ 6 files changed, 43 insertions(+), 2 deletions(-) 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-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/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/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-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" From b8fe6647c52017c4794ea25aa56faafa2de3d6ab Mon Sep 17 00:00:00 2001 From: Bartek Pacia Date: Mon, 12 Aug 2024 21:10:03 +0100 Subject: [PATCH 2/9] gha: bump java 8 -> 11 --- .github/workflows/test-e2e.yaml | 4 ++-- .github/workflows/test.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-e2e.yaml b/.github/workflows/test-e2e.yaml index be5dd98612..f7ead04112 100644 --- a/.github/workflows/test-e2e.yaml +++ b/.github/workflows/test-e2e.yaml @@ -17,7 +17,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 @@ -113,7 +113,7 @@ jobs: uses: actions/setup-java@v4 with: distribution: zulu - java-version: 8 + java-version: 11 - name: Add Maestro CLI executable to PATH run: | 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 From 4e0735591791ba69ecb2a80058a16b14c2e3a85c Mon Sep 17 00:00:00 2001 From: Bartek Pacia Date: Mon, 12 Aug 2024 21:55:05 +0100 Subject: [PATCH 3/9] maestro-client: remove `-Xjdk-release=1.8` --- maestro-client/build.gradle | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/maestro-client/build.gradle b/maestro-client/build.gradle index f47b372d3d..412eb75bc7 100644 --- a/maestro-client/build.gradle +++ b/maestro-client/build.gradle @@ -94,11 +94,12 @@ java { targetCompatibility = JavaVersion.VERSION_1_8 } -tasks.named("compileKotlin", KotlinCompilationTask) { - compilerOptions { - freeCompilerArgs.addAll("-Xjdk-release=1.8") - } -} +// Causes weird failures +//tasks.named("compileKotlin", KotlinCompilationTask) { +// compilerOptions { +// freeCompilerArgs.addAll("-Xjdk-release=1.8") +// } +//} plugins.withId("com.vanniktech.maven.publish") { mavenPublish { From 51684ed4d95225706bdec02d807c7c391ef51901 Mon Sep 17 00:00:00 2001 From: Bartek Pacia Date: Mon, 12 Aug 2024 22:09:40 +0100 Subject: [PATCH 4/9] bump Kotlin 1.8.0->1.8.22 and re-add `-Xjdk-release=1.8` in `maestro-client` --- gradle/libs.versions.toml | 2 +- maestro-client/build.gradle | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e3dad07270..ce819687d7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -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-client/build.gradle b/maestro-client/build.gradle index 412eb75bc7..f47b372d3d 100644 --- a/maestro-client/build.gradle +++ b/maestro-client/build.gradle @@ -94,12 +94,11 @@ java { targetCompatibility = JavaVersion.VERSION_1_8 } -// Causes weird failures -//tasks.named("compileKotlin", KotlinCompilationTask) { -// compilerOptions { -// freeCompilerArgs.addAll("-Xjdk-release=1.8") -// } -//} +tasks.named("compileKotlin", KotlinCompilationTask) { + compilerOptions { + freeCompilerArgs.addAll("-Xjdk-release=1.8") + } +} plugins.withId("com.vanniktech.maven.publish") { mavenPublish { From c93db536e050b48240ac6e3f87a11f084960bf5d Mon Sep 17 00:00:00 2001 From: Bartek Pacia Date: Mon, 12 Aug 2024 22:27:59 +0100 Subject: [PATCH 5/9] get rid of unsupported Signal and FileWatcherSomething classes --- .../main/java/maestro/cli/runner/FileWatcher.kt | 3 --- .../maestro/cli/session/MaestroSessionManager.kt | 16 ---------------- 2 files changed, 19 deletions(-) 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") - } - } } From 4006fc8a144214944faa19d37434ce6e351dc057 Mon Sep 17 00:00:00 2001 From: Bartek Pacia Date: Mon, 12 Aug 2024 22:28:18 +0100 Subject: [PATCH 6/9] set `-Xjdk-release=1.8` in all projects that apply KGP --- build.gradle.kts | 8 ++++++++ maestro-ios-driver/build.gradle | 8 ++++++++ maestro-orchestra-models/build.gradle | 8 ++++++++ maestro-studio/server/build.gradle | 8 ++++++++ 4 files changed, 32 insertions(+) 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/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-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-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")) From 6b632f4df80c95085719d8bf91dde372511633ad Mon Sep 17 00:00:00 2001 From: Bartek Pacia Date: Tue, 13 Aug 2024 00:02:14 +0100 Subject: [PATCH 7/9] bump AGP 4.2.1 -> 7.4.2 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ce819687d7..51d020f3e3 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" From 3bcbfe76f916a10c5af568aec2c3b84c60241186 Mon Sep 17 00:00:00 2001 From: Bartek Pacia Date: Tue, 13 Aug 2024 13:05:30 +0100 Subject: [PATCH 8/9] downgrade commons-lang3 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 51d020f3e3..6db9bbd5d0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -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" From 5205be15ae1a3d20466e8da6e1491a7989f51fa5 Mon Sep 17 00:00:00 2001 From: Bartek Pacia Date: Tue, 13 Aug 2024 20:10:17 +0100 Subject: [PATCH 9/9] test-cloud: downgrade to use Java 8 --- .github/workflows/test-e2e.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-e2e.yaml b/.github/workflows/test-e2e.yaml index f7ead04112..ebd33e3b4b 100644 --- a/.github/workflows/test-e2e.yaml +++ b/.github/workflows/test-e2e.yaml @@ -13,7 +13,7 @@ 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 @@ -109,11 +109,11 @@ jobs: with: name: maestro-cli - - name: Set up JDK 8 + - name: Set up JDK uses: actions/setup-java@v4 with: distribution: zulu - java-version: 11 + java-version: 8 - name: Add Maestro CLI executable to PATH run: |