appium-espresso-driver 7.2.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/espresso-server/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk +0 -0
  3. package/espresso-server/app/build/outputs/apk/androidTest/debug/output-metadata.json +21 -0
  4. package/espresso-server/app/build.gradle.kts +18 -6
  5. package/espresso-server/build.gradle.kts +1 -3
  6. package/espresso-server/buildSrc/.gradle/9.4.1/executionHistory/executionHistory.bin +0 -0
  7. package/espresso-server/buildSrc/.gradle/9.4.1/executionHistory/executionHistory.lock +0 -0
  8. package/espresso-server/buildSrc/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  9. package/espresso-server/buildSrc/.gradle/buildOutputCleanup/cache.properties +2 -0
  10. package/espresso-server/buildSrc/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  11. package/espresso-server/buildSrc/.gradle/file-system.probe +0 -0
  12. package/espresso-server/buildSrc/build/classes/kotlin/main/META-INF/buildSrc.kotlin_module +0 -0
  13. package/espresso-server/buildSrc/build/classes/kotlin/main/io/appium/espressoserver/jvmtarget/AppiumJvmTarget.class +0 -0
  14. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab +0 -0
  15. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.keystream +0 -0
  16. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.keystream.len +0 -0
  17. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.len +0 -0
  18. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.values.at +0 -0
  19. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab_i.len +0 -0
  20. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab +0 -0
  21. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.keystream +0 -0
  22. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.keystream.len +0 -0
  23. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.len +0 -0
  24. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.values.at +0 -0
  25. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab_i.len +0 -0
  26. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  27. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  28. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  29. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  30. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  31. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  32. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  33. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  34. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  35. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  36. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  37. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  38. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  39. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  40. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  41. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  42. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  43. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  44. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  45. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  46. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  47. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  48. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  49. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  50. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  51. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  52. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  53. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  54. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  55. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  56. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  57. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  58. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  59. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  60. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  61. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  62. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  63. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  64. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  65. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  66. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  67. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  68. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  69. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  70. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  71. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  72. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  73. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  74. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  75. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  76. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  77. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  78. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  79. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  80. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  81. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  82. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  83. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  84. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  85. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  86. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  87. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  88. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  89. package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/last-build.bin +0 -0
  90. package/espresso-server/buildSrc/build/kotlin/compileKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  91. package/espresso-server/buildSrc/build/libs/buildSrc.jar +0 -0
  92. package/espresso-server/buildSrc/build/tmp/jar/MANIFEST.MF +2 -0
  93. package/espresso-server/buildSrc/build.gradle.kts +13 -0
  94. package/espresso-server/buildSrc/src/main/kotlin/io/appium/espressoserver/jvmtarget/AppiumJvmTarget.kt +54 -0
  95. package/espresso-server/gradle/wrapper/gradle-wrapper.jar +0 -0
  96. package/espresso-server/gradle/wrapper/gradle-wrapper.properties +1 -1
  97. package/espresso-server/gradle.properties +3 -3
  98. package/espresso-server/gradlew +3 -6
  99. package/espresso-server/gradlew.bat +1 -2
  100. package/espresso-server/library/build.gradle.kts +17 -5
  101. package/espresso-server/library/src/main/java/io/appium/espressoserver/lib/helpers/Version.kt +1 -1
  102. package/espresso-server/library/src/test/java/io/appium/espressoserver/test/model/web/WebAtomTest.kt +2 -2
  103. package/espresso-server/library/src/test/java/io/appium/espressoserver/test/model/web/WebAtomsTest.kt +3 -3
  104. package/npm-shrinkwrap.json +108 -160
  105. package/package.json +3 -2
package/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ ## [8.0.0](https://github.com/appium/appium-espresso-driver/compare/v7.2.1...v8.0.0) (2026-04-18)
2
+
3
+ ### ⚠ BREAKING CHANGES
4
+
5
+ * The default kotlin version is set to 2.3.20
6
+ * The required build tools version is set to 36.0.0
7
+ * Dropped AGP 8.x
8
+
9
+ ### Features
10
+
11
+ * Bump Gradle version ([#1151](https://github.com/appium/appium-espresso-driver/issues/1151)) ([1ae46bd](https://github.com/appium/appium-espresso-driver/commit/1ae46bd5025674e74bbf298c2d70a70b91e4eb60))
12
+
13
+ ## [7.2.1](https://github.com/appium/appium-espresso-driver/compare/v7.2.0...v7.2.1) (2026-04-17)
14
+
15
+ ### Miscellaneous Chores
16
+
17
+ * **deps-dev:** bump typescript from 5.9.3 to 6.0.3 ([#1150](https://github.com/appium/appium-espresso-driver/issues/1150)) ([3ca21c5](https://github.com/appium/appium-espresso-driver/commit/3ca21c5471830b7c7e8bb0d6cb7c9b00ca4f468a))
18
+
1
19
  ## [7.2.0](https://github.com/appium/appium-espresso-driver/compare/v7.1.2...v7.2.0) (2026-04-08)
2
20
 
3
21
  ### Features
@@ -0,0 +1,21 @@
1
+ {
2
+ "version": 3,
3
+ "artifactType": {
4
+ "type": "APK",
5
+ "kind": "Directory"
6
+ },
7
+ "applicationId": "io.appium.espressoserver.test",
8
+ "variantName": "debugAndroidTest",
9
+ "elements": [
10
+ {
11
+ "type": "SINGLE",
12
+ "filters": [],
13
+ "attributes": [],
14
+ "versionCode": 0,
15
+ "versionName": "",
16
+ "outputFile": "app-debug-androidTest.apk"
17
+ }
18
+ ],
19
+ "elementType": "File",
20
+ "minSdkVersionForDexing": 26
21
+ }
@@ -1,8 +1,11 @@
1
1
  plugins {
2
2
  id("com.android.application")
3
- kotlin("android")
4
3
  }
5
4
 
5
+ import io.appium.espressoserver.jvmtarget.AppiumJvmTarget
6
+ import org.gradle.api.GradleException
7
+ import org.jetbrains.kotlin.gradle.dsl.JvmTarget
8
+
6
9
  val appiumCompileSdk: String by project
7
10
  val appiumMinSdk: String by project
8
11
  val appiumTargetSdk: String by project
@@ -45,7 +48,7 @@ android {
45
48
  buildTypes {
46
49
  getByName("release") {
47
50
  isMinifyEnabled = false
48
- proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
51
+ proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
49
52
  }
50
53
  }
51
54
 
@@ -74,15 +77,24 @@ android {
74
77
  targetCompatibility = JavaVersion.valueOf(appiumTargetCompatibility.uppercase())
75
78
  }
76
79
 
77
- kotlinOptions {
78
- jvmTarget = appiumJvmTarget
79
- }
80
-
81
80
  packaging {
82
81
  resources.excludes.add("META-INF/**")
83
82
  }
84
83
  }
85
84
 
85
+ kotlin {
86
+ compilerOptions {
87
+ val normalized = AppiumJvmTarget.resolveNormalized(appiumJvmTarget)
88
+ jvmTarget.set(
89
+ JvmTarget.entries.firstOrNull { it.target == normalized }
90
+ ?: throw GradleException(
91
+ "Unsupported appiumJvmTarget \"$appiumJvmTarget\" (normalized \"$normalized\"). " +
92
+ "Use one of: ${JvmTarget.entries.joinToString { it.target }}",
93
+ ),
94
+ )
95
+ }
96
+ }
97
+
86
98
  dependencies {
87
99
  androidTestImplementation(project(":library"))
88
100
  androidTestImplementation("junit:junit:$appiumJUnitVersion")
@@ -1,7 +1,6 @@
1
1
  // Top-level build file where you can add configuration options common to all sub-projects/modules.
2
2
 
3
3
  buildscript {
4
- val appiumKotlin: String by project
5
4
  val appiumAndroidGradlePlugin: String by project
6
5
 
7
6
  repositories {
@@ -9,7 +8,6 @@ buildscript {
9
8
  mavenCentral()
10
9
  }
11
10
  dependencies {
12
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$appiumKotlin")
13
11
  classpath("com.android.tools.build:gradle:$appiumAndroidGradlePlugin")
14
12
 
15
13
  // NOTE: Do not place your application dependencies here; they belong
@@ -27,5 +25,5 @@ allprojects {
27
25
  }
28
26
 
29
27
  tasks.register("clean", Delete::class) {
30
- delete(rootProject.buildDir)
28
+ delete(rootProject.layout.buildDirectory)
31
29
  }
@@ -0,0 +1,2 @@
1
+ #Sat Apr 18 07:08:49 UTC 2026
2
+ gradle.version=9.4.1
@@ -0,0 +1,2 @@
1
+ Manifest-Version: 1.0
2
+
@@ -0,0 +1,13 @@
1
+ plugins {
2
+ `kotlin-dsl`
3
+ }
4
+
5
+ repositories {
6
+ mavenCentral()
7
+ }
8
+
9
+ java {
10
+ toolchain {
11
+ languageVersion.set(JavaLanguageVersion.of(17))
12
+ }
13
+ }
@@ -0,0 +1,54 @@
1
+ package io.appium.espressoserver.jvmtarget
2
+
3
+ import org.gradle.api.GradleException
4
+
5
+ /**
6
+ * Normalizes and validates `appiumJvmTarget` / `-PappiumJvmTarget=…` from Gradle properties.
7
+ *
8
+ * Normalizes values (e.g. `1_8`, `8`, `VERSION_1_8`). Default `1.8` is the project baseline for emitted JVM
9
+ * bytecode (Java 8 language level). Call sites map the returned string to [org.jetbrains.kotlin.gradle.dsl.JvmTarget].
10
+ */
11
+ object AppiumJvmTarget {
12
+
13
+ private fun normalizeAppiumJvmTarget(raw: String): String {
14
+ val trimmed = raw.trim()
15
+ if (trimmed.isEmpty()) {
16
+ return "1.8"
17
+ }
18
+ val withoutVersionPrefix = Regex("^VERSION_", RegexOption.IGNORE_CASE).replace(trimmed, "")
19
+ val dotted = withoutVersionPrefix.replace('_', '.')
20
+ return when (dotted) {
21
+ "8" -> "1.8"
22
+ else -> dotted
23
+ }
24
+ }
25
+
26
+ /** Java bytecode level as a single integer (8 for 1.8, 11, 17, …). */
27
+ private fun jvmBytecodeLevel(normalizedTarget: String): Int =
28
+ when {
29
+ normalizedTarget == "1.8" -> 8
30
+ normalizedTarget.startsWith("1.") ->
31
+ throw GradleException(
32
+ "Unsupported JVM target \"$normalizedTarget\". Use 1.8 (Java 8) for legacy 1.x bytecode.",
33
+ )
34
+ else ->
35
+ normalizedTarget.toIntOrNull()
36
+ ?: throw GradleException(
37
+ "Invalid appiumJvmTarget \"$normalizedTarget\" (expected e.g. 1.8, 11, or 17).",
38
+ )
39
+ }
40
+
41
+ /**
42
+ * Returns the normalized JVM target string (e.g. `1.8`, `17`) for Kotlin [org.jetbrains.kotlin.gradle.dsl.JvmTarget].
43
+ */
44
+ fun resolveNormalized(appiumJvmTargetProperty: String): String {
45
+ val normalized = normalizeAppiumJvmTarget(appiumJvmTargetProperty)
46
+ val level = jvmBytecodeLevel(normalized)
47
+ if (level < 8) {
48
+ throw GradleException(
49
+ "Minimum supported appiumJvmTarget is 1.8 / Java 8 (bytecode level was $level from \"$appiumJvmTargetProperty\").",
50
+ )
51
+ }
52
+ return normalized
53
+ }
54
+ }
@@ -1,6 +1,6 @@
1
1
  distributionBase=GRADLE_USER_HOME
2
2
  distributionPath=wrapper/dists
3
- distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip
3
+ distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip
4
4
  networkTimeout=10000
5
5
  validateDistributionUrl=true
6
6
  zipStoreBase=GRADLE_USER_HOME
@@ -28,14 +28,14 @@ kotlin.stdlib.default.dependency=false
28
28
  appiumCompileSdk=34
29
29
  appiumMinSdk=26
30
30
  appiumTargetSdk=34
31
- appiumBuildTools=34.0.0
31
+ appiumBuildTools=36.0.0
32
32
  appiumTargetPackage=io.appium.espressoserver
33
33
  appiumSourceCompatibility=VERSION_1_8
34
34
  appiumTargetCompatibility=VERSION_1_8
35
35
  appiumJvmTarget=1.8
36
36
 
37
- appiumAndroidGradlePlugin=8.13.0
38
- appiumKotlin=1.8.10
37
+ appiumAndroidGradlePlugin=9.1.1
38
+ appiumKotlin=2.3.20
39
39
  appiumAndroidxTestVersion=1.5.0
40
40
  appiumAnnotationVersion=1.6.0
41
41
  appiumComposeVersion=1.1.1
@@ -1,7 +1,7 @@
1
1
  #!/bin/sh
2
2
 
3
3
  #
4
- # Copyright © 2015-2021 the original authors.
4
+ # Copyright © 2015 the original authors.
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -57,7 +57,7 @@
57
57
  # Darwin, MinGW, and NonStop.
58
58
  #
59
59
  # (3) This script is generated from the Groovy template
60
- # https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
60
+ # https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
61
61
  # within the Gradle project.
62
62
  #
63
63
  # You can find Gradle at https://github.com/gradle/gradle/.
@@ -114,7 +114,6 @@ case "$( uname )" in #(
114
114
  NONSTOP* ) nonstop=true ;;
115
115
  esac
116
116
 
117
- CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
118
117
 
119
118
 
120
119
  # Determine the Java command to use to start the JVM.
@@ -172,7 +171,6 @@ fi
172
171
  # For Cygwin or MSYS, switch paths to Windows format before running java
173
172
  if "$cygwin" || "$msys" ; then
174
173
  APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
175
- CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
176
174
 
177
175
  JAVACMD=$( cygpath --unix "$JAVACMD" )
178
176
 
@@ -212,8 +210,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
212
210
 
213
211
  set -- \
214
212
  "-Dorg.gradle.appname=$APP_BASE_NAME" \
215
- -classpath "$CLASSPATH" \
216
- org.gradle.wrapper.GradleWrapperMain \
213
+ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
217
214
  "$@"
218
215
 
219
216
  # Stop when "xargs" is not available.
@@ -70,11 +70,10 @@ goto fail
70
70
  :execute
71
71
  @rem Setup the command line
72
72
 
73
- set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
74
73
 
75
74
 
76
75
  @rem Execute Gradle
77
- "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
76
+ "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
78
77
 
79
78
  :end
80
79
  @rem End local scope for the variables with windows NT shell
@@ -1,9 +1,12 @@
1
1
  plugins {
2
2
  id("com.android.library")
3
- kotlin("android")
4
3
  `maven-publish`
5
4
  }
6
5
 
6
+ import io.appium.espressoserver.jvmtarget.AppiumJvmTarget
7
+ import org.gradle.api.GradleException
8
+ import org.jetbrains.kotlin.gradle.dsl.JvmTarget
9
+
7
10
  val appiumCompileSdk: String by project
8
11
  val appiumMinSdk: String by project
9
12
  val appiumTargetSdk: String by project
@@ -40,10 +43,6 @@ android {
40
43
  resources.excludes.add("META-INF/**")
41
44
  }
42
45
 
43
- kotlinOptions {
44
- jvmTarget = appiumJvmTarget
45
- }
46
-
47
46
  lint {
48
47
  targetSdk = appiumTargetSdk.toInt()
49
48
  }
@@ -60,6 +59,19 @@ android {
60
59
  }
61
60
  }
62
61
 
62
+ kotlin {
63
+ compilerOptions {
64
+ val normalized = AppiumJvmTarget.resolveNormalized(appiumJvmTarget)
65
+ jvmTarget.set(
66
+ JvmTarget.entries.firstOrNull { it.target == normalized }
67
+ ?: throw GradleException(
68
+ "Unsupported appiumJvmTarget \"$appiumJvmTarget\" (normalized \"$normalized\"). " +
69
+ "Use one of: ${JvmTarget.entries.joinToString { it.target }}",
70
+ ),
71
+ )
72
+ }
73
+ }
74
+
63
75
  publishing {
64
76
  publications {
65
77
  register<MavenPublication>("release") {
@@ -2,6 +2,6 @@ package io.appium.espressoserver.lib.helpers
2
2
 
3
3
  // This value is updated automatically by the NPM versioning script
4
4
  // It should be in sync with the NPM module version from package.json
5
- private const val VERSION = "7.2.0"
5
+ private const val VERSION = "8.0.0"
6
6
 
7
7
  fun getEspressoServerVersion() = VERSION
@@ -49,7 +49,7 @@ class WebAtomTest {
49
49
  jsonObject.add("args", argsArr)
50
50
  val webAtom = WebAtomDeserializer().deserialize(jsonObject, null, null)
51
51
  assertEquals(webAtom.name, "someFakeAtom")
52
- assertTrue(webAtom.args contentEquals arrayOf("hello", true, 100, 1.1))
52
+ assertTrue(webAtom.args contentEquals arrayOf<Any>("hello", true, 100, 1.1))
53
53
  assertEquals(webAtom.args.size, 4)
54
54
  }
55
55
 
@@ -63,6 +63,6 @@ class WebAtomTest {
63
63
  jsonObject.add("locator", locatorObject)
64
64
  val webAtom = WebAtomDeserializer().deserialize(jsonObject, null, null)
65
65
  assertEquals(webAtom.name, "findElement")
66
- assertTrue(webAtom.args contentEquals arrayOf(Locator.ID, "some_html_id"))
66
+ assertTrue(webAtom.args contentEquals arrayOf<Any>(Locator.ID, "some_html_id"))
67
67
  }
68
68
  }
@@ -24,7 +24,7 @@ class WebAtomsTest {
24
24
  }""".trimIndent(), WebAtomsMethod::class.java)
25
25
  assertEquals(webAtomsMethod.name, "withElement")
26
26
  assertEquals(webAtomsMethod.atom.name, "findElement")
27
- assertTrue(webAtomsMethod.atom.args contentEquals arrayOf(Locator.ID, "text_input"))
27
+ assertTrue(webAtomsMethod.atom.args contentEquals arrayOf<Any>(Locator.ID, "text_input"))
28
28
  }
29
29
 
30
30
  @Test
@@ -77,7 +77,7 @@ class WebAtomsTest {
77
77
  webAtoms.methodChain[0].let {
78
78
  assertEquals(it.name, "withElement")
79
79
  assertEquals(it.atom.name, "findElement")
80
- assertTrue(it.atom.args contentEquals arrayOf(Locator.ID, "text_input"))
80
+ assertTrue(it.atom.args contentEquals arrayOf<Any>(Locator.ID, "text_input"))
81
81
  }
82
82
 
83
83
  webAtoms.methodChain[1].let {
@@ -89,7 +89,7 @@ class WebAtomsTest {
89
89
  webAtoms.methodChain[2].let {
90
90
  assertEquals(it.name, "perform")
91
91
  assertEquals(it.atom.name, "webKeys")
92
- assertTrue(it.atom.args contentEquals arrayOf("Foo"))
92
+ assertTrue(it.atom.args contentEquals arrayOf<Any>("Foo"))
93
93
  }
94
94
 
95
95
  }