nativescript 8.9.0-dev.2 → 8.9.0-dev.4

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 (345) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/docs/man_pages/project/configuration/widget-ios.md +24 -0
  3. package/docs/man_pages/project/configuration/widget.md +24 -0
  4. package/docs/man_pages/start.md +1 -1
  5. package/lib/android-tools-info.js +11 -22
  6. package/lib/base-package-manager.js +53 -70
  7. package/lib/bun-package-manager.js +75 -98
  8. package/lib/color.js +4 -4
  9. package/lib/commands/add-platform.js +14 -30
  10. package/lib/commands/apple-login.js +18 -29
  11. package/lib/commands/appstore-list.js +34 -45
  12. package/lib/commands/appstore-upload.js +54 -67
  13. package/lib/commands/build.js +55 -87
  14. package/lib/commands/clean.js +169 -184
  15. package/lib/commands/command-base.js +14 -27
  16. package/lib/commands/config.js +49 -68
  17. package/lib/commands/create-project.js +215 -234
  18. package/lib/commands/debug.js +66 -88
  19. package/lib/commands/deploy.js +28 -44
  20. package/lib/commands/embedding/embed.js +37 -56
  21. package/lib/commands/extensibility/install-extension.js +5 -16
  22. package/lib/commands/extensibility/list-extensions.js +13 -24
  23. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  24. package/lib/commands/fonts.js +30 -41
  25. package/lib/commands/generate-assets.js +13 -28
  26. package/lib/commands/generate-help.js +2 -13
  27. package/lib/commands/generate.js +49 -60
  28. package/lib/commands/info.js +2 -13
  29. package/lib/commands/install.js +34 -49
  30. package/lib/commands/list-platforms.js +14 -25
  31. package/lib/commands/migrate.js +15 -26
  32. package/lib/commands/native-add.js +23 -46
  33. package/lib/commands/platform-clean.js +19 -32
  34. package/lib/commands/plugin/add-plugin.js +12 -25
  35. package/lib/commands/plugin/build-plugin.js +31 -44
  36. package/lib/commands/plugin/create-plugin.js +114 -137
  37. package/lib/commands/plugin/list-plugins.js +22 -33
  38. package/lib/commands/plugin/remove-plugin.js +21 -34
  39. package/lib/commands/plugin/update-plugin.js +20 -33
  40. package/lib/commands/post-install.js +25 -38
  41. package/lib/commands/prepare.js +19 -35
  42. package/lib/commands/preview.js +50 -63
  43. package/lib/commands/remove-platform.js +7 -18
  44. package/lib/commands/resources/resources-update.js +14 -27
  45. package/lib/commands/run.js +55 -76
  46. package/lib/commands/start.js +6 -19
  47. package/lib/commands/test-init.js +126 -137
  48. package/lib/commands/test.js +72 -95
  49. package/lib/commands/typings.js +126 -142
  50. package/lib/commands/update-platform.js +26 -39
  51. package/lib/commands/update.js +31 -44
  52. package/lib/commands/widget.js +408 -357
  53. package/lib/common/child-process.js +53 -72
  54. package/lib/common/codeGeneration/code-entity.js +1 -1
  55. package/lib/common/codeGeneration/code-printer.js +1 -1
  56. package/lib/common/command-params.js +7 -18
  57. package/lib/common/commands/analytics.js +29 -42
  58. package/lib/common/commands/autocompletion.js +41 -58
  59. package/lib/common/commands/device/device-log-stream.js +12 -23
  60. package/lib/common/commands/device/get-file.js +23 -34
  61. package/lib/common/commands/device/list-applications.js +12 -23
  62. package/lib/common/commands/device/list-devices.js +72 -87
  63. package/lib/common/commands/device/list-files.js +24 -35
  64. package/lib/common/commands/device/put-file.js +23 -34
  65. package/lib/common/commands/device/run-application.js +12 -25
  66. package/lib/common/commands/device/stop-application.js +11 -22
  67. package/lib/common/commands/device/uninstall-application.js +6 -17
  68. package/lib/common/commands/generate-messages.js +17 -28
  69. package/lib/common/commands/help.js +20 -33
  70. package/lib/common/commands/package-manager-get.js +6 -17
  71. package/lib/common/commands/package-manager-set.js +9 -20
  72. package/lib/common/commands/post-install.js +2 -13
  73. package/lib/common/commands/preuninstall.js +27 -42
  74. package/lib/common/commands/proxy/proxy-base.js +11 -22
  75. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  76. package/lib/common/commands/proxy/proxy-get.js +3 -14
  77. package/lib/common/commands/proxy/proxy-set.js +87 -100
  78. package/lib/common/constants.js +11 -11
  79. package/lib/common/decorators.js +10 -22
  80. package/lib/common/dispatchers.js +84 -101
  81. package/lib/common/errors.js +92 -107
  82. package/lib/common/file-system.js +110 -132
  83. package/lib/common/header.js +1 -2
  84. package/lib/common/helpers.js +149 -178
  85. package/lib/common/host-info.js +40 -53
  86. package/lib/common/http-client.js +104 -119
  87. package/lib/common/logger/appenders/cli-appender.js +1 -2
  88. package/lib/common/logger/appenders/emit-appender.js +1 -2
  89. package/lib/common/logger/layouts/cli-layout.js +1 -2
  90. package/lib/common/logger/logger.js +4 -4
  91. package/lib/common/mobile/android/android-application-manager.js +138 -159
  92. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  93. package/lib/common/mobile/android/android-debug-bridge.js +92 -117
  94. package/lib/common/mobile/android/android-device-file-system.js +101 -134
  95. package/lib/common/mobile/android/android-device-hash-service.js +52 -77
  96. package/lib/common/mobile/android/android-device.js +73 -90
  97. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  98. package/lib/common/mobile/android/android-log-filter.js +1 -1
  99. package/lib/common/mobile/android/android-virtual-device-service.js +78 -99
  100. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  101. package/lib/common/mobile/android/genymotion/genymotion-service.js +94 -121
  102. package/lib/common/mobile/android/genymotion/virtualbox-service.js +74 -91
  103. package/lib/common/mobile/android/logcat-helper.js +114 -133
  104. package/lib/common/mobile/application-manager-base.js +89 -112
  105. package/lib/common/mobile/device-log-provider-base.js +7 -18
  106. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  107. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  108. package/lib/common/mobile/ios/device/ios-device-operations.js +106 -143
  109. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  110. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  111. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +66 -95
  112. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  113. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +61 -90
  114. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +31 -47
  115. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  116. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  117. package/lib/common/mobile/mobile-core/android-device-discovery.js +44 -63
  118. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +23 -34
  119. package/lib/common/mobile/mobile-core/android-process-service.js +174 -213
  120. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  121. package/lib/common/mobile/mobile-core/devices-service.js +400 -450
  122. package/lib/common/mobile/mobile-core/ios-device-discovery.js +25 -36
  123. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +49 -64
  124. package/lib/common/mobile/mobile-helper.js +15 -26
  125. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  126. package/lib/common/opener.js +2 -2
  127. package/lib/common/prompter.js +91 -106
  128. package/lib/common/queue.js +9 -20
  129. package/lib/common/services/auto-completion-service.js +40 -53
  130. package/lib/common/services/cancellation.js +17 -28
  131. package/lib/common/services/commands-service.js +156 -179
  132. package/lib/common/services/help-service.js +130 -155
  133. package/lib/common/services/hooks-service.js +99 -114
  134. package/lib/common/services/ios-notification-service.js +21 -34
  135. package/lib/common/services/json-file-settings-service.js +56 -75
  136. package/lib/common/services/lock-service.js +35 -52
  137. package/lib/common/services/message-contract-generator.js +35 -46
  138. package/lib/common/services/micro-templating-service.js +6 -17
  139. package/lib/common/services/net-service.js +92 -109
  140. package/lib/common/services/project-files-manager.js +10 -23
  141. package/lib/common/services/proxy-service.js +13 -24
  142. package/lib/common/services/qr.js +13 -24
  143. package/lib/common/services/settings-service.js +1 -1
  144. package/lib/common/services/xcode-select-service.js +20 -35
  145. package/lib/common/utils.js +2 -2
  146. package/lib/common/validators/project-name-validator.js +1 -1
  147. package/lib/common/validators/validation-result.js +1 -1
  148. package/lib/common/verify-node-version.js +2 -3
  149. package/lib/common/yok.js +25 -38
  150. package/lib/config.js +41 -56
  151. package/lib/constants.js +24 -24
  152. package/lib/controllers/build-controller.js +82 -99
  153. package/lib/controllers/debug-controller.js +111 -132
  154. package/lib/controllers/deploy-controller.js +15 -23
  155. package/lib/controllers/migrate-controller.js +780 -853
  156. package/lib/controllers/platform-controller.js +74 -89
  157. package/lib/controllers/prepare-controller.js +241 -270
  158. package/lib/controllers/run-controller.js +411 -425
  159. package/lib/controllers/update-controller-base.js +16 -29
  160. package/lib/controllers/update-controller.js +101 -126
  161. package/lib/data/prepare-data.js +4 -1
  162. package/lib/definitions/project.d.ts +24 -24
  163. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  164. package/lib/detached-processes/cleanup-process.js +16 -25
  165. package/lib/device-path-provider.js +23 -34
  166. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +155 -170
  167. package/lib/device-sockets/ios/notification.js +1 -1
  168. package/lib/device-sockets/ios/socket-request-executor.js +26 -41
  169. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  170. package/lib/helpers/deploy-command-helper.js +44 -49
  171. package/lib/helpers/key-command-helper.js +4 -13
  172. package/lib/helpers/livesync-command-helper.js +138 -153
  173. package/lib/helpers/network-connectivity-validator.js +6 -17
  174. package/lib/helpers/options-track-helper.js +6 -17
  175. package/lib/helpers/platform-command-helper.js +103 -124
  176. package/lib/key-commands/index.js +150 -200
  177. package/lib/nativescript-cli.js +5 -14
  178. package/lib/node-package-manager.js +90 -113
  179. package/lib/options.js +4 -13
  180. package/lib/package-installation-manager.js +132 -167
  181. package/lib/package-manager.js +64 -87
  182. package/lib/platform-command-param.js +4 -15
  183. package/lib/pnpm-package-manager.js +60 -79
  184. package/lib/project-data.js +1 -1
  185. package/lib/providers/project-files-provider.js +1 -1
  186. package/lib/services/analytics/analytics-broker-process.js +13 -22
  187. package/lib/services/analytics/analytics-broker.js +17 -30
  188. package/lib/services/analytics/analytics-service.js +165 -201
  189. package/lib/services/analytics/google-analytics-provider.js +41 -56
  190. package/lib/services/analytics-settings-service.js +15 -32
  191. package/lib/services/android/android-bundle-tool-service.js +43 -60
  192. package/lib/services/android/gradle-build-args-service.js +10 -21
  193. package/lib/services/android/gradle-build-service.js +22 -35
  194. package/lib/services/android/gradle-command-service.js +22 -35
  195. package/lib/services/android-device-debug-service.js +92 -119
  196. package/lib/services/android-plugin-build-service.js +219 -245
  197. package/lib/services/android-project-service.js +134 -179
  198. package/lib/services/android-resources-migration-service.js +57 -70
  199. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  200. package/lib/services/apple-portal/apple-portal-session-service.js +196 -215
  201. package/lib/services/apple-portal/srp/srp-wrapper.js +45 -60
  202. package/lib/services/assets-generation/assets-generation-service.js +114 -128
  203. package/lib/services/build-artifacts-service.js +9 -20
  204. package/lib/services/build-info-file-service.js +20 -35
  205. package/lib/services/cleanup-service.js +47 -76
  206. package/lib/services/cocoapods-service.js +124 -145
  207. package/lib/services/device/device-install-app-service.js +54 -71
  208. package/lib/services/doctor-service.js +106 -125
  209. package/lib/services/extensibility-service.js +87 -106
  210. package/lib/services/files-hash-service.js +26 -43
  211. package/lib/services/hmr-status-service.js +1 -1
  212. package/lib/services/initialize-service.js +38 -51
  213. package/lib/services/ios/export-options-plist-service.js +41 -54
  214. package/lib/services/ios/ios-signing-service.js +171 -190
  215. package/lib/services/ios/spm-service.js +52 -65
  216. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  217. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  218. package/lib/services/ios/xcodebuild-service.js +52 -71
  219. package/lib/services/ios-debugger-port-service.js +24 -37
  220. package/lib/services/ios-device-debug-service.js +75 -102
  221. package/lib/services/ios-entitlements-service.js +31 -42
  222. package/lib/services/ios-extensions-service.js +18 -29
  223. package/lib/services/ios-project-service.js +530 -591
  224. package/lib/services/ios-provision-service.js +110 -131
  225. package/lib/services/ios-watch-app-service.js +21 -32
  226. package/lib/services/ip-service.js +39 -54
  227. package/lib/services/itmstransporter-service.js +129 -152
  228. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  229. package/lib/services/livesync/android-device-livesync-service.js +121 -150
  230. package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -154
  231. package/lib/services/livesync/android-livesync-service.js +14 -35
  232. package/lib/services/livesync/android-livesync-tool.js +90 -113
  233. package/lib/services/livesync/device-livesync-service-base.js +16 -29
  234. package/lib/services/livesync/ios-device-livesync-service.js +120 -149
  235. package/lib/services/livesync/ios-livesync-service.js +43 -59
  236. package/lib/services/livesync/platform-livesync-service-base.js +98 -123
  237. package/lib/services/log-parser-service.js +1 -1
  238. package/lib/services/log-source-map-service.js +31 -42
  239. package/lib/services/marking-mode-service.js +17 -30
  240. package/lib/services/npm-config-service.js +1 -1
  241. package/lib/services/pacote-service.js +54 -69
  242. package/lib/services/performance-service.js +1 -1
  243. package/lib/services/platform/add-platform-service.js +57 -78
  244. package/lib/services/platform/platform-validation-service.js +22 -33
  245. package/lib/services/platform/prepare-native-platform-service.js +51 -64
  246. package/lib/services/platform-environment-requirements.js +27 -38
  247. package/lib/services/plugins-service.js +126 -151
  248. package/lib/services/project-backup-service.js +1 -1
  249. package/lib/services/project-changes-service.js +126 -143
  250. package/lib/services/project-cleanup-service.js +65 -78
  251. package/lib/services/project-config-service.js +78 -88
  252. package/lib/services/project-data-service.js +112 -129
  253. package/lib/services/project-name-service.js +28 -43
  254. package/lib/services/project-service.js +90 -109
  255. package/lib/services/project-templates-service.js +52 -67
  256. package/lib/services/start-service.js +41 -59
  257. package/lib/services/temp-service.js +8 -21
  258. package/lib/services/terminal-spinner-service.js +15 -26
  259. package/lib/services/test-execution-service.js +64 -77
  260. package/lib/services/test-initialization-service.js +2 -2
  261. package/lib/services/timeline-profiler-service.js +1 -1
  262. package/lib/services/versions-service.js +120 -139
  263. package/lib/services/webpack/webpack-compiler-service.js +228 -251
  264. package/lib/services/xcconfig-service.js +8 -19
  265. package/lib/sys-info.js +45 -62
  266. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  267. package/lib/yarn-package-manager.js +59 -78
  268. package/lib/yarn2-package-manager.js +62 -81
  269. package/package.json +67 -82
  270. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  271. package/node_modules/@npmcli/move-file/README.md +0 -69
  272. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  281. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  282. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  283. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  284. package/node_modules/@npmcli/move-file/package.json +0 -47
  285. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  286. package/node_modules/balanced-match/LICENSE.md +0 -21
  287. package/node_modules/balanced-match/README.md +0 -97
  288. package/node_modules/balanced-match/index.js +0 -62
  289. package/node_modules/balanced-match/package.json +0 -48
  290. package/node_modules/concat-map/.travis.yml +0 -4
  291. package/node_modules/concat-map/LICENSE +0 -18
  292. package/node_modules/concat-map/README.markdown +0 -62
  293. package/node_modules/concat-map/example/map.js +0 -6
  294. package/node_modules/concat-map/index.js +0 -13
  295. package/node_modules/concat-map/package.json +0 -43
  296. package/node_modules/concat-map/test/map.js +0 -39
  297. package/node_modules/fs.realpath/LICENSE +0 -43
  298. package/node_modules/fs.realpath/README.md +0 -33
  299. package/node_modules/fs.realpath/index.js +0 -66
  300. package/node_modules/fs.realpath/old.js +0 -303
  301. package/node_modules/fs.realpath/package.json +0 -26
  302. package/node_modules/inflight/LICENSE +0 -15
  303. package/node_modules/inflight/README.md +0 -37
  304. package/node_modules/inflight/inflight.js +0 -54
  305. package/node_modules/inflight/package.json +0 -29
  306. package/node_modules/inherits/LICENSE +0 -16
  307. package/node_modules/inherits/README.md +0 -42
  308. package/node_modules/inherits/inherits.js +0 -9
  309. package/node_modules/inherits/inherits_browser.js +0 -27
  310. package/node_modules/inherits/package.json +0 -29
  311. package/node_modules/once/LICENSE +0 -15
  312. package/node_modules/once/README.md +0 -79
  313. package/node_modules/once/once.js +0 -42
  314. package/node_modules/once/package.json +0 -33
  315. package/node_modules/path-is-absolute/index.js +0 -20
  316. package/node_modules/path-is-absolute/license +0 -21
  317. package/node_modules/path-is-absolute/package.json +0 -43
  318. package/node_modules/path-is-absolute/readme.md +0 -59
  319. package/node_modules/rimraf/LICENSE +0 -15
  320. package/node_modules/rimraf/README.md +0 -101
  321. package/node_modules/rimraf/bin.js +0 -68
  322. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  323. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  324. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  325. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  326. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  327. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  328. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  329. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  330. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  331. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  332. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  333. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  334. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  335. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  336. package/node_modules/rimraf/package.json +0 -32
  337. package/node_modules/rimraf/rimraf.js +0 -360
  338. package/node_modules/stringify-package/LICENSE +0 -13
  339. package/node_modules/stringify-package/README.md +0 -55
  340. package/node_modules/stringify-package/index.js +0 -18
  341. package/node_modules/stringify-package/package.json +0 -38
  342. package/node_modules/wrappy/LICENSE +0 -15
  343. package/node_modules/wrappy/README.md +0 -36
  344. package/node_modules/wrappy/package.json +0 -29
  345. package/node_modules/wrappy/wrappy.js +0 -33
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.AndroidProjectService = void 0;
19
10
  const path = require("path");
@@ -179,10 +170,8 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
179
170
  const currentPlatformData = this.$projectDataService.getRuntimePackage(projectData.projectDir, platformData.platformNameLowerCase);
180
171
  return currentPlatformData && currentPlatformData[constants.VERSION_STRING];
181
172
  }
182
- validateOptions() {
183
- return __awaiter(this, void 0, void 0, function* () {
184
- return true;
185
- });
173
+ async validateOptions() {
174
+ return true;
186
175
  }
187
176
  getAppResourcesDestinationDirectoryPath(projectData) {
188
177
  const appResourcesDirStructureHasMigrated = this.$androidResourcesMigrationService.hasMigrated(projectData.getAppResourcesDirectoryPath());
@@ -193,41 +182,37 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
193
182
  return this.getLegacyAppResourcesDestinationDirPath(projectData);
194
183
  }
195
184
  }
196
- validate(projectData, options, notConfiguredEnvOptions) {
197
- return __awaiter(this, void 0, void 0, function* () {
198
- this.validatePackageName(projectData.projectIdentifiers.android);
199
- this.validateProjectName(projectData.projectName);
200
- const checkEnvironmentRequirementsOutput = yield this.$platformEnvironmentRequirements.checkEnvironmentRequirements({
201
- platform: this.getPlatformData(projectData).normalizedPlatformName,
202
- projectDir: projectData.projectDir,
203
- options,
204
- notConfiguredEnvOptions,
205
- });
206
- this.$androidToolsInfo.validateInfo({
207
- showWarningsAsErrors: true,
208
- projectDir: projectData.projectDir,
209
- validateTargetSdk: true,
210
- });
211
- return {
212
- checkEnvironmentRequirementsOutput,
213
- };
185
+ async validate(projectData, options, notConfiguredEnvOptions) {
186
+ this.validatePackageName(projectData.projectIdentifiers.android);
187
+ this.validateProjectName(projectData.projectName);
188
+ const checkEnvironmentRequirementsOutput = await this.$platformEnvironmentRequirements.checkEnvironmentRequirements({
189
+ platform: this.getPlatformData(projectData).normalizedPlatformName,
190
+ projectDir: projectData.projectDir,
191
+ options,
192
+ notConfiguredEnvOptions,
193
+ });
194
+ this.$androidToolsInfo.validateInfo({
195
+ showWarningsAsErrors: true,
196
+ projectDir: projectData.projectDir,
197
+ validateTargetSdk: true,
214
198
  });
199
+ return {
200
+ checkEnvironmentRequirementsOutput,
201
+ };
215
202
  }
216
- createProject(frameworkDir, frameworkVersion, projectData) {
217
- return __awaiter(this, void 0, void 0, function* () {
218
- if (semver.lt(frameworkVersion, AndroidProjectService.MIN_RUNTIME_VERSION_WITH_GRADLE)) {
219
- this.$errors.fail(`The NativeScript CLI requires Android runtime ${AndroidProjectService.MIN_RUNTIME_VERSION_WITH_GRADLE} or later to work properly.`);
220
- }
221
- this.$fs.ensureDirectoryExists(this.getPlatformData(projectData).projectRoot);
222
- const androidToolsInfo = this.$androidToolsInfo.getToolsInfo({
223
- projectDir: projectData.projectDir,
224
- });
225
- const targetSdkVersion = androidToolsInfo && androidToolsInfo.targetSdkVersion;
226
- this.$logger.trace(`Using Android SDK '${targetSdkVersion}'.`);
227
- this.copy(this.getPlatformData(projectData).projectRoot, frameworkDir, "*", "-R");
228
- // TODO: Check if we actually need this and if it should be targetSdk or compileSdk
229
- this.cleanResValues(targetSdkVersion, projectData);
203
+ async createProject(frameworkDir, frameworkVersion, projectData) {
204
+ if (semver.lt(frameworkVersion, AndroidProjectService.MIN_RUNTIME_VERSION_WITH_GRADLE)) {
205
+ this.$errors.fail(`The NativeScript CLI requires Android runtime ${AndroidProjectService.MIN_RUNTIME_VERSION_WITH_GRADLE} or later to work properly.`);
206
+ }
207
+ this.$fs.ensureDirectoryExists(this.getPlatformData(projectData).projectRoot);
208
+ const androidToolsInfo = this.$androidToolsInfo.getToolsInfo({
209
+ projectDir: projectData.projectDir,
230
210
  });
211
+ const targetSdkVersion = androidToolsInfo && androidToolsInfo.targetSdkVersion;
212
+ this.$logger.trace(`Using Android SDK '${targetSdkVersion}'.`);
213
+ this.copy(this.getPlatformData(projectData).projectRoot, frameworkDir, "*", "-R");
214
+ // TODO: Check if we actually need this and if it should be targetSdk or compileSdk
215
+ this.cleanResValues(targetSdkVersion, projectData);
231
216
  }
232
217
  getResDestinationDir(projectData) {
233
218
  const appResourcesDirStructureHasMigrated = this.$androidResourcesMigrationService.hasMigrated(projectData.getAppResourcesDirectoryPath());
@@ -257,35 +242,33 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
257
242
  this.$logger.trace(directoriesToClean);
258
243
  _.map(directoriesToClean, (dir) => this.$fs.deleteDirectory(dir));
259
244
  }
260
- interpolateData(projectData) {
261
- return __awaiter(this, void 0, void 0, function* () {
262
- // Interpolate the apilevel and package
263
- this.interpolateConfigurationFile(projectData);
264
- const appResourcesDirectoryPath = projectData.getAppResourcesDirectoryPath();
265
- let stringsFilePath;
266
- const appResourcesDestinationDirectoryPath = this.getAppResourcesDestinationDirectoryPath(projectData);
267
- if (this.$androidResourcesMigrationService.hasMigrated(appResourcesDirectoryPath)) {
268
- stringsFilePath = path.join(appResourcesDestinationDirectoryPath, constants.MAIN_DIR, constants.RESOURCES_DIR, "values", "strings.xml");
269
- }
270
- else {
271
- stringsFilePath = path.join(appResourcesDestinationDirectoryPath, "values", "strings.xml");
272
- }
273
- shell.sed("-i", /__NAME__/, projectData.projectName, stringsFilePath);
274
- shell.sed("-i", /__TITLE_ACTIVITY__/, projectData.projectName, stringsFilePath);
275
- const gradleSettingsFilePath = path.join(this.getPlatformData(projectData).projectRoot, "settings.gradle");
276
- shell.sed("-i", /__PROJECT_NAME__/, this.getProjectNameFromId(projectData), gradleSettingsFilePath);
277
- try {
278
- // will replace applicationId in app/App_Resources/Android/app.gradle if it has not been edited by the user
279
- const appGradleContent = this.$fs.readText(projectData.appGradlePath);
280
- if (appGradleContent.indexOf(constants.PACKAGE_PLACEHOLDER_NAME) !== -1) {
281
- //TODO: For compatibility with old templates. Once all templates are updated should delete.
282
- shell.sed("-i", new RegExp(constants.PACKAGE_PLACEHOLDER_NAME), projectData.projectIdentifiers.android, projectData.appGradlePath);
283
- }
284
- }
285
- catch (e) {
286
- this.$logger.trace(`Templates updated and no need for replace in app.gradle.`);
245
+ async interpolateData(projectData) {
246
+ // Interpolate the apilevel and package
247
+ this.interpolateConfigurationFile(projectData);
248
+ const appResourcesDirectoryPath = projectData.getAppResourcesDirectoryPath();
249
+ let stringsFilePath;
250
+ const appResourcesDestinationDirectoryPath = this.getAppResourcesDestinationDirectoryPath(projectData);
251
+ if (this.$androidResourcesMigrationService.hasMigrated(appResourcesDirectoryPath)) {
252
+ stringsFilePath = path.join(appResourcesDestinationDirectoryPath, constants.MAIN_DIR, constants.RESOURCES_DIR, "values", "strings.xml");
253
+ }
254
+ else {
255
+ stringsFilePath = path.join(appResourcesDestinationDirectoryPath, "values", "strings.xml");
256
+ }
257
+ shell.sed("-i", /__NAME__/, projectData.projectName, stringsFilePath);
258
+ shell.sed("-i", /__TITLE_ACTIVITY__/, projectData.projectName, stringsFilePath);
259
+ const gradleSettingsFilePath = path.join(this.getPlatformData(projectData).projectRoot, "settings.gradle");
260
+ shell.sed("-i", /__PROJECT_NAME__/, this.getProjectNameFromId(projectData), gradleSettingsFilePath);
261
+ try {
262
+ // will replace applicationId in app/App_Resources/Android/app.gradle if it has not been edited by the user
263
+ const appGradleContent = this.$fs.readText(projectData.appGradlePath);
264
+ if (appGradleContent.indexOf(constants.PACKAGE_PLACEHOLDER_NAME) !== -1) {
265
+ //TODO: For compatibility with old templates. Once all templates are updated should delete.
266
+ shell.sed("-i", new RegExp(constants.PACKAGE_PLACEHOLDER_NAME), projectData.projectIdentifiers.android, projectData.appGradlePath);
287
267
  }
288
- });
268
+ }
269
+ catch (e) {
270
+ this.$logger.trace(`Templates updated and no need for replace in app.gradle.`);
271
+ }
289
272
  }
290
273
  interpolateConfigurationFile(projectData) {
291
274
  const manifestPath = this.getPlatformData(projectData).configurationFilePath;
@@ -304,30 +287,24 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
304
287
  afterCreateProject(projectRoot) {
305
288
  return null;
306
289
  }
307
- updatePlatform(currentVersion, newVersion, canUpdate, projectData, addPlatform, removePlatforms) {
308
- return __awaiter(this, void 0, void 0, function* () {
309
- if (semver.eq(newVersion, AndroidProjectService.MIN_RUNTIME_VERSION_WITH_GRADLE)) {
310
- const platformLowercase = this.getPlatformData(projectData).normalizedPlatformName.toLowerCase();
311
- yield removePlatforms([platformLowercase.split("@")[0]]);
312
- yield addPlatform(platformLowercase);
313
- return false;
314
- }
315
- return true;
316
- });
290
+ async updatePlatform(currentVersion, newVersion, canUpdate, projectData, addPlatform, removePlatforms) {
291
+ if (semver.eq(newVersion, AndroidProjectService.MIN_RUNTIME_VERSION_WITH_GRADLE)) {
292
+ const platformLowercase = this.getPlatformData(projectData).normalizedPlatformName.toLowerCase();
293
+ await removePlatforms([platformLowercase.split("@")[0]]);
294
+ await addPlatform(platformLowercase);
295
+ return false;
296
+ }
297
+ return true;
317
298
  }
318
- buildProject(projectRoot, projectData, buildData) {
319
- return __awaiter(this, void 0, void 0, function* () {
320
- const platformData = this.getPlatformData(projectData);
321
- yield this.$gradleBuildService.buildProject(platformData.projectRoot, buildData);
322
- const outputPath = platformData.getBuildOutputPath(buildData);
323
- yield this.$filesHashService.saveHashesForProject(this._platformData, outputPath);
324
- yield this.trackKotlinUsage(projectRoot);
325
- });
299
+ async buildProject(projectRoot, projectData, buildData) {
300
+ const platformData = this.getPlatformData(projectData);
301
+ await this.$gradleBuildService.buildProject(platformData.projectRoot, buildData);
302
+ const outputPath = platformData.getBuildOutputPath(buildData);
303
+ await this.$filesHashService.saveHashesForProject(this._platformData, outputPath);
304
+ await this.trackKotlinUsage(projectRoot);
326
305
  }
327
- buildForDeploy(projectRoot, projectData, buildData) {
328
- return __awaiter(this, void 0, void 0, function* () {
329
- return this.buildProject(projectRoot, projectData, buildData);
330
- });
306
+ async buildForDeploy(projectRoot, projectData, buildData) {
307
+ return this.buildProject(projectRoot, projectData, buildData);
331
308
  }
332
309
  isPlatformPrepared(projectRoot, projectData) {
333
310
  return this.$fs.exists(path.join(this.getPlatformData(projectData).appDestinationDirectoryPath, this.$options.hostProjectModuleName));
@@ -335,10 +312,8 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
335
312
  getFrameworkFilesExtensions() {
336
313
  return [".jar", ".dat"];
337
314
  }
338
- prepareProject() {
339
- return __awaiter(this, void 0, void 0, function* () {
340
- // Intentionally left empty.
341
- });
315
+ async prepareProject() {
316
+ // Intentionally left empty.
342
317
  }
343
318
  ensureConfigurationFileInAppResources(projectData) {
344
319
  const appResourcesDirectoryPath = projectData.appResourcesDirectoryPath;
@@ -382,49 +357,39 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
382
357
  const compileSdkVersion = androidToolsInfo && androidToolsInfo.compileSdkVersion;
383
358
  this.cleanResValues(compileSdkVersion, projectData);
384
359
  }
385
- preparePluginNativeCode(pluginData, projectData) {
386
- return __awaiter(this, void 0, void 0, function* () {
387
- // build Android plugins which contain AndroidManifest.xml and/or resources
388
- const pluginPlatformsFolderPath = this.getPluginPlatformsFolderPath(pluginData, AndroidProjectService.ANDROID_PLATFORM_NAME);
389
- if (this.$fs.exists(pluginPlatformsFolderPath)) {
390
- const options = {
391
- gradlePath: this.$options.gradlePath,
392
- gradleArgs: this.$options.gradleArgs,
393
- projectDir: projectData.projectDir,
394
- pluginName: pluginData.name,
395
- platformsAndroidDirPath: pluginPlatformsFolderPath,
396
- aarOutputDir: pluginPlatformsFolderPath,
397
- tempPluginDirPath: path.join(projectData.platformsDir, "tempPlugin"),
398
- };
399
- if (yield this.$androidPluginBuildService.buildAar(options)) {
400
- this.$logger.info(`Built aar for ${options.pluginName}`);
401
- }
402
- this.$androidPluginBuildService.migrateIncludeGradle(options);
360
+ async preparePluginNativeCode(pluginData, projectData) {
361
+ // build Android plugins which contain AndroidManifest.xml and/or resources
362
+ const pluginPlatformsFolderPath = this.getPluginPlatformsFolderPath(pluginData, AndroidProjectService.ANDROID_PLATFORM_NAME);
363
+ if (this.$fs.exists(pluginPlatformsFolderPath)) {
364
+ const options = {
365
+ gradlePath: this.$options.gradlePath,
366
+ gradleArgs: this.$options.gradleArgs,
367
+ projectDir: projectData.projectDir,
368
+ pluginName: pluginData.name,
369
+ platformsAndroidDirPath: pluginPlatformsFolderPath,
370
+ aarOutputDir: pluginPlatformsFolderPath,
371
+ tempPluginDirPath: path.join(projectData.platformsDir, "tempPlugin"),
372
+ };
373
+ if (await this.$androidPluginBuildService.buildAar(options)) {
374
+ this.$logger.info(`Built aar for ${options.pluginName}`);
403
375
  }
404
- });
376
+ this.$androidPluginBuildService.migrateIncludeGradle(options);
377
+ }
405
378
  }
406
- processConfigurationFilesFromAppResources() {
407
- return __awaiter(this, void 0, void 0, function* () {
408
- return;
409
- });
379
+ async processConfigurationFilesFromAppResources() {
380
+ return;
410
381
  }
411
- removePluginNativeCode(pluginData, projectData) {
412
- return __awaiter(this, void 0, void 0, function* () {
413
- // not implemented
414
- });
382
+ async removePluginNativeCode(pluginData, projectData) {
383
+ // not implemented
415
384
  }
416
- beforePrepareAllPlugins(projectData, dependencies) {
417
- return __awaiter(this, void 0, void 0, function* () {
418
- if (dependencies) {
419
- dependencies = this.filterUniqueDependencies(dependencies);
420
- return this.provideDependenciesJson(projectData, dependencies);
421
- }
422
- });
385
+ async beforePrepareAllPlugins(projectData, dependencies) {
386
+ if (dependencies) {
387
+ dependencies = this.filterUniqueDependencies(dependencies);
388
+ return this.provideDependenciesJson(projectData, dependencies);
389
+ }
423
390
  }
424
- handleNativeDependenciesChange(projectData, opts) {
425
- return __awaiter(this, void 0, void 0, function* () {
426
- return;
427
- });
391
+ async handleNativeDependenciesChange(projectData, opts) {
392
+ return;
428
393
  }
429
394
  filterUniqueDependencies(dependencies) {
430
395
  const depsDictionary = dependencies.reduce((dict, dep) => {
@@ -467,36 +432,28 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
467
432
  (nativescript.android ||
468
433
  (nativescript.platforms && nativescript.platforms.android)));
469
434
  }
470
- stopServices(projectRoot) {
471
- return __awaiter(this, void 0, void 0, function* () {
472
- const result = yield this.$gradleCommandService.executeCommand(["--stop", "--quiet"], {
473
- cwd: projectRoot,
474
- message: "Gradle stop services...",
475
- stdio: "pipe",
476
- });
477
- return result;
435
+ async stopServices(projectRoot) {
436
+ const result = await this.$gradleCommandService.executeCommand(["--stop", "--quiet"], {
437
+ cwd: projectRoot,
438
+ message: "Gradle stop services...",
439
+ stdio: "pipe",
478
440
  });
441
+ return result;
479
442
  }
480
- cleanProject(projectRoot) {
481
- return __awaiter(this, void 0, void 0, function* () {
482
- yield this.$gradleBuildService.cleanProject(projectRoot, {
483
- release: false,
484
- });
443
+ async cleanProject(projectRoot) {
444
+ await this.$gradleBuildService.cleanProject(projectRoot, {
445
+ release: false,
485
446
  });
486
447
  }
487
- cleanDeviceTempFolder(deviceIdentifier, projectData) {
488
- return __awaiter(this, void 0, void 0, function* () {
489
- const adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, {
490
- identifier: deviceIdentifier,
491
- });
492
- const deviceRootPath = `${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${projectData.projectIdentifiers.android}`;
493
- yield adb.executeShellCommand(["rm", "-rf", deviceRootPath]);
448
+ async cleanDeviceTempFolder(deviceIdentifier, projectData) {
449
+ const adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, {
450
+ identifier: deviceIdentifier,
494
451
  });
452
+ const deviceRootPath = `${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${projectData.projectIdentifiers.android}`;
453
+ await adb.executeShellCommand(["rm", "-rf", deviceRootPath]);
495
454
  }
496
- checkForChanges() {
497
- return __awaiter(this, void 0, void 0, function* () {
498
- // Nothing android specific to check yet.
499
- });
455
+ async checkForChanges() {
456
+ // Nothing android specific to check yet.
500
457
  }
501
458
  getDeploymentTarget(projectData) {
502
459
  return;
@@ -570,24 +527,22 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
570
527
  });
571
528
  }
572
529
  }
573
- trackKotlinUsage(projectRoot) {
574
- return __awaiter(this, void 0, void 0, function* () {
575
- const buildStatistics = this.tryGetAndroidBuildStatistics(projectRoot);
576
- try {
577
- if (buildStatistics && buildStatistics.kotlinUsage) {
578
- const analyticsDelimiter = constants.AnalyticsEventLabelDelimiter;
579
- const hasUseKotlinPropertyInAppData = `hasUseKotlinPropertyInApp${analyticsDelimiter}${buildStatistics.kotlinUsage.hasUseKotlinPropertyInApp}`;
580
- const hasKotlinRuntimeClassesData = `hasKotlinRuntimeClasses${analyticsDelimiter}${buildStatistics.kotlinUsage.hasKotlinRuntimeClasses}`;
581
- yield this.$analyticsService.trackEventActionInGoogleAnalytics({
582
- action: "Using Kotlin" /* constants.TrackActionNames.UsingKotlin */,
583
- additionalData: `${hasUseKotlinPropertyInAppData}${analyticsDelimiter}${hasKotlinRuntimeClassesData}`,
584
- });
585
- }
530
+ async trackKotlinUsage(projectRoot) {
531
+ const buildStatistics = this.tryGetAndroidBuildStatistics(projectRoot);
532
+ try {
533
+ if (buildStatistics && buildStatistics.kotlinUsage) {
534
+ const analyticsDelimiter = constants.AnalyticsEventLabelDelimiter;
535
+ const hasUseKotlinPropertyInAppData = `hasUseKotlinPropertyInApp${analyticsDelimiter}${buildStatistics.kotlinUsage.hasUseKotlinPropertyInApp}`;
536
+ const hasKotlinRuntimeClassesData = `hasKotlinRuntimeClasses${analyticsDelimiter}${buildStatistics.kotlinUsage.hasKotlinRuntimeClasses}`;
537
+ await this.$analyticsService.trackEventActionInGoogleAnalytics({
538
+ action: "Using Kotlin" /* constants.TrackActionNames.UsingKotlin */,
539
+ additionalData: `${hasUseKotlinPropertyInAppData}${analyticsDelimiter}${hasKotlinRuntimeClassesData}`,
540
+ });
586
541
  }
587
- catch (e) {
588
- this.$logger.trace(`Failed to track android build statistics. Error is: ${e.message}`);
589
- }
590
- });
542
+ }
543
+ catch (e) {
544
+ this.$logger.trace(`Failed to track android build statistics. Error is: ${e.message}`);
545
+ }
591
546
  }
592
547
  tryGetAndroidBuildStatistics(projectRoot) {
593
548
  const staticsFilePath = path.join(projectRoot, constants.ANDROID_ANALYTICS_DATA_DIR, constants.ANDROID_ANALYTICS_DATA_FILE);
@@ -603,6 +558,7 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
603
558
  return buildStatistics;
604
559
  }
605
560
  }
561
+ exports.AndroidProjectService = AndroidProjectService;
606
562
  AndroidProjectService.VALUES_DIRNAME = "values";
607
563
  AndroidProjectService.VALUES_VERSION_DIRNAME_PREFIX = AndroidProjectService.VALUES_DIRNAME + "-v";
608
564
  AndroidProjectService.ANDROID_PLATFORM_NAME = "android";
@@ -611,6 +567,5 @@ __decorate([
611
567
  (0, decorators_1.performanceLog)(),
612
568
  (0, helpers_1.hook)("buildAndroid")
613
569
  ], AndroidProjectService.prototype, "buildProject", null);
614
- exports.AndroidProjectService = AndroidProjectService;
615
570
  yok_1.injector.register("androidProjectService", AndroidProjectService);
616
571
  //# sourceMappingURL=android-project-service.js.map
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.AndroidResourcesMigrationService = void 0;
13
4
  const path = require("path");
@@ -28,71 +19,67 @@ class AndroidResourcesMigrationService {
28
19
  hasMigrated(appResourcesDir) {
29
20
  return this.$fs.exists(path.join(appResourcesDir, AndroidResourcesMigrationService.ANDROID_DIR, constants.SRC_DIR, constants.MAIN_DIR));
30
21
  }
31
- migrate(appResourcesDir, backupLocation) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- const originalAppResources = path.join(appResourcesDir, AndroidResourcesMigrationService.ANDROID_DIR);
34
- const appResourcesDestination = path.join(appResourcesDir, AndroidResourcesMigrationService.ANDROID_DIR_TEMP);
35
- const appResourcesBackup = path.join(backupLocation || appResourcesDir, AndroidResourcesMigrationService.ANDROID_DIR_OLD);
22
+ async migrate(appResourcesDir, backupLocation) {
23
+ const originalAppResources = path.join(appResourcesDir, AndroidResourcesMigrationService.ANDROID_DIR);
24
+ const appResourcesDestination = path.join(appResourcesDir, AndroidResourcesMigrationService.ANDROID_DIR_TEMP);
25
+ const appResourcesBackup = path.join(backupLocation || appResourcesDir, AndroidResourcesMigrationService.ANDROID_DIR_OLD);
26
+ try {
27
+ await this.tryMigrate(originalAppResources, appResourcesDestination, appResourcesBackup);
28
+ this.$logger.info(`Successfully updated your project's application resources '/Android' directory structure.${os_1.EOL}The previous version of your Android application resources has been renamed to '/${AndroidResourcesMigrationService.ANDROID_DIR_OLD}'`);
29
+ }
30
+ catch (error) {
36
31
  try {
37
- yield this.tryMigrate(originalAppResources, appResourcesDestination, appResourcesBackup);
38
- this.$logger.info(`Successfully updated your project's application resources '/Android' directory structure.${os_1.EOL}The previous version of your Android application resources has been renamed to '/${AndroidResourcesMigrationService.ANDROID_DIR_OLD}'`);
32
+ this.recover(originalAppResources, appResourcesDestination, appResourcesBackup);
33
+ this.$logger.info("Failed to update resources. They should be in their initial state.");
39
34
  }
40
- catch (error) {
41
- try {
42
- this.recover(originalAppResources, appResourcesDestination, appResourcesBackup);
43
- this.$logger.info("Failed to update resources. They should be in their initial state.");
44
- }
45
- catch (err) {
46
- this.$logger.trace(err);
47
- this.$logger.info(`Failed to update resources.${os_1.EOL} Backup of original content is inside "${appResourcesBackup}".${os_1.EOL}If "${originalAppResources} is missing copy from backup folder."`);
48
- }
49
- finally {
50
- this.$errors.fail(error.message);
51
- }
35
+ catch (err) {
36
+ this.$logger.trace(err);
37
+ this.$logger.info(`Failed to update resources.${os_1.EOL} Backup of original content is inside "${appResourcesBackup}".${os_1.EOL}If "${originalAppResources} is missing copy from backup folder."`);
52
38
  }
53
- });
39
+ finally {
40
+ this.$errors.fail(error.message);
41
+ }
42
+ }
54
43
  }
55
- tryMigrate(originalAppResources, appResourcesDestination, appResourcesBackup) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- const appMainSourceSet = path.join(appResourcesDestination, constants.SRC_DIR, constants.MAIN_DIR);
58
- const appResourcesMainSourceSetResourcesDestination = path.join(appMainSourceSet, constants.RESOURCES_DIR);
59
- this.$fs.ensureDirectoryExists(appResourcesDestination);
60
- this.$fs.ensureDirectoryExists(appMainSourceSet);
61
- // create /java, /res and /assets in the App_Resources/Android/src/main directory
62
- this.$fs.ensureDirectoryExists(appResourcesMainSourceSetResourcesDestination);
63
- this.$fs.ensureDirectoryExists(path.join(appMainSourceSet, "java"));
64
- this.$fs.ensureDirectoryExists(path.join(appMainSourceSet, constants.ASSETS_DIR));
65
- const isDirectory = (source) => this.$fs.getLsStats(source).isDirectory();
66
- const getAllFiles = (source) => this.$fs.readDirectory(source).map((name) => path.join(source, name));
67
- const getDirectories = (files) => files.filter(isDirectory);
68
- const getFiles = (files) => files.filter((file) => !isDirectory(file));
69
- this.$fs.copyFile(path.join(originalAppResources, constants.APP_GRADLE_FILE_NAME), path.join(appResourcesDestination, constants.APP_GRADLE_FILE_NAME));
70
- const appResourcesFiles = getAllFiles(originalAppResources);
71
- const resourceDirectories = getDirectories(appResourcesFiles);
72
- const resourceFiles = getFiles(appResourcesFiles);
73
- resourceDirectories.forEach((dir) => {
74
- if (path.basename(dir) !== "libs") {
75
- // don't copy /App_Resources/Android/libs into the src/main/res/libs directory
76
- this.$fs.copyFile(dir, appResourcesMainSourceSetResourcesDestination);
77
- }
78
- else {
79
- // copy App_Resources/Android/libs to App_ResourcesNew/Android/libs
80
- this.$fs.copyFile(dir, path.join(appResourcesDestination));
81
- }
82
- });
83
- resourceFiles.forEach((file) => {
84
- const fileName = path.basename(file);
85
- if (fileName !== constants.MANIFEST_FILE_NAME) {
86
- // don't copy AndroidManifest into /App_Resources/Android as it needs to be inside src/main/
87
- this.$fs.copyFile(file, path.join(appResourcesDestination, fileName));
88
- }
89
- });
90
- this.$fs.copyFile(path.join(originalAppResources, constants.MANIFEST_FILE_NAME), path.join(appMainSourceSet, constants.MANIFEST_FILE_NAME));
91
- // rename the legacy app_resources to ANDROID_DIR_OLD
92
- this.$fs.rename(originalAppResources, appResourcesBackup);
93
- // move the new, updated app_resources to App_Resources/Android, as the de facto resources
94
- this.$fs.rename(appResourcesDestination, originalAppResources);
44
+ async tryMigrate(originalAppResources, appResourcesDestination, appResourcesBackup) {
45
+ const appMainSourceSet = path.join(appResourcesDestination, constants.SRC_DIR, constants.MAIN_DIR);
46
+ const appResourcesMainSourceSetResourcesDestination = path.join(appMainSourceSet, constants.RESOURCES_DIR);
47
+ this.$fs.ensureDirectoryExists(appResourcesDestination);
48
+ this.$fs.ensureDirectoryExists(appMainSourceSet);
49
+ // create /java, /res and /assets in the App_Resources/Android/src/main directory
50
+ this.$fs.ensureDirectoryExists(appResourcesMainSourceSetResourcesDestination);
51
+ this.$fs.ensureDirectoryExists(path.join(appMainSourceSet, "java"));
52
+ this.$fs.ensureDirectoryExists(path.join(appMainSourceSet, constants.ASSETS_DIR));
53
+ const isDirectory = (source) => this.$fs.getLsStats(source).isDirectory();
54
+ const getAllFiles = (source) => this.$fs.readDirectory(source).map((name) => path.join(source, name));
55
+ const getDirectories = (files) => files.filter(isDirectory);
56
+ const getFiles = (files) => files.filter((file) => !isDirectory(file));
57
+ this.$fs.copyFile(path.join(originalAppResources, constants.APP_GRADLE_FILE_NAME), path.join(appResourcesDestination, constants.APP_GRADLE_FILE_NAME));
58
+ const appResourcesFiles = getAllFiles(originalAppResources);
59
+ const resourceDirectories = getDirectories(appResourcesFiles);
60
+ const resourceFiles = getFiles(appResourcesFiles);
61
+ resourceDirectories.forEach((dir) => {
62
+ if (path.basename(dir) !== "libs") {
63
+ // don't copy /App_Resources/Android/libs into the src/main/res/libs directory
64
+ this.$fs.copyFile(dir, appResourcesMainSourceSetResourcesDestination);
65
+ }
66
+ else {
67
+ // copy App_Resources/Android/libs to App_ResourcesNew/Android/libs
68
+ this.$fs.copyFile(dir, path.join(appResourcesDestination));
69
+ }
70
+ });
71
+ resourceFiles.forEach((file) => {
72
+ const fileName = path.basename(file);
73
+ if (fileName !== constants.MANIFEST_FILE_NAME) {
74
+ // don't copy AndroidManifest into /App_Resources/Android as it needs to be inside src/main/
75
+ this.$fs.copyFile(file, path.join(appResourcesDestination, fileName));
76
+ }
95
77
  });
78
+ this.$fs.copyFile(path.join(originalAppResources, constants.MANIFEST_FILE_NAME), path.join(appMainSourceSet, constants.MANIFEST_FILE_NAME));
79
+ // rename the legacy app_resources to ANDROID_DIR_OLD
80
+ this.$fs.rename(originalAppResources, appResourcesBackup);
81
+ // move the new, updated app_resources to App_Resources/Android, as the de facto resources
82
+ this.$fs.rename(appResourcesDestination, originalAppResources);
96
83
  }
97
84
  recover(originalAppResources, appResourcesDestination, appResourcesBackup) {
98
85
  if (!this.$fs.exists(originalAppResources)) {
@@ -103,9 +90,9 @@ class AndroidResourcesMigrationService {
103
90
  }
104
91
  }
105
92
  }
93
+ exports.AndroidResourcesMigrationService = AndroidResourcesMigrationService;
106
94
  AndroidResourcesMigrationService.ANDROID_DIR = "Android";
107
95
  AndroidResourcesMigrationService.ANDROID_DIR_TEMP = "Android-Updated";
108
96
  AndroidResourcesMigrationService.ANDROID_DIR_OLD = "Android-Pre-v4";
109
- exports.AndroidResourcesMigrationService = AndroidResourcesMigrationService;
110
97
  yok_1.injector.register("androidResourcesMigrationService", AndroidResourcesMigrationService);
111
98
  //# sourceMappingURL=android-resources-migration-service.js.map