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.
- package/config/test-deps-versions-generated.json +1 -1
- package/docs/man_pages/project/configuration/widget-ios.md +24 -0
- package/docs/man_pages/project/configuration/widget.md +24 -0
- package/docs/man_pages/start.md +1 -1
- package/lib/android-tools-info.js +11 -22
- package/lib/base-package-manager.js +53 -70
- package/lib/bun-package-manager.js +75 -98
- package/lib/color.js +4 -4
- package/lib/commands/add-platform.js +14 -30
- package/lib/commands/apple-login.js +18 -29
- package/lib/commands/appstore-list.js +34 -45
- package/lib/commands/appstore-upload.js +54 -67
- package/lib/commands/build.js +55 -87
- package/lib/commands/clean.js +169 -184
- package/lib/commands/command-base.js +14 -27
- package/lib/commands/config.js +49 -68
- package/lib/commands/create-project.js +215 -234
- package/lib/commands/debug.js +66 -88
- package/lib/commands/deploy.js +28 -44
- package/lib/commands/embedding/embed.js +37 -56
- package/lib/commands/extensibility/install-extension.js +5 -16
- package/lib/commands/extensibility/list-extensions.js +13 -24
- package/lib/commands/extensibility/uninstall-extension.js +4 -15
- package/lib/commands/fonts.js +30 -41
- package/lib/commands/generate-assets.js +13 -28
- package/lib/commands/generate-help.js +2 -13
- package/lib/commands/generate.js +49 -60
- package/lib/commands/info.js +2 -13
- package/lib/commands/install.js +34 -49
- package/lib/commands/list-platforms.js +14 -25
- package/lib/commands/migrate.js +15 -26
- package/lib/commands/native-add.js +23 -46
- package/lib/commands/platform-clean.js +19 -32
- package/lib/commands/plugin/add-plugin.js +12 -25
- package/lib/commands/plugin/build-plugin.js +31 -44
- package/lib/commands/plugin/create-plugin.js +114 -137
- package/lib/commands/plugin/list-plugins.js +22 -33
- package/lib/commands/plugin/remove-plugin.js +21 -34
- package/lib/commands/plugin/update-plugin.js +20 -33
- package/lib/commands/post-install.js +25 -38
- package/lib/commands/prepare.js +19 -35
- package/lib/commands/preview.js +50 -63
- package/lib/commands/remove-platform.js +7 -18
- package/lib/commands/resources/resources-update.js +14 -27
- package/lib/commands/run.js +55 -76
- package/lib/commands/start.js +6 -19
- package/lib/commands/test-init.js +126 -137
- package/lib/commands/test.js +72 -95
- package/lib/commands/typings.js +126 -142
- package/lib/commands/update-platform.js +26 -39
- package/lib/commands/update.js +31 -44
- package/lib/commands/widget.js +408 -357
- package/lib/common/child-process.js +53 -72
- package/lib/common/codeGeneration/code-entity.js +1 -1
- package/lib/common/codeGeneration/code-printer.js +1 -1
- package/lib/common/command-params.js +7 -18
- package/lib/common/commands/analytics.js +29 -42
- package/lib/common/commands/autocompletion.js +41 -58
- package/lib/common/commands/device/device-log-stream.js +12 -23
- package/lib/common/commands/device/get-file.js +23 -34
- package/lib/common/commands/device/list-applications.js +12 -23
- package/lib/common/commands/device/list-devices.js +72 -87
- package/lib/common/commands/device/list-files.js +24 -35
- package/lib/common/commands/device/put-file.js +23 -34
- package/lib/common/commands/device/run-application.js +12 -25
- package/lib/common/commands/device/stop-application.js +11 -22
- package/lib/common/commands/device/uninstall-application.js +6 -17
- package/lib/common/commands/generate-messages.js +17 -28
- package/lib/common/commands/help.js +20 -33
- package/lib/common/commands/package-manager-get.js +6 -17
- package/lib/common/commands/package-manager-set.js +9 -20
- package/lib/common/commands/post-install.js +2 -13
- package/lib/common/commands/preuninstall.js +27 -42
- package/lib/common/commands/proxy/proxy-base.js +11 -22
- package/lib/common/commands/proxy/proxy-clear.js +4 -15
- package/lib/common/commands/proxy/proxy-get.js +3 -14
- package/lib/common/commands/proxy/proxy-set.js +87 -100
- package/lib/common/constants.js +11 -11
- package/lib/common/decorators.js +10 -22
- package/lib/common/dispatchers.js +84 -101
- package/lib/common/errors.js +92 -107
- package/lib/common/file-system.js +110 -132
- package/lib/common/header.js +1 -2
- package/lib/common/helpers.js +149 -178
- package/lib/common/host-info.js +40 -53
- package/lib/common/http-client.js +104 -119
- package/lib/common/logger/appenders/cli-appender.js +1 -2
- package/lib/common/logger/appenders/emit-appender.js +1 -2
- package/lib/common/logger/layouts/cli-layout.js +1 -2
- package/lib/common/logger/logger.js +4 -4
- package/lib/common/mobile/android/android-application-manager.js +138 -159
- package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
- package/lib/common/mobile/android/android-debug-bridge.js +92 -117
- package/lib/common/mobile/android/android-device-file-system.js +101 -134
- package/lib/common/mobile/android/android-device-hash-service.js +52 -77
- package/lib/common/mobile/android/android-device.js +73 -90
- package/lib/common/mobile/android/android-emulator-services.js +105 -130
- package/lib/common/mobile/android/android-log-filter.js +1 -1
- package/lib/common/mobile/android/android-virtual-device-service.js +78 -99
- package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
- package/lib/common/mobile/android/genymotion/genymotion-service.js +94 -121
- package/lib/common/mobile/android/genymotion/virtualbox-service.js +74 -91
- package/lib/common/mobile/android/logcat-helper.js +114 -133
- package/lib/common/mobile/application-manager-base.js +89 -112
- package/lib/common/mobile/device-log-provider-base.js +7 -18
- package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
- package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
- package/lib/common/mobile/ios/device/ios-device-operations.js +106 -143
- package/lib/common/mobile/ios/device/ios-device.js +20 -36
- package/lib/common/mobile/ios/ios-device-base.js +58 -81
- package/lib/common/mobile/ios/simulator/ios-emulator-services.js +66 -95
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +61 -90
- package/lib/common/mobile/ios/simulator/ios-simulator-device.js +31 -47
- package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
- package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
- package/lib/common/mobile/mobile-core/android-device-discovery.js +44 -63
- package/lib/common/mobile/mobile-core/android-emulator-discovery.js +23 -34
- package/lib/common/mobile/mobile-core/android-process-service.js +174 -213
- package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
- package/lib/common/mobile/mobile-core/devices-service.js +400 -450
- package/lib/common/mobile/mobile-core/ios-device-discovery.js +25 -36
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +49 -64
- package/lib/common/mobile/mobile-helper.js +15 -26
- package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
- package/lib/common/opener.js +2 -2
- package/lib/common/prompter.js +91 -106
- package/lib/common/queue.js +9 -20
- package/lib/common/services/auto-completion-service.js +40 -53
- package/lib/common/services/cancellation.js +17 -28
- package/lib/common/services/commands-service.js +156 -179
- package/lib/common/services/help-service.js +130 -155
- package/lib/common/services/hooks-service.js +99 -114
- package/lib/common/services/ios-notification-service.js +21 -34
- package/lib/common/services/json-file-settings-service.js +56 -75
- package/lib/common/services/lock-service.js +35 -52
- package/lib/common/services/message-contract-generator.js +35 -46
- package/lib/common/services/micro-templating-service.js +6 -17
- package/lib/common/services/net-service.js +92 -109
- package/lib/common/services/project-files-manager.js +10 -23
- package/lib/common/services/proxy-service.js +13 -24
- package/lib/common/services/qr.js +13 -24
- package/lib/common/services/settings-service.js +1 -1
- package/lib/common/services/xcode-select-service.js +20 -35
- package/lib/common/utils.js +2 -2
- package/lib/common/validators/project-name-validator.js +1 -1
- package/lib/common/validators/validation-result.js +1 -1
- package/lib/common/verify-node-version.js +2 -3
- package/lib/common/yok.js +25 -38
- package/lib/config.js +41 -56
- package/lib/constants.js +24 -24
- package/lib/controllers/build-controller.js +82 -99
- package/lib/controllers/debug-controller.js +111 -132
- package/lib/controllers/deploy-controller.js +15 -23
- package/lib/controllers/migrate-controller.js +780 -853
- package/lib/controllers/platform-controller.js +74 -89
- package/lib/controllers/prepare-controller.js +241 -270
- package/lib/controllers/run-controller.js +411 -425
- package/lib/controllers/update-controller-base.js +16 -29
- package/lib/controllers/update-controller.js +101 -126
- package/lib/data/prepare-data.js +4 -1
- package/lib/definitions/project.d.ts +24 -24
- package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
- package/lib/detached-processes/cleanup-process.js +16 -25
- package/lib/device-path-provider.js +23 -34
- package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +155 -170
- package/lib/device-sockets/ios/notification.js +1 -1
- package/lib/device-sockets/ios/socket-request-executor.js +26 -41
- package/lib/helpers/android-bundle-validator-helper.js +1 -1
- package/lib/helpers/deploy-command-helper.js +44 -49
- package/lib/helpers/key-command-helper.js +4 -13
- package/lib/helpers/livesync-command-helper.js +138 -153
- package/lib/helpers/network-connectivity-validator.js +6 -17
- package/lib/helpers/options-track-helper.js +6 -17
- package/lib/helpers/platform-command-helper.js +103 -124
- package/lib/key-commands/index.js +150 -200
- package/lib/nativescript-cli.js +5 -14
- package/lib/node-package-manager.js +90 -113
- package/lib/options.js +4 -13
- package/lib/package-installation-manager.js +132 -167
- package/lib/package-manager.js +64 -87
- package/lib/platform-command-param.js +4 -15
- package/lib/pnpm-package-manager.js +60 -79
- package/lib/project-data.js +1 -1
- package/lib/providers/project-files-provider.js +1 -1
- package/lib/services/analytics/analytics-broker-process.js +13 -22
- package/lib/services/analytics/analytics-broker.js +17 -30
- package/lib/services/analytics/analytics-service.js +165 -201
- package/lib/services/analytics/google-analytics-provider.js +41 -56
- package/lib/services/analytics-settings-service.js +15 -32
- package/lib/services/android/android-bundle-tool-service.js +43 -60
- package/lib/services/android/gradle-build-args-service.js +10 -21
- package/lib/services/android/gradle-build-service.js +22 -35
- package/lib/services/android/gradle-command-service.js +22 -35
- package/lib/services/android-device-debug-service.js +92 -119
- package/lib/services/android-plugin-build-service.js +219 -245
- package/lib/services/android-project-service.js +134 -179
- package/lib/services/android-resources-migration-service.js +57 -70
- package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
- package/lib/services/apple-portal/apple-portal-session-service.js +196 -215
- package/lib/services/apple-portal/srp/srp-wrapper.js +45 -60
- package/lib/services/assets-generation/assets-generation-service.js +114 -128
- package/lib/services/build-artifacts-service.js +9 -20
- package/lib/services/build-info-file-service.js +20 -35
- package/lib/services/cleanup-service.js +47 -76
- package/lib/services/cocoapods-service.js +124 -145
- package/lib/services/device/device-install-app-service.js +54 -71
- package/lib/services/doctor-service.js +106 -125
- package/lib/services/extensibility-service.js +87 -106
- package/lib/services/files-hash-service.js +26 -43
- package/lib/services/hmr-status-service.js +1 -1
- package/lib/services/initialize-service.js +38 -51
- package/lib/services/ios/export-options-plist-service.js +41 -54
- package/lib/services/ios/ios-signing-service.js +171 -190
- package/lib/services/ios/spm-service.js +52 -65
- package/lib/services/ios/xcodebuild-args-service.js +77 -94
- package/lib/services/ios/xcodebuild-command-service.js +14 -25
- package/lib/services/ios/xcodebuild-service.js +52 -71
- package/lib/services/ios-debugger-port-service.js +24 -37
- package/lib/services/ios-device-debug-service.js +75 -102
- package/lib/services/ios-entitlements-service.js +31 -42
- package/lib/services/ios-extensions-service.js +18 -29
- package/lib/services/ios-project-service.js +530 -591
- package/lib/services/ios-provision-service.js +110 -131
- package/lib/services/ios-watch-app-service.js +21 -32
- package/lib/services/ip-service.js +39 -54
- package/lib/services/itmstransporter-service.js +129 -152
- package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
- package/lib/services/livesync/android-device-livesync-service.js +121 -150
- package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -154
- package/lib/services/livesync/android-livesync-service.js +14 -35
- package/lib/services/livesync/android-livesync-tool.js +90 -113
- package/lib/services/livesync/device-livesync-service-base.js +16 -29
- package/lib/services/livesync/ios-device-livesync-service.js +120 -149
- package/lib/services/livesync/ios-livesync-service.js +43 -59
- package/lib/services/livesync/platform-livesync-service-base.js +98 -123
- package/lib/services/log-parser-service.js +1 -1
- package/lib/services/log-source-map-service.js +31 -42
- package/lib/services/marking-mode-service.js +17 -30
- package/lib/services/npm-config-service.js +1 -1
- package/lib/services/pacote-service.js +54 -69
- package/lib/services/performance-service.js +1 -1
- package/lib/services/platform/add-platform-service.js +57 -78
- package/lib/services/platform/platform-validation-service.js +22 -33
- package/lib/services/platform/prepare-native-platform-service.js +51 -64
- package/lib/services/platform-environment-requirements.js +27 -38
- package/lib/services/plugins-service.js +126 -151
- package/lib/services/project-backup-service.js +1 -1
- package/lib/services/project-changes-service.js +126 -143
- package/lib/services/project-cleanup-service.js +65 -78
- package/lib/services/project-config-service.js +78 -88
- package/lib/services/project-data-service.js +112 -129
- package/lib/services/project-name-service.js +28 -43
- package/lib/services/project-service.js +90 -109
- package/lib/services/project-templates-service.js +52 -67
- package/lib/services/start-service.js +41 -59
- package/lib/services/temp-service.js +8 -21
- package/lib/services/terminal-spinner-service.js +15 -26
- package/lib/services/test-execution-service.js +64 -77
- package/lib/services/test-initialization-service.js +2 -2
- package/lib/services/timeline-profiler-service.js +1 -1
- package/lib/services/versions-service.js +120 -139
- package/lib/services/webpack/webpack-compiler-service.js +228 -251
- package/lib/services/xcconfig-service.js +8 -19
- package/lib/sys-info.js +45 -62
- package/lib/tools/node-modules/node-modules-builder.js +16 -27
- package/lib/yarn-package-manager.js +59 -78
- package/lib/yarn2-package-manager.js +62 -81
- package/package.json +67 -82
- package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
- package/node_modules/@npmcli/move-file/README.md +0 -69
- package/node_modules/@npmcli/move-file/lib/index.js +0 -185
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
- package/node_modules/@npmcli/move-file/package.json +0 -47
- package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
- package/node_modules/balanced-match/LICENSE.md +0 -21
- package/node_modules/balanced-match/README.md +0 -97
- package/node_modules/balanced-match/index.js +0 -62
- package/node_modules/balanced-match/package.json +0 -48
- package/node_modules/concat-map/.travis.yml +0 -4
- package/node_modules/concat-map/LICENSE +0 -18
- package/node_modules/concat-map/README.markdown +0 -62
- package/node_modules/concat-map/example/map.js +0 -6
- package/node_modules/concat-map/index.js +0 -13
- package/node_modules/concat-map/package.json +0 -43
- package/node_modules/concat-map/test/map.js +0 -39
- package/node_modules/fs.realpath/LICENSE +0 -43
- package/node_modules/fs.realpath/README.md +0 -33
- package/node_modules/fs.realpath/index.js +0 -66
- package/node_modules/fs.realpath/old.js +0 -303
- package/node_modules/fs.realpath/package.json +0 -26
- package/node_modules/inflight/LICENSE +0 -15
- package/node_modules/inflight/README.md +0 -37
- package/node_modules/inflight/inflight.js +0 -54
- package/node_modules/inflight/package.json +0 -29
- package/node_modules/inherits/LICENSE +0 -16
- package/node_modules/inherits/README.md +0 -42
- package/node_modules/inherits/inherits.js +0 -9
- package/node_modules/inherits/inherits_browser.js +0 -27
- package/node_modules/inherits/package.json +0 -29
- package/node_modules/once/LICENSE +0 -15
- package/node_modules/once/README.md +0 -79
- package/node_modules/once/once.js +0 -42
- package/node_modules/once/package.json +0 -33
- package/node_modules/path-is-absolute/index.js +0 -20
- package/node_modules/path-is-absolute/license +0 -21
- package/node_modules/path-is-absolute/package.json +0 -43
- package/node_modules/path-is-absolute/readme.md +0 -59
- package/node_modules/rimraf/LICENSE +0 -15
- package/node_modules/rimraf/README.md +0 -101
- package/node_modules/rimraf/bin.js +0 -68
- package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
- package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
- package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
- package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
- package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
- package/node_modules/rimraf/node_modules/glob/README.md +0 -378
- package/node_modules/rimraf/node_modules/glob/common.js +0 -238
- package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
- package/node_modules/rimraf/node_modules/glob/package.json +0 -55
- package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
- package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
- package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
- package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
- package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
- package/node_modules/rimraf/package.json +0 -32
- package/node_modules/rimraf/rimraf.js +0 -360
- package/node_modules/stringify-package/LICENSE +0 -13
- package/node_modules/stringify-package/README.md +0 -55
- package/node_modules/stringify-package/index.js +0 -18
- package/node_modules/stringify-package/package.json +0 -38
- package/node_modules/wrappy/LICENSE +0 -15
- package/node_modules/wrappy/README.md +0 -36
- package/node_modules/wrappy/package.json +0 -29
- package/node_modules/wrappy/wrappy.js +0 -33
package/lib/config.js
CHANGED
|
@@ -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.StaticConfig = exports.Configuration = void 0;
|
|
13
4
|
const path = require("path");
|
|
@@ -70,16 +61,14 @@ class StaticConfig {
|
|
|
70
61
|
get PATH_TO_BOOTSTRAP() {
|
|
71
62
|
return path.join(__dirname, "bootstrap.js");
|
|
72
63
|
}
|
|
73
|
-
getAdbFilePath() {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
(
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
return this._adbFilePath;
|
|
82
|
-
});
|
|
64
|
+
async getAdbFilePath() {
|
|
65
|
+
if (!this._adbFilePath) {
|
|
66
|
+
const androidToolsInfo = this.$injector.resolve("androidToolsInfo");
|
|
67
|
+
this._adbFilePath =
|
|
68
|
+
(await androidToolsInfo.getPathToAdbFromAndroidHome()) ||
|
|
69
|
+
(await this.getAdbFilePathCore());
|
|
70
|
+
}
|
|
71
|
+
return this._adbFilePath;
|
|
83
72
|
}
|
|
84
73
|
get USER_AGENT_NAME() {
|
|
85
74
|
if (!this._userAgent) {
|
|
@@ -99,23 +88,21 @@ class StaticConfig {
|
|
|
99
88
|
get HTML_COMMON_HELPERS_DIR() {
|
|
100
89
|
return path.join(__dirname, "common", "docs", "helpers");
|
|
101
90
|
}
|
|
102
|
-
getAdbFilePathCore() {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
return yield this.spawnPrivateAdb();
|
|
110
|
-
}
|
|
91
|
+
async getAdbFilePathCore() {
|
|
92
|
+
const $childProcess = this.$injector.resolve("$childProcess");
|
|
93
|
+
try {
|
|
94
|
+
// Do NOT use the adb wrapper because it will end blow up with Segmentation fault because the wrapper uses this method!!!
|
|
95
|
+
const proc = await $childProcess.spawnFromEvent("adb", ["version"], "exit", undefined, { throwError: false });
|
|
96
|
+
if (proc.stderr) {
|
|
97
|
+
return await this.spawnPrivateAdb();
|
|
111
98
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
99
|
+
}
|
|
100
|
+
catch (e) {
|
|
101
|
+
if (e.code === "ENOENT") {
|
|
102
|
+
return await this.spawnPrivateAdb();
|
|
116
103
|
}
|
|
117
|
-
|
|
118
|
-
|
|
104
|
+
}
|
|
105
|
+
return "adb";
|
|
119
106
|
}
|
|
120
107
|
/*
|
|
121
108
|
Problem:
|
|
@@ -128,29 +115,27 @@ class StaticConfig {
|
|
|
128
115
|
- Tie common lib version to updates of adb, so that when we integrate a newer adb we can use it
|
|
129
116
|
- Adb is named differently on OSes and may have additional files. The code is hairy to accommodate these differences
|
|
130
117
|
*/
|
|
131
|
-
spawnPrivateAdb() {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
shelljs.chmod("+x", targetAdb);
|
|
148
|
-
}
|
|
118
|
+
async spawnPrivateAdb() {
|
|
119
|
+
const $fs = this.$injector.resolve("$fs"), $childProcess = this.$injector.resolve("$childProcess"), $hostInfo = this.$injector.resolve("$hostInfo");
|
|
120
|
+
// prepare the directory to host our copy of adb
|
|
121
|
+
const defaultAdbDirPath = path.join(__dirname, "common", "resources", "platform-tools", "android", process.platform);
|
|
122
|
+
const pathToPackageJson = path.join(__dirname, "..", "package.json");
|
|
123
|
+
const nsCliVersion = require(pathToPackageJson).version;
|
|
124
|
+
const tmpDir = path.join(os.tmpdir(), `nativescript-cli-${nsCliVersion}`);
|
|
125
|
+
$fs.createDirectory(tmpDir);
|
|
126
|
+
// copy the adb and associated files
|
|
127
|
+
const targetAdb = path.join(tmpDir, "adb");
|
|
128
|
+
// In case directory is missing or it's empty, copy the new adb
|
|
129
|
+
if (!$fs.exists(tmpDir) || !$fs.readDirectory(tmpDir).length) {
|
|
130
|
+
shelljs.cp(path.join(defaultAdbDirPath, "*"), tmpDir); // deliberately ignore copy errors
|
|
131
|
+
// adb loses its executable bit when packed inside electron asar file. Manually fix the issue
|
|
132
|
+
if (!$hostInfo.isWindows) {
|
|
133
|
+
shelljs.chmod("+x", targetAdb);
|
|
149
134
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
135
|
+
}
|
|
136
|
+
// let adb start its global server
|
|
137
|
+
await $childProcess.spawnFromEvent(targetAdb, ["start-server"], "exit");
|
|
138
|
+
return targetAdb;
|
|
154
139
|
}
|
|
155
140
|
}
|
|
156
141
|
exports.StaticConfig = StaticConfig;
|
package/lib/constants.js
CHANGED
|
@@ -76,23 +76,23 @@ exports.IOS_WATCHAPP_FOLDER = "watchapp";
|
|
|
76
76
|
exports.IOS_WATCHAPP_EXTENSION_FOLDER = "watchextension";
|
|
77
77
|
class MetadataFilteringConstants {
|
|
78
78
|
}
|
|
79
|
+
exports.MetadataFilteringConstants = MetadataFilteringConstants;
|
|
79
80
|
MetadataFilteringConstants.NATIVE_API_USAGE_FILE_NAME = "native-api-usage.json";
|
|
80
81
|
MetadataFilteringConstants.WHITELIST_FILE_NAME = "whitelist.mdg";
|
|
81
82
|
MetadataFilteringConstants.BLACKLIST_FILE_NAME = "blacklist.mdg";
|
|
82
|
-
exports.MetadataFilteringConstants = MetadataFilteringConstants;
|
|
83
83
|
class PackageVersion {
|
|
84
84
|
}
|
|
85
|
+
exports.PackageVersion = PackageVersion;
|
|
85
86
|
PackageVersion.NEXT = "next";
|
|
86
87
|
PackageVersion.LATEST = "latest";
|
|
87
88
|
PackageVersion.RC = "rc";
|
|
88
|
-
exports.PackageVersion = PackageVersion;
|
|
89
89
|
const liveSyncOperation = "LiveSync Operation";
|
|
90
90
|
class LiveSyncTrackActionNames {
|
|
91
91
|
}
|
|
92
|
+
exports.LiveSyncTrackActionNames = LiveSyncTrackActionNames;
|
|
92
93
|
LiveSyncTrackActionNames.LIVESYNC_OPERATION = liveSyncOperation;
|
|
93
94
|
LiveSyncTrackActionNames.LIVESYNC_OPERATION_BUILD = `${liveSyncOperation} - Build`;
|
|
94
95
|
LiveSyncTrackActionNames.DEVICE_INFO = `Device Info for ${liveSyncOperation}`;
|
|
95
|
-
exports.LiveSyncTrackActionNames = LiveSyncTrackActionNames;
|
|
96
96
|
exports.PackageJsonKeysToKeep = [
|
|
97
97
|
"name",
|
|
98
98
|
"main",
|
|
@@ -118,13 +118,14 @@ exports.TemplatesV2PackageJsonKeysToRemove = [
|
|
|
118
118
|
];
|
|
119
119
|
class SaveOptions {
|
|
120
120
|
}
|
|
121
|
+
exports.SaveOptions = SaveOptions;
|
|
121
122
|
SaveOptions.PRODUCTION = "save";
|
|
122
123
|
SaveOptions.DEV = "save-dev";
|
|
123
124
|
SaveOptions.OPTIONAL = "save-optional";
|
|
124
125
|
SaveOptions.EXACT = "save-exact";
|
|
125
|
-
exports.SaveOptions = SaveOptions;
|
|
126
126
|
class ReleaseType {
|
|
127
127
|
}
|
|
128
|
+
exports.ReleaseType = ReleaseType;
|
|
128
129
|
ReleaseType.MAJOR = "major";
|
|
129
130
|
ReleaseType.PREMAJOR = "premajor";
|
|
130
131
|
ReleaseType.MINOR = "minor";
|
|
@@ -132,7 +133,6 @@ ReleaseType.PREMINOR = "preminor";
|
|
|
132
133
|
ReleaseType.PATCH = "patch";
|
|
133
134
|
ReleaseType.PREPATCH = "prepatch";
|
|
134
135
|
ReleaseType.PRERELEASE = "prerelease";
|
|
135
|
-
exports.ReleaseType = ReleaseType;
|
|
136
136
|
exports.RESERVED_TEMPLATE_NAMES = {
|
|
137
137
|
default: "@nativescript/template-hello-world",
|
|
138
138
|
javascript: "@nativescript/template-hello-world",
|
|
@@ -158,6 +158,7 @@ exports.RESERVED_TEMPLATE_NAMES = {
|
|
|
158
158
|
exports.ANALYTICS_LOCAL_TEMPLATE_PREFIX = "localTemplate_";
|
|
159
159
|
class ITMSConstants {
|
|
160
160
|
}
|
|
161
|
+
exports.ITMSConstants = ITMSConstants;
|
|
161
162
|
ITMSConstants.ApplicationMetadataFile = "metadata.xml";
|
|
162
163
|
ITMSConstants.VerboseLoggingLevels = {
|
|
163
164
|
Informational: "informational",
|
|
@@ -166,7 +167,6 @@ ITMSConstants.VerboseLoggingLevels = {
|
|
|
166
167
|
ITMSConstants.iTMSExecutableName = "iTMSTransporter";
|
|
167
168
|
ITMSConstants.iTMSDirectoryName = "itms";
|
|
168
169
|
ITMSConstants.altoolExecutableName = "altool";
|
|
169
|
-
exports.ITMSConstants = ITMSConstants;
|
|
170
170
|
class ItunesConnectApplicationTypesClass {
|
|
171
171
|
constructor() {
|
|
172
172
|
this.iOS = "iOS App";
|
|
@@ -192,6 +192,7 @@ exports.TsFlavorName = "Plain TypeScript";
|
|
|
192
192
|
exports.JsFlavorName = "Plain JavaScript";
|
|
193
193
|
class ProjectTypes {
|
|
194
194
|
}
|
|
195
|
+
exports.ProjectTypes = ProjectTypes;
|
|
195
196
|
ProjectTypes.NgFlavorName = exports.NgFlavorName;
|
|
196
197
|
ProjectTypes.VueFlavorName = exports.VueFlavorName;
|
|
197
198
|
ProjectTypes.TsFlavorName = "Pure TypeScript";
|
|
@@ -199,7 +200,6 @@ ProjectTypes.JsFlavorName = "Pure JavaScript";
|
|
|
199
200
|
ProjectTypes.ReactFlavorName = "React";
|
|
200
201
|
ProjectTypes.SolidFlavorName = "Solid";
|
|
201
202
|
ProjectTypes.SvelteFlavorName = "Svelte";
|
|
202
|
-
exports.ProjectTypes = ProjectTypes;
|
|
203
203
|
exports.BUILD_OUTPUT_EVENT_NAME = "buildOutput";
|
|
204
204
|
exports.CONNECTION_ERROR_EVENT_NAME = "connectionError";
|
|
205
205
|
exports.USER_INTERACTION_NEEDED_EVENT_NAME = "userInteractionNeeded";
|
|
@@ -218,10 +218,10 @@ exports.PREPARE_READY_EVENT_NAME = "prepareReadyEvent";
|
|
|
218
218
|
exports.WEBPACK_COMPILATION_COMPLETE = "webpackCompilationComplete";
|
|
219
219
|
class DebugCommandErrors {
|
|
220
220
|
}
|
|
221
|
+
exports.DebugCommandErrors = DebugCommandErrors;
|
|
221
222
|
DebugCommandErrors.UNABLE_TO_USE_FOR_DEVICE_AND_EMULATOR = "The options --for-device and --emulator cannot be used simultaneously. Please use only one of them.";
|
|
222
223
|
DebugCommandErrors.NO_DEVICES_EMULATORS_FOUND_FOR_OPTIONS = "Unable to find device or emulator for specified options.";
|
|
223
224
|
DebugCommandErrors.UNSUPPORTED_DEVICE_OS_FOR_DEBUGGING = "Unsupported device OS for debugging";
|
|
224
|
-
exports.DebugCommandErrors = DebugCommandErrors;
|
|
225
225
|
exports.AnalyticsEventLabelDelimiter = "__";
|
|
226
226
|
/**
|
|
227
227
|
* Used in ProjectDataService to concatenate the names of the properties inside nativescript key of package.json.
|
|
@@ -230,6 +230,7 @@ exports.NATIVESCRIPT_PROPS_INTERNAL_DELIMITER = "**|__**";
|
|
|
230
230
|
exports.CLI_RESOURCES_DIR_NAME = "resources";
|
|
231
231
|
class AssetConstants {
|
|
232
232
|
}
|
|
233
|
+
exports.AssetConstants = AssetConstants;
|
|
233
234
|
AssetConstants.iOSResourcesFileName = "Contents.json";
|
|
234
235
|
AssetConstants.iOSAssetsDirName = "Assets.xcassets";
|
|
235
236
|
AssetConstants.iOSIconsDirName = "AppIcon.appiconset";
|
|
@@ -241,15 +242,14 @@ AssetConstants.assets = "assets";
|
|
|
241
242
|
AssetConstants.sizeDelimiter = "x";
|
|
242
243
|
AssetConstants.defaultScale = 1;
|
|
243
244
|
AssetConstants.defaultOverlayImageScale = 0.8;
|
|
244
|
-
exports.AssetConstants = AssetConstants;
|
|
245
245
|
// https://en.wikipedia.org/wiki/Darwin_(operating_system)#Release_history
|
|
246
246
|
class MacOSVersions {
|
|
247
247
|
}
|
|
248
|
+
exports.MacOSVersions = MacOSVersions;
|
|
248
249
|
MacOSVersions.Sierra = "10.12";
|
|
249
250
|
MacOSVersions.HighSierra = "10.13";
|
|
250
251
|
MacOSVersions.Mojave = "10.14";
|
|
251
252
|
MacOSVersions.Catalina = "10.15";
|
|
252
|
-
exports.MacOSVersions = MacOSVersions;
|
|
253
253
|
exports.MacOSDeprecationStringFormat = "NativeScript does not support macOS %s and some functionality may not work. Please, upgrade to the latest macOS version.";
|
|
254
254
|
exports.XcodeDeprecationStringFormat = "The current Xcode version %s will not be supported in the next release of NativeScript. Consider updating your Xcode to latest official version.";
|
|
255
255
|
// export class TemplateVersions {
|
|
@@ -262,42 +262,42 @@ exports.XcodeDeprecationStringFormat = "The current Xcode version %s will not be
|
|
|
262
262
|
// }
|
|
263
263
|
class Hooks {
|
|
264
264
|
}
|
|
265
|
-
Hooks.createProject = "createProject";
|
|
266
265
|
exports.Hooks = Hooks;
|
|
266
|
+
Hooks.createProject = "createProject";
|
|
267
267
|
class AndroidBuildDefaults {
|
|
268
268
|
}
|
|
269
|
+
exports.AndroidBuildDefaults = AndroidBuildDefaults;
|
|
269
270
|
AndroidBuildDefaults.GradleVersion = "7.4.0";
|
|
270
271
|
AndroidBuildDefaults.GradleAndroidPluginVersion = "7.1.2";
|
|
271
|
-
exports.AndroidBuildDefaults = AndroidBuildDefaults;
|
|
272
272
|
exports.PACKAGE_PLACEHOLDER_NAME = "__PACKAGE__";
|
|
273
273
|
class AddPlaformErrors {
|
|
274
274
|
}
|
|
275
|
-
AddPlaformErrors.InvalidFrameworkPathStringFormat = "Invalid frameworkPath: %s. Please ensure the specified frameworkPath exists.";
|
|
276
275
|
exports.AddPlaformErrors = AddPlaformErrors;
|
|
276
|
+
AddPlaformErrors.InvalidFrameworkPathStringFormat = "Invalid frameworkPath: %s. Please ensure the specified frameworkPath exists.";
|
|
277
277
|
exports.PLUGIN_BUILD_DATA_FILENAME = "plugin-data.json";
|
|
278
278
|
exports.PLUGINS_BUILD_DATA_FILENAME = ".ns-plugins-build-data.json";
|
|
279
279
|
exports.PODFILE_NAME = "Podfile";
|
|
280
280
|
exports.EXTENSION_PROVISIONING_FILENAME = "provisioning.json";
|
|
281
281
|
class IosProjectConstants {
|
|
282
282
|
}
|
|
283
|
+
exports.IosProjectConstants = IosProjectConstants;
|
|
283
284
|
IosProjectConstants.XcodeProjExtName = ".xcodeproj";
|
|
284
285
|
IosProjectConstants.XcodeSchemeExtName = ".xcscheme";
|
|
285
|
-
exports.IosProjectConstants = IosProjectConstants;
|
|
286
286
|
class BundleValidatorMessages {
|
|
287
287
|
}
|
|
288
|
-
BundleValidatorMessages.MissingBundlePlugin = "Passing --bundle requires a bundling plugin. No bundling plugin found or the specified bundling plugin is invalid.";
|
|
289
288
|
exports.BundleValidatorMessages = BundleValidatorMessages;
|
|
289
|
+
BundleValidatorMessages.MissingBundlePlugin = "Passing --bundle requires a bundling plugin. No bundling plugin found or the specified bundling plugin is invalid.";
|
|
290
290
|
class AndroidBundleValidatorMessages {
|
|
291
291
|
}
|
|
292
|
+
exports.AndroidBundleValidatorMessages = AndroidBundleValidatorMessages;
|
|
292
293
|
AndroidBundleValidatorMessages.AAB_NOT_SUPPORTED_BY_COMMNAND_MESSAGE = "This command does not support --aab (Android App Bundle) parameter.";
|
|
293
294
|
AndroidBundleValidatorMessages.NOT_SUPPORTED_RUNTIME_VERSION = "Android App Bundle (--aab) option requires NativeScript Android Runtime (tns-android) version %s and above.";
|
|
294
295
|
AndroidBundleValidatorMessages.NOT_SUPPORTED_ANDROID_VERSION = "Cannot use the Android App Bundle (--aab) option on device '%s' with Android '%s'. The --aab options is supported on Android '%s' and above.";
|
|
295
|
-
exports.AndroidBundleValidatorMessages = AndroidBundleValidatorMessages;
|
|
296
296
|
class AndroidAppBundleMessages {
|
|
297
297
|
}
|
|
298
|
+
exports.AndroidAppBundleMessages = AndroidAppBundleMessages;
|
|
298
299
|
AndroidAppBundleMessages.ANDROID_APP_BUNDLE_DOCS_MESSAGE = "What is Android App Bundle: https://docs.nativescript.org/tooling/publishing/android-app-bundle";
|
|
299
300
|
AndroidAppBundleMessages.ANDROID_APP_BUNDLE_PUBLISH_DOCS_MESSAGE = "How to use Android App Bundle for publishing: https://docs.nativescript.org/tooling/publishing/publishing-android-apps#android-app-bundle";
|
|
300
|
-
exports.AndroidAppBundleMessages = AndroidAppBundleMessages;
|
|
301
301
|
exports.RunOnDeviceEvents = {
|
|
302
302
|
runOnDeviceStopped: "runOnDeviceStopped",
|
|
303
303
|
// In case we name it error, EventEmitter expects instance of Error to be raised and will also raise uncaught exception in case there's no handler
|
|
@@ -310,19 +310,19 @@ var IOSDeviceTargets;
|
|
|
310
310
|
(function (IOSDeviceTargets) {
|
|
311
311
|
IOSDeviceTargets["ios"] = "1,2";
|
|
312
312
|
IOSDeviceTargets[IOSDeviceTargets["watchos"] = 4] = "watchos";
|
|
313
|
-
})(IOSDeviceTargets
|
|
313
|
+
})(IOSDeviceTargets || (exports.IOSDeviceTargets = IOSDeviceTargets = {}));
|
|
314
314
|
var IOSNativeTargetProductTypes;
|
|
315
315
|
(function (IOSNativeTargetProductTypes) {
|
|
316
316
|
IOSNativeTargetProductTypes["watchApp"] = "com.apple.product-type.application.watchapp2";
|
|
317
317
|
IOSNativeTargetProductTypes["watchExtension"] = "com.apple.product-type.watchkit2-extension";
|
|
318
318
|
IOSNativeTargetProductTypes["appExtension"] = "com.apple.product-type.app-extension";
|
|
319
|
-
})(IOSNativeTargetProductTypes
|
|
319
|
+
})(IOSNativeTargetProductTypes || (exports.IOSNativeTargetProductTypes = IOSNativeTargetProductTypes = {}));
|
|
320
320
|
var IOSNativeTargetTypes;
|
|
321
321
|
(function (IOSNativeTargetTypes) {
|
|
322
322
|
IOSNativeTargetTypes["watchApp"] = "watch_app";
|
|
323
323
|
IOSNativeTargetTypes["watchExtension"] = "watch_extension";
|
|
324
324
|
IOSNativeTargetTypes["appExtension"] = "app_extension";
|
|
325
|
-
})(IOSNativeTargetTypes
|
|
325
|
+
})(IOSNativeTargetTypes || (exports.IOSNativeTargetTypes = IOSNativeTargetTypes = {}));
|
|
326
326
|
const pathToLoggerAppendersDir = (0, path_1.join)(__dirname, "common", "logger", "appenders");
|
|
327
327
|
exports.LoggerAppenders = {
|
|
328
328
|
emitAppender: (0, path_1.join)(pathToLoggerAppendersDir, "emit-appender"),
|
|
@@ -334,7 +334,7 @@ var DeviceConnectionType;
|
|
|
334
334
|
DeviceConnectionType[DeviceConnectionType["USB"] = 1] = "USB";
|
|
335
335
|
DeviceConnectionType[DeviceConnectionType["Wifi"] = 2] = "Wifi";
|
|
336
336
|
DeviceConnectionType[DeviceConnectionType["Local"] = 10] = "Local";
|
|
337
|
-
})(DeviceConnectionType
|
|
337
|
+
})(DeviceConnectionType || (exports.DeviceConnectionType = DeviceConnectionType = {}));
|
|
338
338
|
var LoggerLevel;
|
|
339
339
|
(function (LoggerLevel) {
|
|
340
340
|
/**
|
|
@@ -384,13 +384,13 @@ var LoggerLevel;
|
|
|
384
384
|
* If you do not specify anything in your configuration, the default values are used (ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < MARK < OFF)
|
|
385
385
|
*/
|
|
386
386
|
LoggerLevel["OFF"] = "OFF";
|
|
387
|
-
})(LoggerLevel
|
|
387
|
+
})(LoggerLevel || (exports.LoggerLevel = LoggerLevel = {}));
|
|
388
388
|
var LoggerConfigData;
|
|
389
389
|
(function (LoggerConfigData) {
|
|
390
390
|
LoggerConfigData["useStderr"] = "useStderr";
|
|
391
391
|
LoggerConfigData["wrapMessageWithBorders"] = "wrapMessageWithBorders";
|
|
392
392
|
LoggerConfigData["skipNewLine"] = "skipNewLine";
|
|
393
|
-
})(LoggerConfigData
|
|
393
|
+
})(LoggerConfigData || (exports.LoggerConfigData = LoggerConfigData = {}));
|
|
394
394
|
exports.EMIT_APPENDER_EVENT_NAME = "logData";
|
|
395
395
|
var PackageManagers;
|
|
396
396
|
(function (PackageManagers) {
|
|
@@ -399,5 +399,5 @@ var PackageManagers;
|
|
|
399
399
|
PackageManagers["yarn"] = "yarn";
|
|
400
400
|
PackageManagers["yarn2"] = "yarn2";
|
|
401
401
|
PackageManagers["bun"] = "bun";
|
|
402
|
-
})(PackageManagers
|
|
402
|
+
})(PackageManagers || (exports.PackageManagers = PackageManagers = {}));
|
|
403
403
|
//# sourceMappingURL=constants.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.BuildController = void 0;
|
|
13
4
|
const constants = require("../constants");
|
|
@@ -33,100 +24,92 @@ class BuildController extends events_1.EventEmitter {
|
|
|
33
24
|
get $platformsDataService() {
|
|
34
25
|
return this.$injector.resolve("platformsDataService");
|
|
35
26
|
}
|
|
36
|
-
prepareAndBuild(buildData) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
return result;
|
|
41
|
-
});
|
|
27
|
+
async prepareAndBuild(buildData) {
|
|
28
|
+
await this.$prepareController.prepare(buildData);
|
|
29
|
+
const result = await this.build(buildData);
|
|
30
|
+
return result;
|
|
42
31
|
}
|
|
43
|
-
build(buildData) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
: "Incremental" /* constants.BuildStates.Incremental */}`,
|
|
62
|
-
});
|
|
63
|
-
if (buildData.clean) {
|
|
64
|
-
yield platformData.platformProjectService.cleanProject(platformData.projectRoot);
|
|
65
|
-
}
|
|
66
|
-
const handler = (data) => {
|
|
67
|
-
this.emit(constants.BUILD_OUTPUT_EVENT_NAME, data);
|
|
68
|
-
this.$logger.info(data.data.toString(), {
|
|
69
|
-
[constants.LoggerConfigData.skipNewLine]: true,
|
|
70
|
-
});
|
|
71
|
-
};
|
|
72
|
-
yield (0, helpers_1.attachAwaitDetach)(constants.BUILD_OUTPUT_EVENT_NAME, platformData.platformProjectService, handler, platformData.platformProjectService.buildProject(platformData.projectRoot, projectData, buildData));
|
|
73
|
-
const buildInfoFileDir = platformData.getBuildOutputPath(buildData);
|
|
74
|
-
this.$buildInfoFileService.saveLocalBuildInfo(platformData, buildInfoFileDir);
|
|
75
|
-
const endTime = perf_hooks_1.performance.now();
|
|
76
|
-
const buildTime = (endTime - startTime) / 1000;
|
|
77
|
-
this.$logger.info("Project successfully built.");
|
|
78
|
-
this.$logger.info(`Build time: ${buildTime.toFixed(3)} s.`);
|
|
79
|
-
const result = yield this.$buildArtifactsService.getLatestAppPackagePath(platformData, buildData);
|
|
80
|
-
if (buildData.copyTo) {
|
|
81
|
-
this.$buildArtifactsService.copyLatestAppPackage(buildData.copyTo, platformData, buildData);
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
this.$logger.info(`The build result is located at: ${result}`);
|
|
85
|
-
}
|
|
86
|
-
return result;
|
|
32
|
+
async build(buildData) {
|
|
33
|
+
this.$logger.info("Building project...");
|
|
34
|
+
const startTime = perf_hooks_1.performance.now();
|
|
35
|
+
const platform = buildData.platform.toLowerCase();
|
|
36
|
+
const projectData = this.$projectDataService.getProjectData(buildData.projectDir);
|
|
37
|
+
const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
|
|
38
|
+
const action = "Build" /* constants.TrackActionNames.Build */;
|
|
39
|
+
const isForDevice = this.$mobileHelper.isAndroidPlatform(platform)
|
|
40
|
+
? null
|
|
41
|
+
: buildData && buildData.buildForDevice;
|
|
42
|
+
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
43
|
+
action,
|
|
44
|
+
isForDevice,
|
|
45
|
+
platform,
|
|
46
|
+
projectDir: projectData.projectDir,
|
|
47
|
+
additionalData: `${buildData.release ? constants_1.Configurations.Release : constants_1.Configurations.Debug}_${buildData.clean
|
|
48
|
+
? "Clean" /* constants.BuildStates.Clean */
|
|
49
|
+
: "Incremental" /* constants.BuildStates.Incremental */}`,
|
|
87
50
|
});
|
|
51
|
+
if (buildData.clean) {
|
|
52
|
+
await platformData.platformProjectService.cleanProject(platformData.projectRoot);
|
|
53
|
+
}
|
|
54
|
+
const handler = (data) => {
|
|
55
|
+
this.emit(constants.BUILD_OUTPUT_EVENT_NAME, data);
|
|
56
|
+
this.$logger.info(data.data.toString(), {
|
|
57
|
+
[constants.LoggerConfigData.skipNewLine]: true,
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
await (0, helpers_1.attachAwaitDetach)(constants.BUILD_OUTPUT_EVENT_NAME, platformData.platformProjectService, handler, platformData.platformProjectService.buildProject(platformData.projectRoot, projectData, buildData));
|
|
61
|
+
const buildInfoFileDir = platformData.getBuildOutputPath(buildData);
|
|
62
|
+
this.$buildInfoFileService.saveLocalBuildInfo(platformData, buildInfoFileDir);
|
|
63
|
+
const endTime = perf_hooks_1.performance.now();
|
|
64
|
+
const buildTime = (endTime - startTime) / 1000;
|
|
65
|
+
this.$logger.info("Project successfully built.");
|
|
66
|
+
this.$logger.info(`Build time: ${buildTime.toFixed(3)} s.`);
|
|
67
|
+
const result = await this.$buildArtifactsService.getLatestAppPackagePath(platformData, buildData);
|
|
68
|
+
if (buildData.copyTo) {
|
|
69
|
+
this.$buildArtifactsService.copyLatestAppPackage(buildData.copyTo, platformData, buildData);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this.$logger.info(`The build result is located at: ${result}`);
|
|
73
|
+
}
|
|
74
|
+
return result;
|
|
88
75
|
}
|
|
89
|
-
buildIfNeeded(buildData) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
return result;
|
|
97
|
-
});
|
|
76
|
+
async buildIfNeeded(buildData) {
|
|
77
|
+
let result = null;
|
|
78
|
+
const shouldBuildPlatform = await this.shouldBuild(buildData);
|
|
79
|
+
if (shouldBuildPlatform) {
|
|
80
|
+
result = await this.build(buildData);
|
|
81
|
+
}
|
|
82
|
+
return result;
|
|
98
83
|
}
|
|
99
|
-
shouldBuild(buildData) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
return prepareInfo.changesRequireBuildTime !== buildInfo.prepareTime;
|
|
129
|
-
});
|
|
84
|
+
async shouldBuild(buildData) {
|
|
85
|
+
const projectData = this.$projectDataService.getProjectData(buildData.projectDir);
|
|
86
|
+
const platformData = this.$platformsDataService.getPlatformData(buildData.platform, projectData);
|
|
87
|
+
const outputPath = buildData.outputPath || platformData.getBuildOutputPath(buildData);
|
|
88
|
+
const changesInfo = this.$projectChangesService.currentChanges ||
|
|
89
|
+
(await this.$projectChangesService.checkForChanges(platformData, projectData, buildData));
|
|
90
|
+
if (changesInfo.changesRequireBuild) {
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
if (!this.$fs.exists(outputPath)) {
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
const validBuildOutputData = platformData.getValidBuildOutputData(buildData);
|
|
97
|
+
const packages = this.$buildArtifactsService.getAllAppPackages(outputPath, validBuildOutputData);
|
|
98
|
+
if (packages.length === 0) {
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
const prepareInfo = this.$projectChangesService.getPrepareInfo(platformData);
|
|
102
|
+
const buildInfo = this.$buildInfoFileService.getLocalBuildInfo(platformData, buildData);
|
|
103
|
+
if (!prepareInfo || !buildInfo) {
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
if (buildData.clean) {
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
if (prepareInfo.time === buildInfo.prepareTime) {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
return prepareInfo.changesRequireBuildTime !== buildInfo.prepareTime;
|
|
130
113
|
}
|
|
131
114
|
}
|
|
132
115
|
exports.BuildController = BuildController;
|