@akylas/nativescript-cli 8.8.2 → 8.8.3
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/lib/android-tools-info.js +9 -20
- package/lib/base-package-manager.js +47 -64
- package/lib/bun-package-manager.js +65 -88
- package/lib/color.js +2 -2
- 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 +55 -68
- package/lib/commands/build.js +57 -86
- package/lib/commands/clean.js +161 -176
- package/lib/commands/command-base.js +14 -27
- package/lib/commands/config.js +51 -70
- package/lib/commands/create-project.js +210 -229
- package/lib/commands/debug.js +66 -88
- package/lib/commands/deploy.js +28 -44
- package/lib/commands/embedding/embed.js +33 -52
- 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 +17 -26
- 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 +34 -39
- package/lib/commands/plugin/create-plugin.js +110 -133
- package/lib/commands/plugin/list-plugins.js +22 -33
- package/lib/commands/plugin/remove-plugin.js +20 -33
- package/lib/commands/plugin/update-plugin.js +20 -33
- package/lib/commands/post-install.js +20 -33
- package/lib/commands/prepare.js +19 -35
- package/lib/commands/preview.js +49 -62
- package/lib/commands/remove-platform.js +7 -18
- package/lib/commands/resources/resources-update.js +13 -26
- package/lib/commands/run.js +55 -76
- package/lib/commands/start.js +6 -19
- package/lib/commands/test-init.js +123 -134
- package/lib/commands/test.js +66 -89
- package/lib/commands/typings.js +126 -142
- package/lib/commands/update-platform.js +22 -35
- package/lib/commands/update.js +30 -43
- 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 +27 -40
- package/lib/common/commands/autocompletion.js +39 -56
- package/lib/common/commands/device/device-log-stream.js +12 -23
- package/lib/common/commands/device/get-file.js +22 -33
- 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 +23 -34
- package/lib/common/commands/device/put-file.js +22 -33
- 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 +23 -38
- package/lib/common/commands/proxy/proxy-base.js +8 -19
- 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 +79 -96
- package/lib/common/errors.js +89 -104
- package/lib/common/file-system.js +106 -127
- package/lib/common/header.js +1 -2
- package/lib/common/helpers.js +149 -178
- package/lib/common/host-info.js +37 -50
- package/lib/common/http-client.js +93 -108
- 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 +1 -1
- package/lib/common/mobile/android/android-application-manager.js +121 -142
- package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
- package/lib/common/mobile/android/android-debug-bridge.js +87 -112
- package/lib/common/mobile/android/android-device-file-system.js +98 -131
- package/lib/common/mobile/android/android-device-hash-service.js +50 -75
- package/lib/common/mobile/android/android-device.js +74 -91
- 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 +76 -97
- package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
- package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
- package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
- package/lib/common/mobile/android/logcat-helper.js +108 -127
- package/lib/common/mobile/application-manager-base.js +84 -107
- 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 +105 -142
- 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 +63 -92
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
- package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
- 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 +43 -62
- package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
- package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
- package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
- package/lib/common/mobile/mobile-core/devices-service.js +385 -436
- package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
- 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/plist-parser.js +2 -2
- package/lib/common/prompter.js +90 -105
- package/lib/common/queue.js +9 -20
- package/lib/common/services/auto-completion-service.js +39 -52
- package/lib/common/services/cancellation.js +17 -28
- package/lib/common/services/commands-service.js +146 -169
- package/lib/common/services/help-service.js +132 -157
- package/lib/common/services/hooks-service.js +93 -108
- package/lib/common/services/ios-notification-service.js +21 -34
- package/lib/common/services/json-file-settings-service.js +52 -71
- 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 +4 -15
- package/lib/common/services/net-service.js +90 -107
- 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 +23 -36
- package/lib/config.js +7 -58
- package/lib/constants.js +24 -24
- package/lib/controllers/build-controller.js +82 -99
- package/lib/controllers/debug-controller.js +107 -128
- package/lib/controllers/deploy-controller.js +17 -22
- package/lib/controllers/migrate-controller.js +722 -795
- package/lib/controllers/platform-controller.js +72 -87
- package/lib/controllers/prepare-controller.js +266 -299
- package/lib/controllers/run-controller.js +392 -406
- package/lib/controllers/update-controller-base.js +16 -29
- package/lib/controllers/update-controller.js +94 -119
- package/lib/data/prepare-data.js +4 -1
- package/lib/definitions/ios-debugger-port-service.d.ts +1 -1
- package/lib/definitions/livesync.d.ts +1 -1
- 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 +149 -164
- package/lib/device-sockets/ios/notification.js +1 -1
- package/lib/device-sockets/ios/socket-request-executor.js +24 -39
- package/lib/helpers/android-bundle-validator-helper.js +1 -1
- package/lib/helpers/deploy-command-helper.js +45 -49
- package/lib/helpers/key-command-helper.js +4 -13
- package/lib/helpers/livesync-command-helper.js +137 -152
- 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 +99 -120
- package/lib/key-commands/index.js +161 -211
- package/lib/nativescript-cli.js +5 -14
- package/lib/node-package-manager.js +81 -104
- package/lib/options.js +3 -12
- package/lib/package-installation-manager.js +130 -165
- package/lib/package-manager.js +63 -86
- package/lib/platform-command-param.js +4 -15
- package/lib/pnpm-package-manager.js +59 -78
- 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 +161 -198
- 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 +9 -20
- package/lib/services/android/gradle-build-service.js +34 -47
- package/lib/services/android/gradle-command-service.js +22 -35
- package/lib/services/android-device-debug-service.js +90 -117
- package/lib/services/android-plugin-build-service.js +230 -256
- package/lib/services/android-project-service.js +163 -199
- package/lib/services/android-resources-migration-service.js +51 -64
- package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
- package/lib/services/apple-portal/apple-portal-session-service.js +171 -188
- package/lib/services/assets-generation/assets-generation-service.js +98 -115
- 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 +115 -136
- package/lib/services/device/device-install-app-service.js +73 -90
- package/lib/services/doctor-service.js +99 -118
- package/lib/services/extensibility-service.js +81 -100
- package/lib/services/files-hash-service.js +26 -43
- package/lib/services/hmr-status-service.js +1 -1
- package/lib/services/initialize-service.js +37 -50
- package/lib/services/ios/export-options-plist-service.js +38 -51
- package/lib/services/ios/ios-signing-service.js +161 -180
- package/lib/services/ios/spm-service.js +40 -53
- 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 +50 -69
- package/lib/services/ios-debugger-port-service.js +23 -36
- 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 +405 -460
- package/lib/services/ios-provision-service.js +108 -129
- package/lib/services/ios-watch-app-service.js +21 -32
- package/lib/services/ip-service.js +38 -53
- 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 +120 -149
- package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -152
- package/lib/services/livesync/android-livesync-service.js +14 -35
- package/lib/services/livesync/android-livesync-tool.js +89 -112
- package/lib/services/livesync/device-livesync-service-base.js +15 -28
- package/lib/services/livesync/ios-device-livesync-service.js +114 -143
- package/lib/services/livesync/ios-livesync-service.js +42 -58
- package/lib/services/livesync/platform-livesync-service-base.js +94 -119
- package/lib/services/log-parser-service.js +1 -1
- package/lib/services/log-source-map-service.js +30 -41
- package/lib/services/marking-mode-service.js +15 -28
- package/lib/services/npm-config-service.js +1 -1
- package/lib/services/pacote-service.js +49 -64
- package/lib/services/performance-service.js +1 -1
- package/lib/services/platform/add-platform-service.js +50 -71
- package/lib/services/platform/platform-validation-service.js +22 -33
- package/lib/services/platform/prepare-native-platform-service.js +49 -62
- package/lib/services/platform-environment-requirements.js +26 -37
- package/lib/services/plugins-service.js +122 -147
- package/lib/services/project-backup-service.js +1 -1
- package/lib/services/project-changes-service.js +124 -141
- package/lib/services/project-cleanup-service.js +64 -77
- package/lib/services/project-config-service.js +71 -80
- package/lib/services/project-data-service.js +101 -118
- package/lib/services/project-name-service.js +28 -43
- package/lib/services/project-service.js +84 -103
- 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 +13 -24
- package/lib/services/test-execution-service.js +59 -72
- package/lib/services/test-initialization-service.js +2 -2
- package/lib/services/timeline-profiler-service.js +1 -1
- package/lib/services/versions-service.js +119 -138
- package/lib/services/webpack/webpack-compiler-service.js +211 -231
- 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 +60 -79
- package/package.json +57 -55
- package/vendor/aab-tool/bundletool.jar +0 -0
- package/lib/common/resources/platform-tools/android/darwin/NOTICE.txt +0 -3407
- package/lib/common/resources/platform-tools/android/darwin/adb +0 -0
- package/lib/common/resources/platform-tools/android/linux/NOTICE.txt +0 -4451
- package/lib/common/resources/platform-tools/android/linux/adb +0 -0
- package/lib/common/resources/platform-tools/android/win32/AdbWinApi.dll +0 -0
- package/lib/common/resources/platform-tools/android/win32/AdbWinUsbApi.dll +0 -0
- package/lib/common/resources/platform-tools/android/win32/NOTICE.txt +0 -4451
- package/lib/common/resources/platform-tools/android/win32/adb.exe +0 -0
- package/lib/common/resources/platform-tools/android/win32/fastboot.exe +0 -0
|
@@ -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.IOSSigningService = void 0;
|
|
13
4
|
const path = require("path");
|
|
@@ -27,108 +18,102 @@ class IOSSigningService {
|
|
|
27
18
|
this.$xcconfigService = $xcconfigService;
|
|
28
19
|
this.$xcprojService = $xcprojService;
|
|
29
20
|
}
|
|
30
|
-
setupSigningForDevice(projectRoot, projectData, iOSBuildData) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
});
|
|
21
|
+
async setupSigningForDevice(projectRoot, projectData, iOSBuildData) {
|
|
22
|
+
const xcode = this.$pbxprojDomXcode.Xcode.open(this.getPbxProjPath(projectData, projectRoot));
|
|
23
|
+
const signing = xcode.getSigning(projectData.projectName);
|
|
24
|
+
const hasProvisioningProfileInXCConfig = this.readXCConfigProvisioningProfileSpecifierForIPhoneOs(projectData) ||
|
|
25
|
+
this.readXCConfigProvisioningProfileSpecifier(projectData) ||
|
|
26
|
+
this.readXCConfigProvisioningProfileForIPhoneOs(projectData) ||
|
|
27
|
+
this.readXCConfigProvisioningProfile(projectData);
|
|
28
|
+
if (hasProvisioningProfileInXCConfig &&
|
|
29
|
+
(!signing || signing.style !== "Manual")) {
|
|
30
|
+
xcode.setManualSigningStyle(projectData.projectName);
|
|
31
|
+
this.getExtensionNames(projectData).forEach((name) => {
|
|
32
|
+
xcode.setManualSigningStyle(name);
|
|
33
|
+
});
|
|
34
|
+
xcode.save();
|
|
35
|
+
}
|
|
36
|
+
else if (!iOSBuildData.provision &&
|
|
37
|
+
!(signing && signing.style === "Manual" && !iOSBuildData.teamId)) {
|
|
38
|
+
const teamId = await this.getDevelopmentTeam(projectData, projectRoot, iOSBuildData.teamId);
|
|
39
|
+
await this.setupSigningFromTeam(projectRoot, projectData, teamId);
|
|
40
|
+
}
|
|
52
41
|
}
|
|
53
|
-
setupSigningFromTeam(projectRoot, projectData, teamId) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
if (signing
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
shouldUpdateXcode = true;
|
|
63
|
-
}
|
|
42
|
+
async setupSigningFromTeam(projectRoot, projectData, teamId) {
|
|
43
|
+
const xcode = this.$pbxprojDomXcode.Xcode.open(this.getPbxProjPath(projectData, projectRoot));
|
|
44
|
+
const signing = xcode.getSigning(projectData.projectName);
|
|
45
|
+
let shouldUpdateXcode = false;
|
|
46
|
+
if (signing && signing.style === "Automatic") {
|
|
47
|
+
if (signing.team !== teamId) {
|
|
48
|
+
const teamIdsForName = await this.$iOSProvisionService.getTeamIdsWithName(teamId);
|
|
49
|
+
if (!teamIdsForName.some((id) => id === signing.team)) {
|
|
50
|
+
shouldUpdateXcode = true;
|
|
64
51
|
}
|
|
65
52
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
xcode.setAutomaticSigningStyle(projectData.projectName, teamId);
|
|
76
|
-
xcode.setAutomaticSigningStyleByTargetProductTypesList([
|
|
77
|
-
constants_1.IOSNativeTargetProductTypes.appExtension,
|
|
78
|
-
constants_1.IOSNativeTargetProductTypes.watchApp,
|
|
79
|
-
constants_1.IOSNativeTargetProductTypes.watchExtension,
|
|
80
|
-
], teamId);
|
|
81
|
-
this.getExtensionNames(projectData).forEach((name) => {
|
|
82
|
-
xcode.setAutomaticSigningStyle(name, teamId);
|
|
83
|
-
});
|
|
84
|
-
xcode.save();
|
|
85
|
-
this.$logger.trace(`Set Automatic signing style and team id ${teamId}.`);
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
this.$logger.trace(`The specified ${teamId} is already set in the Xcode.`);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
shouldUpdateXcode = true;
|
|
56
|
+
}
|
|
57
|
+
if (shouldUpdateXcode) {
|
|
58
|
+
const teamIdsForName = await this.$iOSProvisionService.getTeamIdsWithName(teamId);
|
|
59
|
+
if (teamIdsForName.length > 0) {
|
|
60
|
+
this.$logger.trace(`Team id ${teamIdsForName[0]} will be used for team name "${teamId}".`);
|
|
61
|
+
teamId = teamIdsForName[0];
|
|
89
62
|
}
|
|
90
|
-
|
|
63
|
+
xcode.setAutomaticSigningStyle(projectData.projectName, teamId);
|
|
64
|
+
xcode.setAutomaticSigningStyleByTargetProductTypesList([
|
|
65
|
+
constants_1.IOSNativeTargetProductTypes.appExtension,
|
|
66
|
+
constants_1.IOSNativeTargetProductTypes.watchApp,
|
|
67
|
+
constants_1.IOSNativeTargetProductTypes.watchExtension,
|
|
68
|
+
], teamId);
|
|
69
|
+
this.getExtensionNames(projectData).forEach((name) => {
|
|
70
|
+
xcode.setAutomaticSigningStyle(name, teamId);
|
|
71
|
+
});
|
|
72
|
+
xcode.save();
|
|
73
|
+
this.$logger.trace(`Set Automatic signing style and team id ${teamId}.`);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
this.$logger.trace(`The specified ${teamId} is already set in the Xcode.`);
|
|
77
|
+
}
|
|
91
78
|
}
|
|
92
|
-
setupSigningFromProvision(projectRoot, projectData, provision, mobileProvisionData) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
break;
|
|
106
|
-
}
|
|
79
|
+
async setupSigningFromProvision(projectRoot, projectData, provision, mobileProvisionData) {
|
|
80
|
+
if (!provision) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const xcode = this.$pbxprojDomXcode.Xcode.open(this.getPbxProjPath(projectData, projectRoot));
|
|
84
|
+
const signing = xcode.getSigning(projectData.projectName);
|
|
85
|
+
let shouldUpdateXcode = false;
|
|
86
|
+
if (signing && signing.style === "Manual") {
|
|
87
|
+
for (const config in signing.configurations) {
|
|
88
|
+
const options = signing.configurations[config];
|
|
89
|
+
if (options.name !== provision && options.uuid !== provision) {
|
|
90
|
+
shouldUpdateXcode = true;
|
|
91
|
+
break;
|
|
107
92
|
}
|
|
108
93
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
shouldUpdateXcode = true;
|
|
97
|
+
}
|
|
98
|
+
if (shouldUpdateXcode) {
|
|
99
|
+
const projectSigningConfig = await this.getManualSigningConfiguration(projectData, provision, mobileProvisionData);
|
|
100
|
+
xcode.setManualSigningStyle(projectData.projectName, projectSigningConfig);
|
|
101
|
+
xcode.setManualSigningStyleByTargetProductTypesList([
|
|
102
|
+
constants_1.IOSNativeTargetProductTypes.appExtension,
|
|
103
|
+
constants_1.IOSNativeTargetProductTypes.watchApp,
|
|
104
|
+
constants_1.IOSNativeTargetProductTypes.watchExtension,
|
|
105
|
+
], projectSigningConfig);
|
|
106
|
+
this.$logger.trace(`Set Manual signing style and provisioning profile: ${projectSigningConfig.name} (${projectSigningConfig.uuid})`);
|
|
107
|
+
const extensionSigningConfig = await Promise.all(this.getExtensionsManualSigningConfiguration(projectData));
|
|
108
|
+
extensionSigningConfig.forEach(({ name, configuration }) => {
|
|
109
|
+
xcode.setManualSigningStyle(name, configuration);
|
|
110
|
+
this.$logger.trace(`Set Manual signing style and provisioning profile: ${configuration.name} (${configuration.uuid})`);
|
|
111
|
+
});
|
|
112
|
+
xcode.save();
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
this.$logger.trace(`The specified provisioning profile is already set in the Xcode: ${provision}`);
|
|
116
|
+
}
|
|
132
117
|
}
|
|
133
118
|
getExtensionNames(projectData) {
|
|
134
119
|
const extensionFolderPath = path.join(projectData.getAppResourcesDirectoryPath(), constants.iOSAppResourcesFolderName, constants.NATIVE_EXTENSION_FOLDER);
|
|
@@ -149,45 +134,43 @@ class IOSSigningService {
|
|
|
149
134
|
if (this.$fs.exists(provisioningJSONPath)) {
|
|
150
135
|
const provisioningJSON = this.$fs.readJson(provisioningJSONPath);
|
|
151
136
|
const extensionNames = this.getExtensionNames(projectData);
|
|
152
|
-
const provisioning = Object.entries(provisioningJSON).map(([id, provision]) =>
|
|
137
|
+
const provisioning = Object.entries(provisioningJSON).map(async ([id, provision]) => {
|
|
153
138
|
const name = id.split(".").at(-1);
|
|
154
139
|
if (extensionNames.includes(name)) {
|
|
155
|
-
const configuration =
|
|
140
|
+
const configuration = await this.getManualSigningConfiguration(projectData, provision);
|
|
156
141
|
return { name, configuration };
|
|
157
142
|
}
|
|
158
143
|
return null;
|
|
159
|
-
})
|
|
144
|
+
});
|
|
160
145
|
return provisioning;
|
|
161
146
|
}
|
|
162
147
|
return [];
|
|
163
148
|
}
|
|
164
|
-
getManualSigningConfiguration(projectData, provision, mobileProvisionData) {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
return configuration;
|
|
190
|
-
});
|
|
149
|
+
async getManualSigningConfiguration(projectData, provision, mobileProvisionData) {
|
|
150
|
+
const pickStart = Date.now();
|
|
151
|
+
const mobileprovision = mobileProvisionData ||
|
|
152
|
+
(await this.$iOSProvisionService.pick(provision, projectData.projectIdentifiers.ios));
|
|
153
|
+
const pickEnd = Date.now();
|
|
154
|
+
this.$logger.trace("Searched and " +
|
|
155
|
+
(mobileprovision ? "found" : "failed to find ") +
|
|
156
|
+
" matching provisioning profile. (" +
|
|
157
|
+
(pickEnd - pickStart) +
|
|
158
|
+
"ms.)");
|
|
159
|
+
if (!mobileprovision) {
|
|
160
|
+
this.$errors.fail("Failed to find mobile provision with UUID or Name: " + provision);
|
|
161
|
+
}
|
|
162
|
+
const configuration = {
|
|
163
|
+
team: mobileprovision.TeamIdentifier &&
|
|
164
|
+
mobileprovision.TeamIdentifier.length > 0
|
|
165
|
+
? mobileprovision.TeamIdentifier[0]
|
|
166
|
+
: undefined,
|
|
167
|
+
uuid: mobileprovision.UUID,
|
|
168
|
+
name: mobileprovision.Name,
|
|
169
|
+
identity: mobileprovision.Type === "Development"
|
|
170
|
+
? "iPhone Developer"
|
|
171
|
+
: "iPhone Distribution",
|
|
172
|
+
};
|
|
173
|
+
return configuration;
|
|
191
174
|
}
|
|
192
175
|
getBuildXCConfigFilePath(projectData) {
|
|
193
176
|
return path.join(projectData.appResourcesDirectoryPath, constants_1.iOSAppResourcesFolderName, constants_1.BUILD_XCCONFIG_FILE_NAME);
|
|
@@ -195,55 +178,53 @@ class IOSSigningService {
|
|
|
195
178
|
getPbxProjPath(projectData, projectRoot) {
|
|
196
179
|
return path.join(this.$xcprojService.getXcodeprojPath(projectData, projectRoot), "project.pbxproj");
|
|
197
180
|
}
|
|
198
|
-
getDevelopmentTeam(projectData, projectRoot, teamId) {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
181
|
+
async getDevelopmentTeam(projectData, projectRoot, teamId) {
|
|
182
|
+
teamId = teamId || this.readXCConfigDevelopmentTeam(projectData);
|
|
183
|
+
if (!teamId) {
|
|
184
|
+
const teams = await this.$iOSProvisionService.getDevelopmentTeams();
|
|
185
|
+
this.$logger.warn("Xcode requires a team id to be specified when building for device.");
|
|
186
|
+
this.$logger.warn("You can specify the team id by setting the DEVELOPMENT_TEAM setting in build.xcconfig file located in App_Resources folder of your app, or by using the --teamId option when calling run, debug or livesync commands.");
|
|
187
|
+
if (teams.length === 1) {
|
|
188
|
+
teamId = teams[0].id;
|
|
189
|
+
this.$logger.warn("Found and using the following development team installed on your system: " +
|
|
190
|
+
teams[0].name +
|
|
191
|
+
" (" +
|
|
192
|
+
teams[0].id +
|
|
193
|
+
")");
|
|
194
|
+
}
|
|
195
|
+
else if (teams.length > 0) {
|
|
196
|
+
if (!helpers.isInteractive()) {
|
|
197
|
+
this.$errors.fail(`Unable to determine default development team. Available development teams are: ${_.map(teams, (team) => team.id)}. Specify team in app/App_Resources/iOS/build.xcconfig file in the following way: DEVELOPMENT_TEAM = <team id>`);
|
|
198
|
+
}
|
|
199
|
+
const choices = [];
|
|
200
|
+
for (const team of teams) {
|
|
201
|
+
choices.push(team.name + " (" + team.id + ")");
|
|
212
202
|
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
teamId
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
const xcconfigFile = path.join(projectData.appResourcesDirectoryPath, "iOS", constants_1.BUILD_XCCONFIG_FILE_NAME);
|
|
234
|
-
this.$fs.appendFile(xcconfigFile, "\nDEVELOPMENT_TEAM = " + teamId + "\n");
|
|
235
|
-
break;
|
|
236
|
-
case 1:
|
|
237
|
-
this.$fs.writeFile(path.join(projectRoot, "teamid"), teamId);
|
|
238
|
-
break;
|
|
239
|
-
default:
|
|
240
|
-
break;
|
|
241
|
-
}
|
|
203
|
+
const choice = await this.$prompter.promptForChoice("Found multiple development teams, select one:", choices);
|
|
204
|
+
teamId = teams[choices.indexOf(choice)].id;
|
|
205
|
+
const choicesPersist = [
|
|
206
|
+
"Yes, set the DEVELOPMENT_TEAM setting in build.xcconfig file.",
|
|
207
|
+
"Yes, persist the team id in platforms folder.",
|
|
208
|
+
"No, don't persist this setting.",
|
|
209
|
+
];
|
|
210
|
+
const choicePersist = await this.$prompter.promptForChoice("Do you want to make teamId: " +
|
|
211
|
+
teamId +
|
|
212
|
+
" a persistent choice for your app?", choicesPersist);
|
|
213
|
+
switch (choicesPersist.indexOf(choicePersist)) {
|
|
214
|
+
case 0:
|
|
215
|
+
const xcconfigFile = path.join(projectData.appResourcesDirectoryPath, "iOS", constants_1.BUILD_XCCONFIG_FILE_NAME);
|
|
216
|
+
this.$fs.appendFile(xcconfigFile, "\nDEVELOPMENT_TEAM = " + teamId + "\n");
|
|
217
|
+
break;
|
|
218
|
+
case 1:
|
|
219
|
+
this.$fs.writeFile(path.join(projectRoot, "teamid"), teamId);
|
|
220
|
+
break;
|
|
221
|
+
default:
|
|
222
|
+
break;
|
|
242
223
|
}
|
|
243
224
|
}
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
225
|
+
}
|
|
226
|
+
this.$logger.trace(`Selected teamId is '${teamId}'.`);
|
|
227
|
+
return teamId;
|
|
247
228
|
}
|
|
248
229
|
readXCConfigDevelopmentTeam(projectData) {
|
|
249
230
|
return this.$xcconfigService.readPropertyValue(this.getBuildXCConfigFilePath(projectData), "DEVELOPMENT_TEAM");
|
|
@@ -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.SPMService = void 0;
|
|
13
4
|
const yok_1 = require("../../common/yok");
|
|
@@ -24,53 +15,49 @@ class SPMService {
|
|
|
24
15
|
const spmPackages = this.$projectConfigService.getValue(`${platform}.SPMPackages`, []);
|
|
25
16
|
return spmPackages;
|
|
26
17
|
}
|
|
27
|
-
applySPMPackages(platformData, projectData) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
for (const pkg of spmPackages) {
|
|
47
|
-
if ("path" in pkg) {
|
|
48
|
-
this.$logger.trace("SPM: resolving path for package: ", pkg.path);
|
|
49
|
-
pkg.path = path.resolve(projectData.projectDir, pkg.path);
|
|
50
|
-
}
|
|
51
|
-
this.$logger.trace(`SPM: adding package ${pkg.name} to project.`, pkg);
|
|
52
|
-
yield project.ios.addSPMPackage(projectData.projectName, pkg);
|
|
53
|
-
}
|
|
54
|
-
yield project.commit();
|
|
55
|
-
yield this.resolveSPMDependencies(platformData, projectData);
|
|
18
|
+
async applySPMPackages(platformData, projectData) {
|
|
19
|
+
try {
|
|
20
|
+
const spmPackages = this.getSPMPackages(projectData, platformData.platformNameLowerCase);
|
|
21
|
+
if (!spmPackages.length) {
|
|
22
|
+
this.$logger.trace("SPM: no SPM packages to apply.");
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const project = new trapezedev_project_1.MobileProject(platformData.projectRoot, {
|
|
26
|
+
ios: {
|
|
27
|
+
path: ".",
|
|
28
|
+
},
|
|
29
|
+
enableAndroid: false,
|
|
30
|
+
});
|
|
31
|
+
await project.load();
|
|
32
|
+
if (!project.ios) {
|
|
33
|
+
this.$logger.trace("SPM: no iOS project found via trapeze.");
|
|
34
|
+
return;
|
|
56
35
|
}
|
|
57
|
-
|
|
58
|
-
|
|
36
|
+
for (const pkg of spmPackages) {
|
|
37
|
+
if ("path" in pkg) {
|
|
38
|
+
this.$logger.trace("SPM: resolving path for package: ", pkg.path);
|
|
39
|
+
pkg.path = path.resolve(projectData.projectDir, pkg.path);
|
|
40
|
+
}
|
|
41
|
+
this.$logger.trace(`SPM: adding package ${pkg.name} to project.`, pkg);
|
|
42
|
+
await project.ios.addSPMPackage(projectData.projectName, pkg);
|
|
59
43
|
}
|
|
60
|
-
|
|
44
|
+
await project.commit();
|
|
45
|
+
await this.resolveSPMDependencies(platformData, projectData);
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
this.$logger.trace("SPM: error applying SPM packages: ", err);
|
|
49
|
+
}
|
|
61
50
|
}
|
|
62
|
-
resolveSPMDependencies(platformData, projectData) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
message: "Resolving SPM dependencies...",
|
|
73
|
-
});
|
|
51
|
+
async resolveSPMDependencies(platformData, projectData) {
|
|
52
|
+
await this.$xcodebuildCommandService.executeCommand(this.$xcodebuildArgsService
|
|
53
|
+
.getXcodeProjectArgs(platformData, projectData)
|
|
54
|
+
.concat([
|
|
55
|
+
"-destination",
|
|
56
|
+
"generic/platform=iOS",
|
|
57
|
+
"-resolvePackageDependencies",
|
|
58
|
+
]), {
|
|
59
|
+
cwd: projectData.projectDir,
|
|
60
|
+
message: "Resolving SPM dependencies...",
|
|
74
61
|
});
|
|
75
62
|
}
|
|
76
63
|
}
|