detox 21.0.0-breaking.new-global-lifecycle.0 → 21.0.1-rc.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (304) hide show
  1. package/.eslintrc.js +2 -7
  2. package/Detox-android/com/wix/detox/{21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-javadoc.jar → 21.0.1-rc.0/detox-21.0.1-rc.0-javadoc.jar} +0 -0
  3. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-javadoc.jar.md5 +1 -0
  4. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-javadoc.jar.sha1 +1 -0
  5. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-javadoc.jar.sha256 +1 -0
  6. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-javadoc.jar.sha512 +1 -0
  7. package/Detox-android/com/wix/detox/{21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-sources.jar → 21.0.1-rc.0/detox-21.0.1-rc.0-sources.jar} +0 -0
  8. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-sources.jar.md5 +1 -0
  9. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-sources.jar.sha1 +1 -0
  10. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-sources.jar.sha256 +1 -0
  11. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0-sources.jar.sha512 +1 -0
  12. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.aar +0 -0
  13. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.aar.md5 +1 -0
  14. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.aar.sha1 +1 -0
  15. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.aar.sha256 +1 -0
  16. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.aar.sha512 +1 -0
  17. package/Detox-android/com/wix/detox/{21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.pom → 21.0.1-rc.0/detox-21.0.1-rc.0.pom} +22 -10
  18. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.pom.md5 +1 -0
  19. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.pom.sha1 +1 -0
  20. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.pom.sha256 +1 -0
  21. package/Detox-android/com/wix/detox/21.0.1-rc.0/detox-21.0.1-rc.0.pom.sha512 +1 -0
  22. package/Detox-android/com/wix/detox/maven-metadata.xml +4 -4
  23. package/Detox-android/com/wix/detox/maven-metadata.xml.md5 +1 -1
  24. package/Detox-android/com/wix/detox/maven-metadata.xml.sha1 +1 -1
  25. package/Detox-android/com/wix/detox/maven-metadata.xml.sha256 +1 -1
  26. package/Detox-android/com/wix/detox/maven-metadata.xml.sha512 +1 -1
  27. package/Detox-ios-framework.tbz +0 -0
  28. package/Detox-ios-src.tbz +0 -0
  29. package/Detox-ios-xcuitest.tbz +0 -0
  30. package/README.md +1 -1
  31. package/android/build.gradle +13 -8
  32. package/android/detox/build.gradle +24 -13
  33. package/android/detox/proguard-rules-app.pro +6 -0
  34. package/android/detox/proguard-rules.pro +3 -0
  35. package/android/detox/publish-pom.gradle +5 -1
  36. package/android/detox/publishing.gradle +35 -33
  37. package/android/detox/src/full/java/com/wix/detox/DetoxCrashHandler.kt +1 -1
  38. package/android/detox/src/full/java/com/wix/detox/LaunchArgs.java +9 -0
  39. package/android/detox/src/full/java/com/wix/detox/TestEngineFacade.kt +4 -4
  40. package/android/detox/src/full/java/com/wix/detox/adapters/server/QueryStatusActionHandler.kt +12 -80
  41. package/android/detox/src/full/java/com/wix/detox/adapters/server/WebSocketClient.java +3 -1
  42. package/android/detox/src/full/java/com/wix/detox/common/UIExtensions.kt +28 -0
  43. package/android/detox/src/full/java/com/wix/detox/espresso/DetoxAction.java +37 -3
  44. package/android/detox/src/full/java/com/wix/detox/espresso/DetoxMatcher.java +11 -1
  45. package/android/detox/src/full/java/com/wix/detox/espresso/UiAutomatorHelper.java +1 -1
  46. package/android/detox/src/full/java/com/wix/detox/espresso/action/AdjustSliderToPositionAction.kt +22 -0
  47. package/android/detox/src/{main → full}/java/com/wix/detox/espresso/action/GetAttributesAction.kt +17 -4
  48. package/android/detox/src/full/java/com/wix/detox/espresso/action/RNDetoxAccessibilityAction.kt +46 -0
  49. package/android/detox/src/full/java/com/wix/detox/espresso/common/SliderHelper.kt +75 -0
  50. package/android/detox/src/full/java/com/wix/detox/espresso/common/UiControllerImplReflected.kt +16 -0
  51. package/android/detox/src/full/java/com/wix/detox/espresso/idlingresources/DescriptiveIdlingResource.kt +8 -0
  52. package/android/detox/src/full/java/com/wix/detox/espresso/matcher/ViewMatchers.kt +24 -28
  53. package/android/detox/src/full/java/com/wix/detox/espresso/matcher/WithAccessibilityLabelMatcher.kt +23 -0
  54. package/android/detox/src/full/java/com/wix/detox/espresso/registry/BusyResourcesInquirer.kt +48 -0
  55. package/android/detox/src/full/java/com/wix/detox/inquiry/DetoxBusyResource.kt +92 -0
  56. package/android/detox/src/full/java/com/wix/detox/inquiry/DetoxBusyResourceDescription.kt +26 -0
  57. package/android/detox/src/full/java/com/wix/detox/reactnative/ReactNativeExtension.kt +15 -2
  58. package/android/detox/src/full/java/com/wix/detox/reactnative/ReactNativeIdlingResources.kt +43 -38
  59. package/android/detox/src/full/java/com/wix/detox/reactnative/ReactNativeLoadingMonitor.kt +54 -8
  60. package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/AnimatedModuleIdlingResource.java +18 -7
  61. package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/AsyncStorageIdlingResource.kt +3 -4
  62. package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/BridgeIdlingResource.java +12 -6
  63. package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/DetoxBaseIdlingResource.java +2 -0
  64. package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/NetworkIdlingResource.java +43 -34
  65. package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/timers/DelegatedIdleInterrogationStrategy.kt +7 -27
  66. package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/timers/IdleInterrogationStrategy.kt +1 -11
  67. package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/timers/TimersIdlingResource.kt +2 -6
  68. package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/uimodule/RN66Workaround.kt +13 -4
  69. package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/uimodule/UIManagerModuleReflected.kt +1 -1
  70. package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/uimodule/UIModuleIdlingResource.kt +4 -6
  71. package/android/detox/src/full/java/com/wix/detox/reactnative/ui/UIExtensions.kt +37 -0
  72. package/android/detox/src/full/java/com/wix/detox/reactnative/utils/RNUtils.kt +6 -0
  73. package/android/detox/src/main/java/com/wix/detox/common/DetoxErrors.java +4 -1
  74. package/android/detox/src/main/java/com/wix/detox/common/TextFileReader.kt +1 -1
  75. package/android/detox/src/main/java/com/wix/detox/espresso/UiControllerSpy.kt +2 -1
  76. package/android/detox/src/main/java/com/wix/detox/espresso/action/common/ReflectUtils.kt +10 -0
  77. package/android/detox/src/main/java/com/wix/detox/espresso/action/common/utils/UiControllerUtils.kt +1 -1
  78. package/android/detox/src/testFull/java/com/wix/detox/UTHelpers.kt +12 -0
  79. package/android/detox/src/testFull/java/com/wix/detox/adapters/server/QueryStatusActionHandlerSpec.kt +35 -94
  80. package/android/detox/src/testFull/java/com/wix/detox/common/UIExtensionsTest.kt +107 -0
  81. package/android/detox/src/testFull/java/com/wix/detox/espresso/action/DetoxMultiTapSpec.kt +4 -3
  82. package/android/detox/src/testFull/java/com/wix/detox/espresso/action/GetAttributesActionTest.kt +22 -9
  83. package/android/detox/src/testFull/java/com/wix/detox/espresso/common/SliderHelperTest.kt +39 -0
  84. package/android/detox/src/testFull/java/com/wix/detox/espresso/matcher/ViewAtIndexMatcherSpec.kt +1 -2
  85. package/android/detox/src/testFull/java/com/wix/detox/espresso/registry/{IRStatusInquirerTest.kt → BusyResourcesInquirerTest.kt} +46 -7
  86. package/android/detox/src/testFull/java/com/wix/detox/{reactnative/idlingresources/IdlingResourceDescriptionSpec.kt → inquiry/DetoxBusyResourceDescriptionSpec.kt} +6 -6
  87. package/android/detox/src/testFull/java/com/wix/detox/inquiry/DetoxBusyResourceSpec.kt +134 -0
  88. package/android/detox/src/testFull/java/com/wix/detox/reactnative/idlingresources/AsyncStorageIdlingResourceSpec.kt +4 -5
  89. package/android/detox/src/testFull/java/com/wix/detox/reactnative/idlingresources/NetworkIdlingResourcesTest.kt +61 -0
  90. package/android/detox/src/testFull/java/com/wix/detox/reactnative/idlingresources/timers/DelegatedIdleInterrogationStrategySpec.kt +3 -11
  91. package/android/detox/src/testFull/java/com/wix/detox/reactnative/idlingresources/timers/TimersIdlingResourceSpec.kt +4 -6
  92. package/android/gradle/wrapper/gradle-wrapper.properties +2 -1
  93. package/android/gradlew +181 -107
  94. package/index.d.ts +239 -83
  95. package/index.js +12 -1
  96. package/internals.d.ts +219 -45
  97. package/internals.js +10 -3
  98. package/local-cli/build-framework-cache.js +1 -1
  99. package/local-cli/build-xcuitest-cache.js +16 -0
  100. package/local-cli/build.js +2 -2
  101. package/local-cli/clean-framework-cache.js +1 -1
  102. package/local-cli/clean-xcuitest-cache.js +19 -0
  103. package/local-cli/cli.js +13 -7
  104. package/local-cli/init.js +61 -21
  105. package/local-cli/rebuild-framework-cache.js +4 -4
  106. package/local-cli/rebuild-xcuitest-cache.js +21 -0
  107. package/local-cli/reset-lock-file.js +16 -0
  108. package/local-cli/run-server.js +12 -1
  109. package/local-cli/start.js +49 -0
  110. package/local-cli/startCommand/AppStartCommand.js +65 -0
  111. package/local-cli/templates/jest.js +13 -10
  112. package/local-cli/test.js +14 -8
  113. package/local-cli/testCommand/TestRunnerCommand.js +126 -77
  114. package/local-cli/testCommand/TestRunnerError.js +13 -0
  115. package/local-cli/testCommand/builder.js +5 -1
  116. package/local-cli/testCommand/middlewares.js +4 -13
  117. package/local-cli/testCommand/warnings.js +0 -3
  118. package/local-cli/utils/cliErrorHandling.js +15 -0
  119. package/local-cli/utils/jestInternals.js +4 -1
  120. package/package.json +46 -26
  121. package/runners/deprecation.js +42 -44
  122. package/runners/jest/globalSetup.js +1 -1
  123. package/runners/jest/globalTeardown.js +1 -1
  124. package/runners/jest/index.d.ts +61 -0
  125. package/runners/jest/index.js +3 -8
  126. package/runners/jest/reporters/DetoxReporter.js +33 -2
  127. package/runners/jest/testEnvironment/index.js +119 -68
  128. package/runners/jest/testEnvironment/listeners/DetoxCoreListener.js +97 -51
  129. package/runners/jest/testEnvironment/listeners/DetoxPlatformFilterListener.js +1 -1
  130. package/runners/jest/testEnvironment/listeners/SpecReporter.js +15 -17
  131. package/runners/jest/testEnvironment/listeners/WorkerAssignReporter.js +3 -7
  132. package/runners/jest/testEnvironment/utils/assertJestCircus27.js +17 -3
  133. package/scripts/build_framework.ios.sh +26 -60
  134. package/scripts/build_local_framework.ios.sh +62 -0
  135. package/scripts/build_local_xcuitest.ios.sh +53 -0
  136. package/scripts/build_xcuitest.ios.sh +23 -0
  137. package/scripts/pack_ios.sh +14 -5
  138. package/scripts/postinstall.js +10 -4
  139. package/src/DetoxWorker.js +112 -64
  140. package/src/android/actions/native.js +16 -0
  141. package/src/android/core/NativeElement.js +72 -20
  142. package/src/android/core/NativeExpect.js +28 -9
  143. package/src/android/core/NativeMatcher.js +31 -10
  144. package/src/android/core/NativeWaitFor.js +8 -0
  145. package/src/android/espressoapi/DetoxAction.js +37 -0
  146. package/src/android/espressoapi/DetoxMatcher.js +24 -0
  147. package/src/android/espressoapi/EspressoDetox.js +1 -1
  148. package/src/android/espressoapi/web/WebElement.js +1 -1
  149. package/src/android/interactions/native.js +25 -18
  150. package/src/android/matchers/index.js +2 -2
  151. package/src/android/matchers/native.js +10 -3
  152. package/src/artifacts/ArtifactsManager.js +14 -47
  153. package/src/artifacts/instruments/ios/SimulatorInstrumentsRecording.js +3 -3
  154. package/src/artifacts/log/android/ADBLogcatRecording.js +11 -28
  155. package/src/artifacts/log/ios/SimulatorLogRecording.js +1 -1
  156. package/src/artifacts/screenshot/SimulatorScreenshotPlugin.js +1 -1
  157. package/src/artifacts/templates/artifact/Artifact.js +1 -1
  158. package/src/artifacts/templates/plugin/ArtifactPlugin.js +2 -2
  159. package/src/artifacts/templates/plugin/TwoSnapshotsPerTestPlugin.js +2 -1
  160. package/src/artifacts/templates/plugin/WholeTestRecorderPlugin.js +3 -2
  161. package/src/artifacts/timeline/TimelineContextTypes.js +7 -0
  162. package/src/artifacts/utils/temporaryPath.js +47 -8
  163. package/src/artifacts/video/SimulatorRecordVideoPlugin.js +1 -1
  164. package/src/client/AsyncWebSocket.js +11 -19
  165. package/src/client/Client.js +35 -3
  166. package/src/client/actions/SyncStatusSchema.json +21 -0
  167. package/src/client/actions/actions.js +38 -0
  168. package/src/client/actions/formatters/SyncStatusFormatter.js +2 -0
  169. package/src/client/actions/formatters/sync-resources/BgThreadFormatter.js +5 -0
  170. package/src/client/actions/formatters/sync-resources/NetworkFormatter.js +1 -1
  171. package/src/configuration/collectCliConfig.js +3 -13
  172. package/src/configuration/composeAppsConfig.js +5 -1
  173. package/src/configuration/composeDeviceConfig.js +1 -1
  174. package/src/configuration/composeLoggerConfig.js +20 -10
  175. package/src/configuration/composeRunnerConfig.js +62 -9
  176. package/src/configuration/index.js +14 -9
  177. package/src/configuration/loadExternalConfig.js +1 -1
  178. package/src/devices/allocation/DeviceAllocator.js +15 -2
  179. package/src/devices/allocation/drivers/AllocationDriverBase.js +10 -2
  180. package/src/devices/allocation/drivers/android/attached/AttachedAndroidAllocDriver.js +10 -1
  181. package/src/devices/allocation/drivers/android/emulator/AVDValidator.js +5 -5
  182. package/src/devices/allocation/drivers/android/emulator/EmulatorAllocDriver.js +28 -29
  183. package/src/devices/allocation/drivers/android/emulator/EmulatorAllocationHelper.js +1 -1
  184. package/src/devices/allocation/drivers/android/emulator/EmulatorLauncher.js +6 -5
  185. package/src/devices/allocation/drivers/android/emulator/EmulatorVersionResolver.js +4 -6
  186. package/src/devices/allocation/drivers/android/emulator/launchEmulatorProcess.js +4 -17
  187. package/src/devices/allocation/drivers/android/genycloud/GenyAllocDriver.js +27 -18
  188. package/src/devices/allocation/drivers/android/genycloud/GenyInstanceAllocationHelper.js +1 -1
  189. package/src/devices/allocation/drivers/ios/SimulatorAllocDriver.js +12 -7
  190. package/src/devices/allocation/factories/base.js +1 -1
  191. package/src/devices/common/drivers/android/exec/ADB.js +9 -0
  192. package/src/devices/common/drivers/android/genycloud/exec/GenyCloudExec.js +1 -1
  193. package/src/devices/common/drivers/android/genycloud/services/GenyInstanceNaming.js +3 -3
  194. package/src/devices/common/drivers/android/genycloud/services/GenyRecipesService.js +1 -1
  195. package/src/devices/common/drivers/android/tools/AppInstallHelper.js +4 -4
  196. package/src/devices/common/drivers/android/tools/EmulatorTelnet.js +1 -1
  197. package/src/devices/common/drivers/android/tools/{FileXfer.js → FileTransfer.js} +2 -2
  198. package/src/devices/common/drivers/android/tools/FreeDeviceFinder.js +1 -1
  199. package/src/devices/common/drivers/android/tools/MonitoredInstrumentation.js +1 -1
  200. package/src/devices/common/drivers/android/tools/TempFileTransfer.js +14 -0
  201. package/src/devices/common/drivers/ios/tools/AppleSimUtils.js +21 -4
  202. package/src/devices/lifecycle/GenyGlobalLifecycleHandler.js +13 -15
  203. package/src/devices/runtime/RuntimeDevice.js +24 -12
  204. package/src/devices/runtime/drivers/DeviceDriverBase.js +2 -1
  205. package/src/devices/runtime/drivers/android/AndroidDriver.js +17 -8
  206. package/src/devices/runtime/drivers/ios/SimulatorDriver.js +42 -2
  207. package/src/devices/runtime/drivers/ios/XCUITestUtils.js +209 -0
  208. package/src/devices/runtime/drivers/ios/allowNetworkPermissionsXCUITest.scpt +14 -0
  209. package/src/devices/runtime/factories/android.js +6 -5
  210. package/src/devices/runtime/factories/base.js +3 -2
  211. package/src/errors/DetoxConfigErrorComposer.js +18 -3
  212. package/src/errors/DetoxError.js +5 -1
  213. package/src/ios/expectTwo.js +199 -78
  214. package/src/ipc/IPCClient.js +36 -27
  215. package/src/ipc/IPCServer.js +40 -21
  216. package/src/ipc/SessionState.js +60 -0
  217. package/src/logger/DetoxLogger.js +287 -154
  218. package/src/logger/index.js +5 -0
  219. package/src/logger/utils/BunyanLogger.js +105 -0
  220. package/src/logger/utils/CategoryThreadDispatcher.js +37 -0
  221. package/src/logger/utils/DetoxLogFinalizer.js +166 -0
  222. package/src/logger/utils/MessageStack.js +35 -0
  223. package/src/logger/utils/ThreadDispatcher.js +61 -0
  224. package/src/logger/{customConsoleLogger.js → utils/customConsoleLogger.js} +23 -6
  225. package/src/logger/utils/getMainCategory.js +5 -0
  226. package/src/logger/utils/sanitizeBunyanContext.js +30 -0
  227. package/src/logger/utils/streams/BunyanTransformer.js +72 -0
  228. package/src/logger/utils/streams/ChromeTraceTransformer.js +132 -0
  229. package/src/logger/utils/streams/DetoxJSONLParser.js +31 -0
  230. package/src/logger/utils/streams/JSONLStringer.js +55 -0
  231. package/src/logger/utils/streams/index.js +7 -0
  232. package/src/logger/utils/streams/transformers.js +39 -0
  233. package/src/logger/utils/tracerLegacy.js +37 -0
  234. package/src/realms/DetoxContext.js +83 -66
  235. package/src/realms/DetoxInternalsFacade.js +9 -13
  236. package/src/realms/DetoxPrimaryContext.js +117 -74
  237. package/src/realms/DetoxSecondaryContext.js +32 -35
  238. package/src/{symbols.js → realms/symbols.js} +16 -22
  239. package/src/server/DetoxConnection.js +18 -23
  240. package/src/server/DetoxServer.js +7 -10
  241. package/src/server/DetoxSession.js +9 -6
  242. package/src/server/DetoxSessionManager.js +2 -1
  243. package/src/server/handlers/AnonymousConnectionHandler.js +1 -0
  244. package/src/server/handlers/RegisteredConnectionHandler.js +1 -2
  245. package/src/servicelocator/android/index.js +2 -2
  246. package/src/utils/ExclusiveLockfile.js +1 -0
  247. package/src/utils/Timer.js +59 -36
  248. package/src/utils/argparse.js +11 -27
  249. package/src/utils/childProcess/exec.js +4 -2
  250. package/src/utils/childProcess/spawn.js +1 -1
  251. package/src/utils/dateUtils.js +5 -0
  252. package/src/utils/environment.js +55 -16
  253. package/src/utils/errorUtils.js +24 -3
  254. package/src/utils/invocationTraceDescriptions.js +44 -0
  255. package/src/utils/isPromise.js +8 -1
  256. package/src/utils/logger.js +2 -2
  257. package/src/utils/pathUtils.js +11 -0
  258. package/src/utils/shellUtils.js +17 -0
  259. package/src/utils/traceInvocationCall.js +21 -0
  260. package/src/utils/traceMethods.js +15 -0
  261. package/src/validation/ios/IosSimulatorEnvValidator.js +7 -4
  262. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-javadoc.jar.md5 +0 -1
  263. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-javadoc.jar.sha1 +0 -1
  264. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-javadoc.jar.sha256 +0 -1
  265. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-javadoc.jar.sha512 +0 -1
  266. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-sources.jar.md5 +0 -1
  267. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-sources.jar.sha1 +0 -1
  268. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-sources.jar.sha256 +0 -1
  269. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0-sources.jar.sha512 +0 -1
  270. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.aar +0 -0
  271. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.aar.md5 +0 -1
  272. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.aar.sha1 +0 -1
  273. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.aar.sha256 +0 -1
  274. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.aar.sha512 +0 -1
  275. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.pom.md5 +0 -1
  276. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.pom.sha1 +0 -1
  277. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.pom.sha256 +0 -1
  278. package/Detox-android/com/wix/detox/21.0.0-breaking.new-global-lifecycle.0/detox-21.0.0-breaking.new-global-lifecycle.0.pom.sha512 +0 -1
  279. package/Detox-ios.tbz +0 -0
  280. package/android/detox/src/full/java/com/wix/detox/espresso/registry/IRStatusInquirer.kt +0 -24
  281. package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/DescriptiveIdlingResource.kt +0 -10
  282. package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/IdlingResourceDescription.kt +0 -20
  283. package/android/detox/src/full/java/com/wix/detox/reactnative/idlingresources/timers/DefaultIdleInterrogationStrategy.kt +0 -84
  284. package/android/detox/src/main/java/com/wix/detox/espresso/action/AdjustSliderToPositionAction.kt +0 -36
  285. package/android/detox/src/testFull/java/com/wix/detox/espresso/action/AdjustSliderToPositionActionTest.kt +0 -59
  286. package/android/detox/src/testFull/java/com/wix/detox/reactnative/idlingresources/timers/DefaultIdleInterrogationStrategySpec.kt +0 -115
  287. package/local-cli/build.test.js +0 -104
  288. package/local-cli/run-server.test.js +0 -23
  289. package/local-cli/test.test.js +0 -515
  290. package/runners/jest/deprecation.js +0 -25
  291. package/runners/jest/testEnvironment/utils/assertJestCircus27.test.js +0 -23
  292. package/scripts/build_universal_framework.sh +0 -14
  293. package/scripts/build_universal_framework_legacy.sh +0 -76
  294. package/scripts/build_universal_framework_modern.sh +0 -28
  295. package/src/configuration/utils/warnings.js +0 -12
  296. package/src/devices/common/drivers/android/tools/TempFileXfer.js +0 -16
  297. package/src/ipc/state.js +0 -76
  298. package/src/logger/DetoxTraceEventBuilder.js +0 -21
  299. package/src/logger/DetoxTracer.js +0 -133
  300. package/src/logger/TraceThreadDispatcher.js +0 -52
  301. package/src/realms/index.js +0 -10
  302. package/src/utils/ChromeTracingExporter.js +0 -53
  303. package/src/utils/streamUtils.js +0 -214
  304. package/src/utils/trace.js +0 -19
package/.eslintrc.js CHANGED
@@ -17,7 +17,7 @@ module.exports = {
17
17
  node: true
18
18
  },
19
19
  globals: {
20
- 'callCli': true,
20
+ // TODO: remove use of fail() across the project because Jest Circus doesn't support it
21
21
  'fail': true
22
22
  },
23
23
  rules: {
@@ -54,12 +54,7 @@ module.exports = {
54
54
  }
55
55
  ],
56
56
  'no-prototype-builtins': 'off',
57
- 'no-unused-vars': [
58
- 'error',
59
- {
60
- 'argsIgnorePattern': '^_'
61
- }
62
- ],
57
+ 'no-unused-vars': 'off',
63
58
  'node/no-unpublished-require': 'warn',
64
59
  'object-curly-spacing': [
65
60
  'error',
@@ -0,0 +1 @@
1
+ 36c58d0d4e1f84ed80282f7ccf40182d
@@ -0,0 +1 @@
1
+ bea711d36184f4151255bf1a394ea6b251ee1695
@@ -0,0 +1 @@
1
+ 30c3937b353fb32393b387175436c9321719d7b1560c19b6751add9f2b684b05
@@ -0,0 +1 @@
1
+ 8750441190b632635afbd2b77b91fc858e131348e012d7645c1bfa92f1adfaa3a657478c5162b97e77bab32a36e245aff261667209bd3801995dcde73827559c
@@ -0,0 +1 @@
1
+ c0e23373870ae4219e386284861bbc95
@@ -0,0 +1 @@
1
+ 2a47ff650529fa31d7901e5aaa120bb8ac758be3
@@ -0,0 +1 @@
1
+ 65d8ce36f1286f8678612c33f139d444b9297f0e9cd836323c7443c7c2b90f21
@@ -0,0 +1 @@
1
+ f7f85044939f3d6ce464f87a319c829e12ecaf33912b3cb55c550148980550d95a2823ff1c585e53cd2254042205c9f72cd11f8735e5156a4032e6322247411a
@@ -0,0 +1 @@
1
+ e89d3204dcda439e4deb0df61603394a
@@ -0,0 +1 @@
1
+ eda5c226e954731b3dbd16becbab72f66888d5ce
@@ -0,0 +1 @@
1
+ 4da9ab41881efc27c7268bff2bfbb7092d9dbdf6de8f43787b4df649f0291bff
@@ -0,0 +1 @@
1
+ c63bf901eb0327ca3791b419f99dd67060a9b48a816da5c71e7e660e60fed607347ef8f76710969e9497054cc4f99add8db19f47b7e780ee3e6413df6d75e195
@@ -1,9 +1,9 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
2
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
3
3
  <modelVersion>4.0.0</modelVersion>
4
4
  <groupId>com.wix</groupId>
5
5
  <artifactId>detox</artifactId>
6
- <version>21.0.0-breaking.new-global-lifecycle.0</version>
6
+ <version>21.0.1-rc.0</version>
7
7
  <packaging>aar</packaging>
8
8
  <name>Detox</name>
9
9
  <description>Gray box end-to-end testing and automation library for mobile apps</description>
@@ -42,16 +42,34 @@
42
42
  <version>3.4.0</version>
43
43
  <scope>compile</scope>
44
44
  </dependency>
45
+ <dependency>
46
+ <groupId>androidx.test.espresso</groupId>
47
+ <artifactId>espresso-contrib</artifactId>
48
+ <version>3.4.0</version>
49
+ <scope>compile</scope>
50
+ <exclusions>
51
+ <exclusion>
52
+ <groupId>org.checkerframework</groupId>
53
+ <artifactId>checker</artifactId>
54
+ </exclusion>
55
+ </exclusions>
56
+ </dependency>
57
+ <dependency>
58
+ <groupId>org.hamcrest</groupId>
59
+ <artifactId>hamcrest</artifactId>
60
+ <version>2.2</version>
61
+ <scope>compile</scope>
62
+ </dependency>
45
63
  <dependency>
46
64
  <groupId>androidx.test</groupId>
47
65
  <artifactId>rules</artifactId>
48
- <version>1.4.0</version>
66
+ <version>1.5.0</version>
49
67
  <scope>compile</scope>
50
68
  </dependency>
51
69
  <dependency>
52
70
  <groupId>androidx.test.ext</groupId>
53
71
  <artifactId>junit</artifactId>
54
- <version>1.1.3</version>
72
+ <version>1.1.5</version>
55
73
  <scope>compile</scope>
56
74
  </dependency>
57
75
  <dependency>
@@ -60,12 +78,6 @@
60
78
  <version>2.2.0</version>
61
79
  <scope>compile</scope>
62
80
  </dependency>
63
- <dependency>
64
- <groupId>org.jetbrains.kotlin</groupId>
65
- <artifactId>kotlin-android-extensions-runtime</artifactId>
66
- <version>1.3.72</version>
67
- <scope>runtime</scope>
68
- </dependency>
69
81
  <dependency>
70
82
  <groupId>org.jetbrains.kotlin</groupId>
71
83
  <artifactId>kotlin-stdlib-jdk8</artifactId>
@@ -0,0 +1 @@
1
+ 9096cb98397fdf3863f97a687919d09c
@@ -0,0 +1 @@
1
+ 4a93819f4e9c897bea4b1e5761af1635ae7859c8
@@ -0,0 +1 @@
1
+ 5d49f6e9b76723b581f89003fbd8c13519eacd200073cebca6e76afbcfde40d3
@@ -0,0 +1 @@
1
+ ba750f5e6acbad685c7af47fa19e735eded5af282637e75510e9a3d2ecf0962073e2b93380a38d9def8ce832ff2e56218bb48bfa50bc8b7e83f9fcd6140d95ef
@@ -3,11 +3,11 @@
3
3
  <groupId>com.wix</groupId>
4
4
  <artifactId>detox</artifactId>
5
5
  <versioning>
6
- <latest>21.0.0-breaking.new-global-lifecycle.0</latest>
7
- <release>21.0.0-breaking.new-global-lifecycle.0</release>
6
+ <latest>21.0.1-rc.0</latest>
7
+ <release>21.0.1-rc.0</release>
8
8
  <versions>
9
- <version>21.0.0-breaking.new-global-lifecycle.0</version>
9
+ <version>21.0.1-rc.0</version>
10
10
  </versions>
11
- <lastUpdated>20220809170413</lastUpdated>
11
+ <lastUpdated>20230511165818</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- b76ff5977da986622d62d440bbd1e6cf
1
+ 1657a3f6770112adf1704fa9b214000d
@@ -1 +1 @@
1
- 4fce99f994573866a02b424e66adcaca41e598c0
1
+ e85767e485bb206b1d977beaff8939639e2dbc87
@@ -1 +1 @@
1
- e1e69da0a47bfaa02932aa46f65da8fd51ab7a0933e3465aaa8e2c84dcb11374
1
+ a4f43d0f2567a0b68664782749236a945f99fbf338439a4144da34cc17ab7a14
@@ -1 +1 @@
1
- 3e619f25a2a9b9a8e45948eec0d8080b3e510e87f0d7dd9ae03288001b6b1eecee7f1da7476bf33885281f9b522708ee85a69a7bff8a626f8b7970617bc612c3
1
+ ffe8f7f38b99628d086b5638b6d457a208d40ccd761f14b208a5d39e963b065d155a30228ea54bcf6391952ca9f8e7027f007b0a578faac84c930ce2d409bb20
Binary file
package/Detox-ios-src.tbz CHANGED
Binary file
Binary file
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ## Detox
1
+ # Detox
2
2
 
3
3
  Graybox End-to-End Tests and Automation Library for Mobile
4
4
 
@@ -1,12 +1,20 @@
1
1
  buildscript {
2
2
  ext {
3
3
  isOfficialDetoxLib = true
4
- kotlinVersion = '1.2.0'
4
+ kotlinVersion = '1.6.10' // Aligned with RN .69's version bump
5
5
  dokkaVersion = '1.6.0'
6
- buildToolsVersion = '30.0.2'
6
+ buildToolsVersion = '31.0.0'
7
7
  compileSdkVersion = 31
8
8
  targetSdkVersion = 31
9
9
  minSdkVersion = 21
10
+
11
+ if (System.properties['os.arch'] == "aarch64") {
12
+ // For M1 Users we need to use the NDK 24 which added support for aarch64
13
+ ndkVersion = "24.0.8215888"
14
+ } else {
15
+ // Otherwise we default to the side-by-side NDK version from AGP.
16
+ ndkVersion = "21.4.7075529"
17
+ }
10
18
  }
11
19
  ext.detoxKotlinVersion = ext.kotlinVersion
12
20
 
@@ -15,14 +23,12 @@ buildscript {
15
23
  google()
16
24
  }
17
25
  dependencies {
18
- classpath 'com.android.tools.build:gradle:4.2.2'
26
+ classpath 'com.android.tools.build:gradle:7.2.1'
19
27
  classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
20
28
  classpath "org.jetbrains.dokka:dokka-gradle-plugin:$dokkaVersion"
21
29
 
22
- if (!rootProject.hasProperty('suppressUnitTests')) {
23
- // Needed by Spek (https://spekframework.org/setup-android)
24
- classpath 'de.mannodermaus.gradle.plugins:android-junit5:1.7.1.1'
25
- }
30
+ // Needed by Spek (https://spekframework.org/setup-android)
31
+ classpath 'de.mannodermaus.gradle.plugins:android-junit5:1.7.1.1'
26
32
  }
27
33
  }
28
34
 
@@ -31,7 +37,6 @@ allprojects {
31
37
  mavenLocal()
32
38
  mavenCentral()
33
39
  google()
34
- jcenter()
35
40
  maven {
36
41
  url "$projectDir/../../node_modules/react-native/android"
37
42
  }
@@ -1,13 +1,15 @@
1
1
  apply plugin: 'com.android.library'
2
2
  apply plugin: 'kotlin-android'
3
- apply plugin: 'kotlin-android-extensions'
3
+
4
+ def _kotlinMinVersion = '1.2.0'
5
+ def _materialMinVersion = '1.2.1'
4
6
 
5
7
  def _ext = rootProject.ext
6
8
  def _compileSdkVersion = _ext.has('compileSdkVersion') ? _ext.compileSdkVersion : 31
7
9
  def _targetSdkVersion = _ext.has('targetSdkVersion') ? _ext.targetSdkVersion : 31
8
- def _buildToolsVersion = _ext.has('buildToolsVersion') ? _ext.buildToolsVersion : '30.0.2'
9
- def _minSdkVersion = _ext.has('minSdkVersion') ? _ext.minSdkVersion : 18
10
- def _kotlinVersion = _ext.has('detoxKotlinVersion') ? _ext.detoxKotlinVersion : '1.2.0'
10
+ def _buildToolsVersion = _ext.has('buildToolsVersion') ? _ext.buildToolsVersion : '31.0.0'
11
+ def _minSdkVersion = _ext.has('minSdkVersion') ? _ext.minSdkVersion : 21
12
+ def _kotlinVersion = _ext.has('detoxKotlinVersion') ? _ext.detoxKotlinVersion : _kotlinMinVersion
11
13
  def _kotlinStdlib = _ext.has('detoxKotlinStdlib') ? _ext.detoxKotlinStdlib : 'kotlin-stdlib-jdk8'
12
14
 
13
15
  android {
@@ -75,7 +77,8 @@ android {
75
77
 
76
78
  // Fundamental deps.
77
79
  dependencies {
78
- implementation "org.jetbrains.kotlin:$_kotlinStdlib:$_kotlinVersion"
80
+ implementation "org.jetbrains.kotlin:$_kotlinStdlib:$_kotlinMinVersion"
81
+ //noinspection GradleDynamicVersion
79
82
  compileOnly 'com.facebook.react:react-native:+'
80
83
  }
81
84
 
@@ -92,10 +95,17 @@ dependencies {
92
95
  api('androidx.test.espresso:espresso-web:3.4.0') {
93
96
  because 'Web-View testing'
94
97
  }
95
- api('androidx.test:rules:1.4.0') {
98
+ api('androidx.test.espresso:espresso-contrib:3.4.0') {
99
+ because 'Android datepicker support'
100
+ exclude group: "org.checkerframework", module: "checker"
101
+ }
102
+ api('org.hamcrest:hamcrest:2.2') {
103
+ because 'See https://github.com/wix/Detox/issues/3920. Need to force hamcrest 2.2 win in battle of 2.2 vs. 1.3 (specified by Espresso).'
104
+ }
105
+ api('androidx.test:rules:1.5.0') {
96
106
  because 'of ActivityTestRule. Needed by users *and* internally used by Detox.'
97
107
  }
98
- api('androidx.test.ext:junit:1.1.3') {
108
+ api('androidx.test.ext:junit:1.1.5') {
99
109
  because 'Needed so as to seamlessly provide AndroidJUnit4 to Detox users. Depends on junit core.'
100
110
  }
101
111
 
@@ -108,7 +118,7 @@ dependencies {
108
118
 
109
119
  // Third-party/extension deps.
110
120
  dependencies {
111
- implementation('com.google.android.material:material:1.2.1') {
121
+ implementation("com.google.android.material:material:$_materialMinVersion") {
112
122
  because 'Material components are mentioned explicitly (e.g. Slider in get-attributes handler)'
113
123
  }
114
124
  implementation('org.apache.commons:commons-lang3:3.7') {
@@ -121,12 +131,12 @@ dependencies {
121
131
 
122
132
  // Unit-testing deps.
123
133
  dependencies {
134
+ //noinspection GradleDynamicVersion
124
135
  testImplementation 'com.facebook.react:react-native:+'
125
136
  testImplementation 'org.json:json:20140107'
126
137
 
127
138
  // https://github.com/spekframework/spek/issues/232#issuecomment-610732158
128
- // testImplementation 'junit:junit:4.13.2'
129
- testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.6.0'
139
+ testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.7.2'
130
140
 
131
141
  testImplementation 'org.assertj:assertj-core:3.16.1'
132
142
  testImplementation "org.jetbrains.kotlin:kotlin-test:$_kotlinVersion"
@@ -136,9 +146,9 @@ dependencies {
136
146
  }
137
147
 
138
148
  // Spek (https://spekframework.org/setup-android)
139
- if (!rootProject.hasProperty('suppressUnitTests') &&
140
- (rootProject.hasProperty('isOfficialDetoxLib') ||
141
- rootProject.hasProperty('isOfficialDetoxApp'))) {
149
+ if (rootProject.hasProperty('isOfficialDetoxLib') ||
150
+ rootProject.hasProperty('isOfficialDetoxApp')) {
151
+
142
152
  apply plugin: 'de.mannodermaus.android-junit5'
143
153
 
144
154
  android {
@@ -164,3 +174,4 @@ if (!rootProject.hasProperty('suppressUnitTests') &&
164
174
  if (rootProject.hasProperty('isOfficialDetoxLib')) {
165
175
  apply from: './publishing.gradle'
166
176
  }
177
+
@@ -1,4 +1,5 @@
1
1
  -keepattributes InnerClasses, Exceptions
2
+
2
3
  -keep class com.facebook.react.modules.** { *; }
3
4
  -keep class com.facebook.react.uimanager.** { *; }
4
5
  -keep class com.facebook.react.animated.** { *; }
@@ -6,6 +7,11 @@
6
7
  -keep class com.facebook.react.ReactNativeHost { *; }
7
8
  -keep class com.facebook.react.ReactInstanceManager { *; }
8
9
  -keep class com.facebook.react.ReactInstanceManager** { *; }
10
+ -keep class com.facebook.react.ReactInstanceEventListener { *; }
11
+
12
+ -keep class com.facebook.react.views.slider.** { *; }
13
+ -keep class com.google.android.material.slider.** { *; }
14
+ -keep class com.reactnativecommunity.slider.** { *; }
9
15
  -keep class com.reactnativecommunity.asyncstorage.** { *; }
10
16
 
11
17
  -keep class kotlin.jvm.** { *; }
@@ -13,6 +13,9 @@
13
13
  -dontnote org.hamcrest.**
14
14
  -dontnote com.facebook.**
15
15
 
16
+ -keep class org.apache.commons.lang3.** { *; }
17
+ -keep class org.apache.commons.io.** { *; }
18
+
16
19
  # Detox profiler (optional)
17
20
 
18
21
  -keep class com.wix.detoxprofiler.** { *; }
@@ -4,8 +4,12 @@ project.ext.buildPomXmlDependencies = { pom, configurations ->
4
4
  pom.withXml {
5
5
  final rootNode = asNode().appendNode('dependencies')
6
6
  addConfigurationDependencies(rootNode, configurations.api, 'compile')
7
- addConfigurationDependencies(rootNode, configurations.compile, 'compile')
8
7
  addConfigurationDependencies(rootNode, configurations.implementation, 'runtime')
8
+
9
+ // Legacy syntax
10
+ if (configurations.hasProperty('compile')) {
11
+ addConfigurationDependencies(rootNode, configurations.compile, 'compile')
12
+ }
9
13
  }
10
14
  }
11
15
 
@@ -18,6 +18,7 @@ def DEVELOPERS = [
18
18
  String _versionName = System.getProperty('version')
19
19
  String _flavour = System.getProperty('buildFlavour', PUB_FLAVOUR_FULL_DETOX)
20
20
  Boolean _forceLocal = System.getProperty('forceLocal', 'false').toBoolean()
21
+ Boolean _forceSign = System.getProperty('forceSign', 'false').toBoolean()
21
22
 
22
23
  String _mavenRepoUrl
23
24
  Map _mavenCredentials
@@ -28,7 +29,7 @@ def _selectedVariant
28
29
  def initLocalPublishing = {
29
30
  _mavenRepoUrl = TARGET_LOCAL_DIR
30
31
  _mavenCredentials = null
31
- _shouldSignArtifacts = false
32
+ _shouldSignArtifacts = _forceSign
32
33
  }
33
34
 
34
35
  def initMavenPublishing = {
@@ -71,10 +72,8 @@ def shouldPublishVariant = {
71
72
  }
72
73
 
73
74
  def declareArchive = { target ->
74
- if (_shouldSignArtifacts) {
75
- project.artifacts {
76
- archives target
77
- }
75
+ project.artifacts {
76
+ archives target
78
77
  }
79
78
  }
80
79
 
@@ -103,12 +102,12 @@ tasks.named("dokkaJavadoc") {
103
102
  }
104
103
  }
105
104
  }
106
- // Side note / TODO:
107
- // Dokka outputs R and BuildConfig; currently, there's nothing to do about it, as issues such as
108
- // this on - https://github.com/Kotlin/dokka/issues/419 are still open :-/
109
- // We might want to revisit this in the future -- see if they've decided to export a custom classes
110
- // suppression config var or something.
111
105
 
106
+ // Side note / TODO (revisit because dokka's 419 issue has been resolved, since):
107
+ // Dokka outputs R and BuildConfig; currently, there's nothing to do about it, as issues such as
108
+ // this on - https://github.com/Kotlin/dokka/issues/419 are still open :-/
109
+ // We might want to revisit this in the future -- see if they've decided to export a custom classes
110
+ // suppression config var or something.
112
111
  task dokkaDocJar(type: Jar, dependsOn: dokkaJavadoc) {
113
112
  from "$buildDir/dokkaDoc"
114
113
  classifier = 'javadoc'
@@ -140,13 +139,15 @@ signing {
140
139
 
141
140
  project.afterEvaluate {
142
141
  project.tasks.all { Task task ->
143
- android.libraryVariants.all { variant ->
144
- String variantName = variant.name.capitalize()
145
- if (task.name == "publishMaven${variantName}AarPublicationToMavenRepository") {
146
- task.dependsOn "assemble${variantName}"
147
- task.dependsOn project.tasks.signArchives
148
- task.doFirst {
149
- onPrePublish()
142
+ android {
143
+ libraryVariants.all { variant ->
144
+ String variantName = variant.name.capitalize()
145
+ if (task.name == "publishMaven${variantName}AarPublicationToMavenRepository".toString()) {
146
+ task.dependsOn "assemble${variantName}"
147
+ task.dependsOn project.tasks.signArchives
148
+ task.doFirst {
149
+ onPrePublish()
150
+ }
150
151
  }
151
152
  }
152
153
  }
@@ -243,22 +244,23 @@ publishing {
243
244
  }
244
245
  }
245
246
 
246
- // Register all artifacts we've previously registered as archives (i.e. .jar.asc's, .aar.asc's) as published artifacts.
247
- // Note: this relies on preregistering the equivalent generator-tasks as archive artifacts
248
- // inside a project.artifacts { ... } clause.
249
- project.tasks.signArchives.signatureFiles.each {
250
- artifact(it) {
251
- def matcherSrcDocs = (it.file =~ /-(sources|javadoc)\.jar\.asc$/)
252
- def matcherAAR = (it.file =~ /\.aar\.asc$/)
253
- if (matcherSrcDocs.find()) {
254
- classifier = matcherSrcDocs.group(1)
255
- extension = 'jar.asc'
256
- } else if (matcherAAR.find()) {
257
- classifier = null
258
- extension = 'aar.asc'
259
- } else {
260
- classifier = null
261
- extension = null
247
+ // Register all artifacts we've previously registered as signed archives (i.e. .jar.asc's, .aar.asc's) as publish-artifacts.
248
+ // Note: this relies on preregistering the equivalent generator-tasks as archive artifacts inside a project.artifacts { ... } clause.
249
+ if (_shouldSignArtifacts) {
250
+ project.tasks.signArchives.signatureFiles.each {
251
+ artifact(it) {
252
+ def matcherSrcDocs = (it.file =~ /-(sources|javadoc)\.jar\.asc$/)
253
+ def matcherAAR = (it.file =~ /\.aar\.asc$/)
254
+ if (matcherSrcDocs.find()) {
255
+ classifier = matcherSrcDocs.group(1)
256
+ extension = 'jar.asc'
257
+ } else if (matcherAAR.find()) {
258
+ classifier = null
259
+ extension = 'aar.asc'
260
+ } else {
261
+ classifier = null
262
+ extension = null
263
+ }
262
264
  }
263
265
  }
264
266
  }
@@ -6,7 +6,7 @@ import com.wix.detox.adapters.server.OutboundServerAdapter
6
6
  class DetoxCrashHandler(private val outboundServerAdapter: OutboundServerAdapter) {
7
7
  fun attach() {
8
8
  Thread.setDefaultUncaughtExceptionHandler { thread, exception ->
9
- Log.e(LOG_TAG, "Crash detected!!! thread=${thread.name} (${thread.id})")
9
+ Log.e(LOG_TAG, "Crash detected!!! thread=${thread.name} (${thread.id})", exception)
10
10
 
11
11
  val crashInfo = mapOf("errorDetails" to "@Thread ${thread.name}(${thread.id}):\n${Log.getStackTraceString(exception)}\nCheck device logs for full details!")
12
12
  outboundServerAdapter.sendMessage(ACTION_NAME, crashInfo, MESSAGE_ID)
@@ -14,6 +14,7 @@ public class LaunchArgs {
14
14
  private static final String DETOX_NOTIFICATION_PATH_ARG = "detoxUserNotificationDataURL";
15
15
  private static final String DETOX_BLACKLIST_URLS_ARG = "detoxURLBlacklistRegex";
16
16
  private static final String DETOX_URL_OVERRIDE_ARG = "detoxURLOverride";
17
+ private static final String DETOX_ENABLE_SYNCHRONIZATION = "detoxEnableSynchronization";
17
18
  private static final List<String> RESERVED_INSTRUMENTATION_ARGS = Arrays.asList("class", "package", "func", "unit", "size", "perf", "debug", "log", "emma", "coverageFile");
18
19
 
19
20
  public boolean hasNotificationPath() {
@@ -36,6 +37,14 @@ public class LaunchArgs {
36
37
  return InstrumentationRegistry.getArguments().containsKey(DETOX_BLACKLIST_URLS_ARG);
37
38
  }
38
39
 
40
+ public String getEnableSynchronization() {
41
+ return InstrumentationRegistry.getArguments().getString(DETOX_ENABLE_SYNCHRONIZATION);
42
+ }
43
+
44
+ public boolean hasEnableSynchronization() {
45
+ return InstrumentationRegistry.getArguments().containsKey(DETOX_ENABLE_SYNCHRONIZATION);
46
+ }
47
+
39
48
  public String getUrlOverride() {
40
49
  return InstrumentationRegistry.getArguments().getString(DETOX_URL_OVERRIDE_ARG);
41
50
  }
@@ -5,16 +5,16 @@ import android.util.Log
5
5
  import androidx.test.espresso.Espresso
6
6
  import com.wix.detox.common.DetoxLog.Companion.LOG_TAG
7
7
  import com.wix.detox.espresso.UiAutomatorHelper
8
- import com.wix.detox.espresso.registry.IRStatusInquirer
8
+ import com.wix.detox.espresso.registry.BusyResourcesInquirer
9
9
  import com.wix.detox.reactnative.ReactNativeExtension
10
10
 
11
11
  class TestEngineFacade {
12
- fun awaitIdle(): Unit? = Espresso.onIdle() {
13
- Log.i(LOG_TAG, "Wait is over: app is now idle!")
12
+ fun awaitIdle(): Unit? = Espresso.onIdle {
13
+ Log.i(LOG_TAG, "Wait is over: App is now idle!")
14
14
  null
15
15
  }
16
16
  fun syncIdle() = UiAutomatorHelper.espressoSync() // TODO Check whether this can be replaced with #awaitIdle()
17
- fun getBusyIdlingResources() = IRStatusInquirer.INSTANCE.getAllBusyResources()
17
+ fun getAllBusyResources() = BusyResourcesInquirer.INSTANCE.getAllBusyResources()
18
18
 
19
19
  // TODO Refactor RN related stuff away
20
20
  fun reloadReactNative(appContext: Context) = ReactNativeExtension.reloadReactNative(appContext)