appium / appium-espresso-driver

Espresso integration for Appium
Apache License 2.0
191 stars 75 forks source link

Using newer versions of build tools causes server build to fail #743

Open dvanderleij opened 2 years ago

dvanderleij commented 2 years ago

Issue

Using new versions of various build tools causes some references in the build.gradle.kts to fail to compile. This prevents me from using the espresso driver with these versions: JDK17 but also happens with JDK11 "gradle" to "7.3.3", "androidGradlePlugin" to "7.1.0", "buildTools" to "32.0.0", "compileSdk" to "32", "kotlin" to "1.6.10"

Steps to reproduce

  1. Start Appium server 1.22
  2. Use java client 8.0.0-beta2 (with Kotlin) to configure androidDriver as follows:

    val cap = DesiredCapabilities()
        cap.setCapability(
            "app",
            "<redacted>"
        ) 
    
        cap.setCapability("automationName", "Espresso")
        cap.setCapability("deviceName", "Android Emulator")
        cap.setCapability("platformName", "Android")
        cap.setCapability("appActivity", "<redacted>")
        cap.setCapability("appWaitActivity", "<redacted>")
        cap.setCapability("allowTestPackages", true)
        cap.setCapability(
            "espressoBuildConfig",
            jsonb.toJson(
                mapOf(
                    "toolsVersions" to mapOf(
                        "gradle" to "7.3.3",
                        "androidGradlePlugin" to "7.1.0",
                        "buildTools" to "32.0.0",
                        "compileSdk" to "32",
                        "kotlin" to "1.6.10"
                    )
                )
            )
        )
        cap.setCapability("forceEspressoRebuild", true)
        cap.setCapability("appium:showGradleLog", true)
        return AndroidDriver(URL("http://<redacted>:4723/wd/hub"), cap)

    You can also trigger these build errors by manually building 'espresso-server' with these versions

Relevant Appium server log entries

Server startup

[BaseDriver] Creating session with W3C capabilities: {
[BaseDriver]   "alwaysMatch": {
[BaseDriver]     "platformName": "android",
[BaseDriver]     "appium:allowTestPackages": true,
[BaseDriver]     "appium:app": "<redacted>",
[BaseDriver]     "appium:appActivity": "<redacted>",
[BaseDriver]     "appium:appWaitActivity": "<redacted>",
[BaseDriver]     "appium:automationName": "Espresso",
[BaseDriver]     "appium:deviceName": "Android Emulator",
[BaseDriver]     "appium:espressoBuildConfig": "{\"toolsVersions\":{\"gradle\":\"7.3.3\",\"androidGradlePlugin\":\"7.1.0\",\"buildTools\":\"32.0.0\",\"compileSdk\":\"32\",\"kotlin\":\"1.6.10\"}}",
[BaseDriver]     "appium:forceEspressoRebuild": true,
[BaseDriver]     "appium:showGradleLog": true
[BaseDriver]   },
[BaseDriver]   "firstMatch": [
[BaseDriver]     {}
[BaseDriver]   ]
[BaseDriver] }

Gradle Log

[Espresso] Beginning build with command './gradlew -PappiumAndroidGradlePlugin=7.1.0 -PappiumCompileSdk=32 -PappiumBuildTools=32.0.0 -PappiumKotlin=1.6.10 -PappiumTargetPackage=<redacted> app:assembleAndroidTest' in directory '/var/folders/cx/ts0z7xwx2d7ghyscyfhk17rm0000gr/T/espresso-server-emulator-5554'
[Espresso] Output from Gradle will be logged. To change this, use 'showGradleLog' desired capability
[Gradle] [STDOUT] 
[Gradle] [STDOUT] > Configure project :app
[Gradle] [STDERR] e: /private/var/folders/cx/ts0z7xwx2d7ghyscyfhk17rm0000gr/T/espresso-server-emulator-5554/app/build.gradle.kts:25:13: Unresolved reference: zipAlignEnabled
[Gradle] [STDERR] e: /private/var/folders/cx/ts0z7xwx2d7ghyscyfhk17rm0000gr/T/espresso-server-emulator-5554/app/build.gradle.kts:46:17: Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: 
[Gradle] [STDERR] public inline operator fun > TypeVariable(C).invoke(configuration: Action>): TypeVariable(C) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Closure.invoke(): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Closure.invoke(x: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Closure.invoke(vararg xs: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Callable.invoke(): TypeVariable(V) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  DeepRecursiveFunction.invoke(value: TypeVariable(T)): TypeVariable(R) defined in kotlin
[Gradle] [STDERR] public operator fun  Action.invoke(target: TypeVariable(T)): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  NamedDomainObjectProvider.invoke(action: TypeVariable(T).() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun ArtifactHandler.invoke(configuration: ArtifactHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun DependencyConstraintHandler.invoke(configuration: DependencyConstraintHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public inline operator fun  ExtraPropertiesExtension.invoke(initialValueProvider: () -> TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  ExtraPropertiesExtension.invoke(initialValue: TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Spec.invoke(arg: TypeVariable(T)): Boolean defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public inline operator fun TaskContainer.invoke(configuration: TaskContainerScope.() -> Unit): TaskContainer defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] e: /private/var/folders/cx/ts0z7xwx2d7ghyscyfhk17rm0000gr/T/espresso-server-emulator-5554/app/build.gradle.kts:50:17: Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: 
[Gradle] [STDERR] public inline operator fun > TypeVariable(C).invoke(configuration: Action>): TypeVariable(C) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Closure.invoke(): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Closure.invoke(x: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Closure.invoke(vararg xs: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Callable.invoke(): TypeVariable(V) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  DeepRecursiveFunction.invoke(value: TypeVariable(T)): TypeVariable(R) defined in kotlin
[Gradle] [STDERR] public operator fun  Action.invoke(target: TypeVariable(T)): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  NamedDomainObjectProvider.invoke(action: TypeVariable(T).() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun ArtifactHandler.invoke(configuration: ArtifactHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun DependencyConstraintHandler.invoke(configuration: DependencyConstraintHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public inline operator fun  ExtraPropertiesExtension.invoke(initialValueProvider: () -> TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  ExtraPropertiesExtension.invoke(initialValue: TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Spec.invoke(arg: TypeVariable(T)): Boolean defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public inline operator fun TaskContainer.invoke(configuration: TaskContainerScope.() -> Unit): TaskContainer defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] e: /private/var/folders/cx/ts0z7xwx2d7ghyscyfhk17rm0000gr/T/espresso-server-emulator-5554/app/build.gradle.kts:54:17: Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: 
[Gradle] [STDERR] public inline operator fun > TypeVariable(C).invoke(configuration: Action>): TypeVariable(C) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Closure.invoke(): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Closure.invoke(x: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Closure.invoke(vararg xs: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Callable.invoke(): TypeVariable(V) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  DeepRecursiveFunction.invoke(value: TypeVariable(T)): TypeVariable(R) defined in kotlin
[Gradle] [STDERR] public operator fun  Action.invoke(target: TypeVariable(T)): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  NamedDomainObjectProvider.invoke(action: TypeVariable(T).() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun ArtifactHandler.invoke(configuration: ArtifactHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun DependencyConstraintHandler.invoke(configuration: DependencyConstraintHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public inline operator fun  ExtraPropertiesExtension.invoke(initialValueProvider: () -> TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  ExtraPropertiesExtension.invoke(initialValue: TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Spec.invoke(arg: TypeVariable(T)): Boolean defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public inline operator fun TaskContainer.invoke(configuration: TaskContainerScope.() -> Unit): TaskContainer defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] e: /private/var/folders/cx/ts0z7xwx2d7ghyscyfhk17rm0000gr/T/espresso-server-emulator-5554/app/build.gradle.kts:58:17: Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: 
[Gradle] [STDERR] public inline operator fun > TypeVariable(C).invoke(configuration: Action>): TypeVariable(C) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Closure.invoke(): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Closure.invoke(x: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Closure.invoke(vararg xs: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Callable.invoke(): TypeVariable(V) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  DeepRecursiveFunction.invoke(value: TypeVariable(T)): TypeVariable(R) defined in kotlin
[Gradle] [STDERR] public operator fun  Action.invoke(target: TypeVariable(T)): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  NamedDomainObjectProvider.invoke(action: TypeVariable(T).() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun ArtifactHandler.invoke(configuration: ArtifactHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun DependencyConstraintHandler.invoke(configuration: DependencyConstraintHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public inline operator fun  ExtraPropertiesExtension.invoke(initialValueProvider: () -> TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  ExtraPropertiesExtension.invoke(initialValue: TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public operator fun  Spec.invoke(arg: TypeVariable(T)): Boolean defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] public inline operator fun TaskContainer.invoke(configuration: TaskContainerScope.() -> Unit): TaskContainer defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] 
[Gradle] [STDERR] FAILURE: Build failed with an exception.
[Gradle] [STDERR] 
[Gradle] [STDERR] * Where:
[Gradle] [STDERR] Build file '/private/var/folders/cx/ts0z7xwx2d7ghyscyfhk17rm0000gr/T/espresso-server-emulator-5554/app/build.gradle.kts' line: 25
[Gradle] [STDERR] 
[Gradle] [STDERR] * What went wrong:
[Gradle] [STDERR] Script compilation errors:
[Gradle] [STDERR] 
[Gradle] [STDERR]   Line 25:             zipAlignEnabled(getBooleanProperty("appiumZipAlign", true))
[Gradle] [STDERR]                        ^ Unresolved reference: zipAlignEnabled
[Gradle] [STDERR] 
[Gradle] [STDERR]   Line 46:                 storeFile(File(it.toString()))
[Gradle] [STDERR]                            ^ Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: 
[Gradle] [STDERR]                                public inline operator fun > TypeVariable(C).invoke(configuration: Action>): TypeVariable(C) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Closure.invoke(): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Closure.invoke(x: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Closure.invoke(vararg xs: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Callable.invoke(): TypeVariable(V) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  DeepRecursiveFunction.invoke(value: TypeVariable(T)): TypeVariable(R) defined in kotlin
[Gradle] [STDERR]                                public operator fun  Action.invoke(target: TypeVariable(T)): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  NamedDomainObjectProvider.invoke(action: TypeVariable(T).() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun ArtifactHandler.invoke(configuration: ArtifactHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun DependencyConstraintHandler.invoke(configuration: DependencyConstraintHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public inline operator fun  ExtraPropertiesExtension.invoke(initialValueProvider: () -> TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  ExtraPropertiesExtension.invoke(initialValue: TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Spec.invoke(arg: TypeVariable(T)): Boolean defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public inline operator fun TaskContainer.invoke(configuration: TaskContainerScope.() -> Unit): TaskContainer defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] 
[Gradle] [STDERR]   Line 50:                 storePassword(it.toString())
[Gradle] [STDERR]                            ^ Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: 
[Gradle] [STDERR]                                public inline operator fun > TypeVariable(C).invoke(configuration: Action>): TypeVariable(C) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Closure.invoke(): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Closure.invoke(x: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Closure.invoke(vararg xs: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Callable.invoke(): TypeVariable(V) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  DeepRecursiveFunction.invoke(value: TypeVariable(T)): TypeVariable(R) defined in kotlin
[Gradle] [STDERR]                                public operator fun  Action.invoke(target: TypeVariable(T)): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  NamedDomainObjectProvider.invoke(action: TypeVariable(T).() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun ArtifactHandler.invoke(configuration: ArtifactHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun DependencyConstraintHandler.invoke(configuration: DependencyConstraintHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public inline operator fun  ExtraPropertiesExtension.invoke(initialValueProvider: () -> TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  ExtraPropertiesExtension.invoke(initialValue: TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Spec.invoke(arg: TypeVariable(T)): Boolean defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public inline operator fun TaskContainer.invoke(configuration: TaskContainerScope.() -> Unit): TaskContainer defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] 
[Gradle] [STDERR]   Line 54:                 keyAlias(it.toString())
[Gradle] [STDERR]                            ^ Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: 
[Gradle] [STDERR]                                public inline operator fun > TypeVariable(C).invoke(configuration: Action>): TypeVariable(C) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Closure.invoke(): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Closure.invoke(x: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Closure.invoke(vararg xs: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Callable.invoke(): TypeVariable(V) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  DeepRecursiveFunction.invoke(value: TypeVariable(T)): TypeVariable(R) defined in kotlin
[Gradle] [STDERR]                                public operator fun  Action.invoke(target: TypeVariable(T)): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  NamedDomainObjectProvider.invoke(action: TypeVariable(T).() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun ArtifactHandler.invoke(configuration: ArtifactHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun DependencyConstraintHandler.invoke(configuration: DependencyConstraintHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public inline operator fun  ExtraPropertiesExtension.invoke(initialValueProvider: () -> TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  ExtraPropertiesExtension.invoke(initialValue: TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Spec.invoke(arg: TypeVariable(T)): Boolean defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public inline operator fun TaskContainer.invoke(configuration: TaskContainerScope.() -> Unit): TaskContainer defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] 
[Gradle] [STDERR]   Line 58:                 keyPassword(it.toString())
[Gradle] [STDERR]                            ^ Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: 
[Gradle] [STDERR]                                public inline operator fun > TypeVariable(C).invoke(configuration: Action>): TypeVariable(C) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Closure.invoke(): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Closure.invoke(x: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Closure.invoke(vararg xs: Any?): TypeVariable(T) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Callable.invoke(): TypeVariable(V) defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  DeepRecursiveFunction.invoke(value: TypeVariable(T)): TypeVariable(R) defined in kotlin
[Gradle] [STDERR]                                public operator fun  Action.invoke(target: TypeVariable(T)): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  NamedDomainObjectProvider.invoke(action: TypeVariable(T).() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun ArtifactHandler.invoke(configuration: ArtifactHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun DependencyConstraintHandler.invoke(configuration: DependencyConstraintHandlerScope.() -> Unit): Unit defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public inline operator fun  ExtraPropertiesExtension.invoke(initialValueProvider: () -> TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  ExtraPropertiesExtension.invoke(initialValue: TypeVariable(T)): InitialValueExtraPropertyDelegateProvider defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public operator fun  Spec.invoke(arg: TypeVariable(T)): Boolean defined in org.gradle.kotlin.dsl
[Gradle] [STDERR]                                public inline operator fun TaskContainer.invoke(configuration: TaskContainerScope.() -> Unit): TaskContainer defined in org.gradle.kotlin.dsl
[Gradle] [STDERR] 
[Gradle] [STDERR] 5 errors
[Gradle] [STDERR] 
[Gradle] [STDERR] * Try:
[Gradle] [STDERR] > Run with --stacktrace option to get the stack trace.
[Gradle] [STDERR] > Run with --info or --debug option to get more log output.
[Gradle] [STDERR] > Run with --scan to get full insights.
[Gradle] [STDERR] 
[Gradle] [STDERR] * Get more help at https://help.gradle.org
[Gradle] [STDOUT] 
[Gradle] [STDOUT] Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
[Gradle] [STDOUT] 
[Gradle] [STDOUT] You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
[Gradle] [STDOUT] 
[Gradle] [STDOUT] See https://docs.gradle.org/7.3.3/userguide/command_line_interface.html#sec:command_line_warnings
[Gradle] [STDERR] 
[Gradle] [STDERR] BUILD FAILED in 7s
[Espresso] Unable to build Espresso server - Process ended with exitcode 1 (cmd: './gradlew -PappiumAndroidGradlePlugin\=7.1.0 -PappiumCompileSdk\=32 -PappiumBuildTools\=32.0.0 -PappiumKotlin\=1.6.10 -PappiumTargetPackage\=nl.ing.testarsample app\:assembleAndroidTest')
[Espresso] Gradle error message:
[Espresso] 
[Espresso] [STDERR] ,
[Espresso] [STDERR] * Try:,
[Espresso] [STDERR] > Run with --stacktrace option to get the stack trace.,
[Espresso] [STDERR] > Run with --info or --debug option to get more log output.,
[Espresso] [STDERR] > Run with --scan to get full insights.,
[Espresso] [STDERR] ,
[Espresso] [STDERR] * Get more help at https://help.gradle.org,
[Espresso] [STDOUT] ,
[Espresso] [STDOUT] Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.,
[Espresso] [STDOUT] ,
[Espresso] [STDOUT] You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.,
[Espresso] [STDOUT] ,
[Espresso] [STDOUT] See https://docs.gradle.org/7.3.3/userguide/command_line_interface.html#sec:command_line_warnings,
[Espresso] [STDERR] ,
[Espresso] [STDERR] BUILD FAILED in 7s
[Espresso] Deleting espresso session
dvanderleij commented 2 years ago

Workaround for anyone also expriencing this: I start the appium server with JAVA_HOME=<jdk8path> and use older versions of the build tools. However these build tools versions than do not match with my app's versions

KazuCocoa commented 2 years ago

I guess https://github.com/appium/appium-espresso-driver/pull/715 helps. Btw, I think JDK 17 hasn't been supported by Android Studio yet.

raj12032020 commented 2 years ago

also when setting the targetSdk version to 31 (for android 12), its not compiling

[Gradle] [STDOUT] > Task :app:processDebugAndroidTestManifest FAILED
[Gradle] [STDERR] /private/var/folders/2j/94mg73_n1rb555j3jp4j1mzm0000gn/T/espresso-server-09191FDD4003YW/app/build/intermediates/tmp/manifest/androidTest/debug/tempFile1ProcessTestManifest14603067693112349693.xml Error:
[Gradle] [STDERR]   android:exported needs to be explicitly specified for <activity>. Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.
[Gradle] [STDERR] /private/var/folders/2j/94mg73_n1rb555j3jp4j1mzm0000gn/T/espresso-server-09191FDD4003YW/app/build/intermediates/tmp/manifest/androidTest/debug/tempFile1ProcessTestManifest14603067693112349693.xml Error:
[Gradle] [STDERR]   android:exported needs to be explicitly specified for <activity>. Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.`

Any ideas where in the espresso server manifest it has to be set, as its AndroidManifest.xml doesnt have a tag for Application activity/service?

KazuCocoa commented 2 years ago

Could you share /private/var/folders/2j/94mg73_n1rb555j3jp4j1mzm0000gn/T/espresso-server-09191FDD4003YW/app/build/intermediates/tmp/manifest/androidTest/debug/tempFile1ProcessTestManifest14603067693112349693.xml? This espresso server only has https://github.com/appium/appium-espresso-driver/blob/master/espresso-server/app/src/main/AndroidManifest.xml to add necessary permissions.

raj12032020 commented 2 years ago

Could you share /private/var/folders/2j/94mg73_n1rb555j3jp4j1mzm0000gn/T/espresso-server-09191FDD4003YW/app/build/intermediates/tmp/manifest/androidTest/debug/tempFile1ProcessTestManifest14603067693112349693.xml?

Couldnt find that tmp xml file, seems to be deleted after throwing error when the espresso session is deleted But I was able to fix that error by bumping the version of testlib to 1.4.0 https://github.com/appium/appium-espresso-driver/blob/bb12b6489786410b6a220e6a992bc33b98ebd677/espresso-server/app/build.gradle.kts#L144

KazuCocoa commented 2 years ago

I see. Perhaps https://github.com/appium/appium-espresso-driver#additionalandroidtestdependencies helps to override dependencies.