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
|
@@ -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.AndroidPluginBuildService = void 0;
|
|
19
10
|
const path = require("path");
|
|
@@ -60,28 +51,26 @@ class AndroidPluginBuildService {
|
|
|
60
51
|
const manifest = path.join(platformsDir, constants_1.MANIFEST_FILE_NAME);
|
|
61
52
|
return this.$fs.exists(manifest) ? manifest : null;
|
|
62
53
|
}
|
|
63
|
-
updateManifestContent(oldManifestContent, defaultPackageName) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
if (xml["manifest"]) {
|
|
69
|
-
|
|
70
|
-
packageName = xml["manifest"]["$"]["package"];
|
|
71
|
-
}
|
|
72
|
-
// set the xml as the value to iterate over its properties
|
|
73
|
-
xml = xml["manifest"];
|
|
74
|
-
}
|
|
75
|
-
// if the manifest file doesn't have a <manifest> scope, only the first setting will be picked up
|
|
76
|
-
const newManifest = { manifest: {} };
|
|
77
|
-
for (const prop in xml) {
|
|
78
|
-
newManifest.manifest[prop] = xml[prop];
|
|
54
|
+
async updateManifestContent(oldManifestContent, defaultPackageName) {
|
|
55
|
+
let xml = await this.getXml(oldManifestContent);
|
|
56
|
+
let packageName = defaultPackageName;
|
|
57
|
+
// if the manifest file is full-featured and declares settings inside the manifest scope
|
|
58
|
+
if (xml["manifest"]) {
|
|
59
|
+
if (xml["manifest"]["$"]["package"]) {
|
|
60
|
+
packageName = xml["manifest"]["$"]["package"];
|
|
79
61
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
62
|
+
// set the xml as the value to iterate over its properties
|
|
63
|
+
xml = xml["manifest"];
|
|
64
|
+
}
|
|
65
|
+
// if the manifest file doesn't have a <manifest> scope, only the first setting will be picked up
|
|
66
|
+
const newManifest = { manifest: {} };
|
|
67
|
+
for (const prop in xml) {
|
|
68
|
+
newManifest.manifest[prop] = xml[prop];
|
|
69
|
+
}
|
|
70
|
+
newManifest.manifest["$"]["package"] = packageName;
|
|
71
|
+
const xmlBuilder = new xml2js_1.Builder();
|
|
72
|
+
const newManifestContent = xmlBuilder.buildObject(newManifest);
|
|
73
|
+
return newManifestContent;
|
|
85
74
|
}
|
|
86
75
|
createManifestContent(packageName) {
|
|
87
76
|
const newManifest = {
|
|
@@ -92,18 +81,16 @@ class AndroidPluginBuildService {
|
|
|
92
81
|
const newManifestContent = xmlBuilder.buildObject(newManifest);
|
|
93
82
|
return newManifestContent;
|
|
94
83
|
}
|
|
95
|
-
getXml(stringContent) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
return promise;
|
|
106
|
-
});
|
|
84
|
+
async getXml(stringContent) {
|
|
85
|
+
const promise = new Promise((resolve, reject) => (0, xml2js_1.parseString)(stringContent, (err, result) => {
|
|
86
|
+
if (err) {
|
|
87
|
+
reject(err);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
resolve(result);
|
|
91
|
+
}
|
|
92
|
+
}));
|
|
93
|
+
return promise;
|
|
107
94
|
}
|
|
108
95
|
getIncludeGradleCompileDependenciesScope(includeGradleFileContent) {
|
|
109
96
|
const indexOfDependenciesScope = includeGradleFileContent.indexOf("dependencies");
|
|
@@ -156,41 +143,39 @@ class AndroidPluginBuildService {
|
|
|
156
143
|
* @param {string} options.aarOutputDir - The path where the aar should be copied after a successful build.
|
|
157
144
|
* @param {string} options.tempPluginDirPath - The path where the android plugin will be built.
|
|
158
145
|
*/
|
|
159
|
-
buildAar(options) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
fileHashesInfo: pluginSourceFileHashesInfo,
|
|
174
|
-
});
|
|
175
|
-
if (shouldBuildAar) {
|
|
176
|
-
this.cleanPluginDir(pluginTempDir);
|
|
177
|
-
const pluginTempMainSrcDir = path.join(pluginTempDir, "src", "main");
|
|
178
|
-
yield this.updateManifest(manifestFilePath, pluginTempMainSrcDir, shortPluginName);
|
|
179
|
-
this.copySourceSetDirectories(androidSourceDirectories, pluginTempMainSrcDir);
|
|
180
|
-
yield this.setupGradle(pluginTempDir, options.platformsAndroidDirPath, options.projectDir, options.pluginName);
|
|
181
|
-
yield this.buildPlugin({
|
|
182
|
-
gradlePath: options.gradlePath,
|
|
183
|
-
gradleArgs: options.gradleArgs,
|
|
184
|
-
pluginDir: pluginTempDir,
|
|
185
|
-
pluginName: options.pluginName,
|
|
186
|
-
projectDir: options.projectDir,
|
|
187
|
-
});
|
|
188
|
-
this.$watchIgnoreListService.addFileToIgnoreList(path.join(options.aarOutputDir, `${shortPluginName}.aar`));
|
|
189
|
-
this.copyAar(shortPluginName, pluginTempDir, options.aarOutputDir);
|
|
190
|
-
this.writePluginHashInfo(pluginSourceFileHashesInfo, pluginTempDir);
|
|
191
|
-
}
|
|
192
|
-
return shouldBuildAar;
|
|
146
|
+
async buildAar(options) {
|
|
147
|
+
this.validateOptions(options);
|
|
148
|
+
const manifestFilePath = this.getManifest(options.platformsAndroidDirPath);
|
|
149
|
+
const androidSourceDirectories = this.getAndroidSourceDirectories(options.platformsAndroidDirPath);
|
|
150
|
+
const shortPluginName = (0, helpers_1.getShortPluginName)(options.pluginName);
|
|
151
|
+
const pluginTempDir = path.join(options.tempPluginDirPath, shortPluginName);
|
|
152
|
+
const pluginSourceFileHashesInfo = await this.getSourceFilesHashes(options.platformsAndroidDirPath, shortPluginName);
|
|
153
|
+
const shouldBuildAar = await this.shouldBuildAar({
|
|
154
|
+
manifestFilePath,
|
|
155
|
+
androidSourceDirectories,
|
|
156
|
+
pluginTempDir,
|
|
157
|
+
pluginSourceDir: options.platformsAndroidDirPath,
|
|
158
|
+
shortPluginName,
|
|
159
|
+
fileHashesInfo: pluginSourceFileHashesInfo,
|
|
193
160
|
});
|
|
161
|
+
if (shouldBuildAar) {
|
|
162
|
+
this.cleanPluginDir(pluginTempDir);
|
|
163
|
+
const pluginTempMainSrcDir = path.join(pluginTempDir, "src", "main");
|
|
164
|
+
await this.updateManifest(manifestFilePath, pluginTempMainSrcDir, shortPluginName);
|
|
165
|
+
this.copySourceSetDirectories(androidSourceDirectories, pluginTempMainSrcDir);
|
|
166
|
+
await this.setupGradle(pluginTempDir, options.platformsAndroidDirPath, options.projectDir, options.pluginName);
|
|
167
|
+
await this.buildPlugin({
|
|
168
|
+
gradlePath: options.gradlePath,
|
|
169
|
+
gradleArgs: options.gradleArgs,
|
|
170
|
+
pluginDir: pluginTempDir,
|
|
171
|
+
pluginName: options.pluginName,
|
|
172
|
+
projectDir: options.projectDir,
|
|
173
|
+
});
|
|
174
|
+
this.$watchIgnoreListService.addFileToIgnoreList(path.join(options.aarOutputDir, `${shortPluginName}.aar`));
|
|
175
|
+
this.copyAar(shortPluginName, pluginTempDir, options.aarOutputDir);
|
|
176
|
+
this.writePluginHashInfo(pluginSourceFileHashesInfo, pluginTempDir);
|
|
177
|
+
}
|
|
178
|
+
return shouldBuildAar;
|
|
194
179
|
}
|
|
195
180
|
cleanPluginDir(pluginTempDir) {
|
|
196
181
|
// In case plugin was already built in the current process, we need to clean the old sources as they may break the new build.
|
|
@@ -206,50 +191,46 @@ class AndroidPluginBuildService {
|
|
|
206
191
|
const buildDataFile = this.getPathToPluginBuildDataFile(pluginTempDir);
|
|
207
192
|
this.$fs.writeJson(buildDataFile, fileHashesInfo);
|
|
208
193
|
}
|
|
209
|
-
shouldBuildAar(opts) {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
shouldBuildAar = this.$filesHashService.hasChangesInShasums(oldHashes, opts.fileHashesInfo);
|
|
219
|
-
}
|
|
194
|
+
async shouldBuildAar(opts) {
|
|
195
|
+
let shouldBuildAar = !!opts.manifestFilePath || !!opts.androidSourceDirectories.length;
|
|
196
|
+
if (shouldBuildAar &&
|
|
197
|
+
this.$fs.exists(opts.pluginTempDir) &&
|
|
198
|
+
this.$fs.exists(path.join(opts.pluginSourceDir, `${opts.shortPluginName}.aar`))) {
|
|
199
|
+
const buildDataFile = this.getPathToPluginBuildDataFile(opts.pluginTempDir);
|
|
200
|
+
if (this.$fs.exists(buildDataFile)) {
|
|
201
|
+
const oldHashes = this.$fs.readJson(buildDataFile);
|
|
202
|
+
shouldBuildAar = this.$filesHashService.hasChangesInShasums(oldHashes, opts.fileHashesInfo);
|
|
220
203
|
}
|
|
221
|
-
|
|
222
|
-
|
|
204
|
+
}
|
|
205
|
+
return shouldBuildAar;
|
|
223
206
|
}
|
|
224
207
|
getPathToPluginBuildDataFile(pluginDir) {
|
|
225
208
|
return path.join(pluginDir, constants_1.PLUGIN_BUILD_DATA_FILENAME);
|
|
226
209
|
}
|
|
227
|
-
updateManifest(manifestFilePath, pluginTempMainSrcDir, shortPluginName) {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
let androidManifestContent;
|
|
234
|
-
try {
|
|
235
|
-
androidManifestContent = this.$fs.readText(manifestFilePath);
|
|
236
|
-
}
|
|
237
|
-
catch (err) {
|
|
238
|
-
this.$errors.fail(`Failed to fs.readFileSync the manifest file located at ${manifestFilePath}. Error is: ${err.toString()}`);
|
|
239
|
-
}
|
|
240
|
-
updatedManifestContent = yield this.updateManifestContent(androidManifestContent, defaultPackageName);
|
|
241
|
-
}
|
|
242
|
-
else {
|
|
243
|
-
updatedManifestContent = this.createManifestContent(defaultPackageName);
|
|
244
|
-
}
|
|
245
|
-
const pathToTempAndroidManifest = path.join(pluginTempMainSrcDir, constants_1.MANIFEST_FILE_NAME);
|
|
210
|
+
async updateManifest(manifestFilePath, pluginTempMainSrcDir, shortPluginName) {
|
|
211
|
+
let updatedManifestContent;
|
|
212
|
+
this.$fs.ensureDirectoryExists(pluginTempMainSrcDir);
|
|
213
|
+
const defaultPackageName = "org.nativescript." + shortPluginName;
|
|
214
|
+
if (manifestFilePath) {
|
|
215
|
+
let androidManifestContent;
|
|
246
216
|
try {
|
|
247
|
-
this.$fs.
|
|
217
|
+
androidManifestContent = this.$fs.readText(manifestFilePath);
|
|
248
218
|
}
|
|
249
|
-
catch (
|
|
250
|
-
this.$errors.fail(`Failed to
|
|
219
|
+
catch (err) {
|
|
220
|
+
this.$errors.fail(`Failed to fs.readFileSync the manifest file located at ${manifestFilePath}. Error is: ${err.toString()}`);
|
|
251
221
|
}
|
|
252
|
-
|
|
222
|
+
updatedManifestContent = await this.updateManifestContent(androidManifestContent, defaultPackageName);
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
updatedManifestContent = this.createManifestContent(defaultPackageName);
|
|
226
|
+
}
|
|
227
|
+
const pathToTempAndroidManifest = path.join(pluginTempMainSrcDir, constants_1.MANIFEST_FILE_NAME);
|
|
228
|
+
try {
|
|
229
|
+
this.$fs.writeFile(pathToTempAndroidManifest, updatedManifestContent);
|
|
230
|
+
}
|
|
231
|
+
catch (e) {
|
|
232
|
+
this.$errors.fail(`Failed to write the updated AndroidManifest in the new location - ${pathToTempAndroidManifest}. Error is: ${e.toString()}`);
|
|
233
|
+
}
|
|
253
234
|
}
|
|
254
235
|
copySourceSetDirectories(androidSourceSetDirectories, pluginTempMainSrcDir) {
|
|
255
236
|
for (const dir of androidSourceSetDirectories) {
|
|
@@ -259,69 +240,63 @@ class AndroidPluginBuildService {
|
|
|
259
240
|
this.$fs.copyFile(path.join(dir, "*"), destination);
|
|
260
241
|
}
|
|
261
242
|
}
|
|
262
|
-
setupGradle(pluginTempDir, platformsAndroidDirPath, projectDir, pluginName) {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
if (xml["manifest"]) {
|
|
282
|
-
|
|
283
|
-
packageName = xml["manifest"]["$"]["package"];
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
this.replaceFileContent(buildGradlePath, "{{pluginNamespace}}", packageName);
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
getRuntimeGradleVersions(projectDir) {
|
|
290
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
291
|
-
let runtimeGradleVersions = null;
|
|
292
|
-
if (projectDir) {
|
|
293
|
-
const projectData = this.$projectDataService.getProjectData(projectDir);
|
|
294
|
-
const platformData = this.$platformsDataService.getPlatformData(this.$devicePlatformsConstants.Android, projectData);
|
|
295
|
-
const projectRuntimeVersion = platformData.platformProjectService.getFrameworkVersion(projectData);
|
|
296
|
-
runtimeGradleVersions = yield this.getGradleVersions(projectRuntimeVersion);
|
|
297
|
-
this.$logger.trace(`Got gradle versions ${JSON.stringify(runtimeGradleVersions)} from runtime v${projectRuntimeVersion}`);
|
|
243
|
+
async setupGradle(pluginTempDir, platformsAndroidDirPath, projectDir, pluginName) {
|
|
244
|
+
const gradleTemplatePath = path.resolve(path.join(__dirname, "../../vendor/gradle-plugin"));
|
|
245
|
+
const allGradleTemplateFiles = path.join(gradleTemplatePath, "*");
|
|
246
|
+
const buildGradlePath = path.join(pluginTempDir, "build.gradle");
|
|
247
|
+
const settingsGradlePath = path.join(pluginTempDir, "settings.gradle");
|
|
248
|
+
this.$fs.copyFile(allGradleTemplateFiles, pluginTempDir);
|
|
249
|
+
this.addCompileDependencies(platformsAndroidDirPath, buildGradlePath);
|
|
250
|
+
const runtimeGradleVersions = await this.getRuntimeGradleVersions(projectDir);
|
|
251
|
+
this.replaceGradleVersion(pluginTempDir, runtimeGradleVersions.gradleVersion);
|
|
252
|
+
this.replaceGradleAndroidPluginVersion(buildGradlePath, runtimeGradleVersions.gradleAndroidPluginVersion);
|
|
253
|
+
this.replaceFileContent(buildGradlePath, "{{pluginName}}", pluginName);
|
|
254
|
+
this.replaceFileContent(settingsGradlePath, "{{pluginName}}", pluginName);
|
|
255
|
+
// gets the package from the AndroidManifest to use as the namespace or fallback to the `org.nativescript.${shortPluginName}`
|
|
256
|
+
const shortPluginName = (0, helpers_1.getShortPluginName)(pluginName);
|
|
257
|
+
const manifestPath = path.join(pluginTempDir, "src", "main", "AndroidManifest.xml");
|
|
258
|
+
const manifestContent = this.$fs.readText(manifestPath);
|
|
259
|
+
let packageName = `org.nativescript.${shortPluginName}`;
|
|
260
|
+
const xml = await this.getXml(manifestContent);
|
|
261
|
+
if (xml["manifest"]) {
|
|
262
|
+
if (xml["manifest"]["$"]["package"]) {
|
|
263
|
+
packageName = xml["manifest"]["$"]["package"];
|
|
298
264
|
}
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
265
|
+
}
|
|
266
|
+
this.replaceFileContent(buildGradlePath, "{{pluginNamespace}}", packageName);
|
|
267
|
+
}
|
|
268
|
+
async getRuntimeGradleVersions(projectDir) {
|
|
269
|
+
let runtimeGradleVersions = null;
|
|
270
|
+
if (projectDir) {
|
|
271
|
+
const projectData = this.$projectDataService.getProjectData(projectDir);
|
|
272
|
+
const platformData = this.$platformsDataService.getPlatformData(this.$devicePlatformsConstants.Android, projectData);
|
|
273
|
+
const projectRuntimeVersion = platformData.platformProjectService.getFrameworkVersion(projectData);
|
|
274
|
+
runtimeGradleVersions = await this.getGradleVersions(projectRuntimeVersion);
|
|
275
|
+
this.$logger.trace(`Got gradle versions ${JSON.stringify(runtimeGradleVersions)} from runtime v${projectRuntimeVersion}`);
|
|
276
|
+
}
|
|
277
|
+
if (!runtimeGradleVersions) {
|
|
278
|
+
const latestRuntimeVersion = await this.getLatestRuntimeVersion();
|
|
279
|
+
runtimeGradleVersions = await this.getGradleVersions(latestRuntimeVersion);
|
|
280
|
+
this.$logger.trace(`Got gradle versions ${JSON.stringify(runtimeGradleVersions)} from the latest runtime v${latestRuntimeVersion}`);
|
|
281
|
+
}
|
|
282
|
+
return runtimeGradleVersions || {};
|
|
306
283
|
}
|
|
307
|
-
getLatestRuntimeVersion() {
|
|
284
|
+
async getLatestRuntimeVersion() {
|
|
308
285
|
var _a;
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
return runtimeVersion;
|
|
324
|
-
});
|
|
286
|
+
let runtimeVersion = null;
|
|
287
|
+
try {
|
|
288
|
+
let result = await this.$packageManager.view(constants_1.SCOPED_ANDROID_RUNTIME_NAME, {
|
|
289
|
+
"dist-tags": true,
|
|
290
|
+
});
|
|
291
|
+
result = (_a = result === null || result === void 0 ? void 0 : result["dist-tags"]) !== null && _a !== void 0 ? _a : result;
|
|
292
|
+
runtimeVersion = result.latest;
|
|
293
|
+
}
|
|
294
|
+
catch (err) {
|
|
295
|
+
this.$logger.trace(`Error while getting latest android runtime version from view command: ${err}`);
|
|
296
|
+
const registryData = await this.$packageManager.getRegistryPackageData(constants_1.SCOPED_ANDROID_RUNTIME_NAME);
|
|
297
|
+
runtimeVersion = registryData["dist-tags"].latest;
|
|
298
|
+
}
|
|
299
|
+
return runtimeVersion;
|
|
325
300
|
}
|
|
326
301
|
getLocalGradleVersions() {
|
|
327
302
|
// try reading from installed runtime first before reading from the npm registry...
|
|
@@ -351,46 +326,44 @@ class AndroidPluginBuildService {
|
|
|
351
326
|
}
|
|
352
327
|
return null;
|
|
353
328
|
}
|
|
354
|
-
getGradleVersions(runtimeVersion) {
|
|
329
|
+
async getGradleVersions(runtimeVersion) {
|
|
355
330
|
var _a, _b;
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
};
|
|
383
|
-
}
|
|
384
|
-
runtimeGradleVersions = { versions: output };
|
|
385
|
-
}
|
|
386
|
-
catch (err) {
|
|
387
|
-
this.$logger.trace(`Error while getting gradle data for android runtime from view command: ${err}`);
|
|
388
|
-
const registryData = yield this.$packageManager.getRegistryPackageData(constants_1.SCOPED_ANDROID_RUNTIME_NAME);
|
|
389
|
-
runtimeGradleVersions = registryData.versions[runtimeVersion];
|
|
331
|
+
let runtimeGradleVersions = null;
|
|
332
|
+
const localVersionInfo = this.getLocalGradleVersions();
|
|
333
|
+
if (localVersionInfo) {
|
|
334
|
+
return localVersionInfo;
|
|
335
|
+
}
|
|
336
|
+
// fallback to reading from npm...
|
|
337
|
+
try {
|
|
338
|
+
let output = await this.$packageManager.view(`${constants_1.SCOPED_ANDROID_RUNTIME_NAME}@${runtimeVersion}`, { version_info: true });
|
|
339
|
+
output = (_a = output === null || output === void 0 ? void 0 : output["version_info"]) !== null && _a !== void 0 ? _a : output;
|
|
340
|
+
if (!output) {
|
|
341
|
+
/**
|
|
342
|
+
* fallback to the old 'gradle' key in package.json
|
|
343
|
+
*
|
|
344
|
+
* format:
|
|
345
|
+
*
|
|
346
|
+
* gradle: { version: '6.4', android: '3.6.4' }
|
|
347
|
+
*
|
|
348
|
+
*/
|
|
349
|
+
output = await this.$packageManager.view(`${constants_1.SCOPED_ANDROID_RUNTIME_NAME}@${runtimeVersion}`, { gradle: true });
|
|
350
|
+
output = (_b = output === null || output === void 0 ? void 0 : output["gradle"]) !== null && _b !== void 0 ? _b : output;
|
|
351
|
+
const { version, android } = output;
|
|
352
|
+
// covert output to the new format...
|
|
353
|
+
output = {
|
|
354
|
+
gradle: version,
|
|
355
|
+
gradleAndroid: android,
|
|
356
|
+
};
|
|
390
357
|
}
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
358
|
+
runtimeGradleVersions = { versions: output };
|
|
359
|
+
}
|
|
360
|
+
catch (err) {
|
|
361
|
+
this.$logger.trace(`Error while getting gradle data for android runtime from view command: ${err}`);
|
|
362
|
+
const registryData = await this.$packageManager.getRegistryPackageData(constants_1.SCOPED_ANDROID_RUNTIME_NAME);
|
|
363
|
+
runtimeGradleVersions = registryData.versions[runtimeVersion];
|
|
364
|
+
}
|
|
365
|
+
const result = this.getGradleVersionsCore(runtimeGradleVersions);
|
|
366
|
+
return result;
|
|
394
367
|
}
|
|
395
368
|
getGradleVersionsCore(packageData) {
|
|
396
369
|
const packageJsonGradle = packageData && packageData.versions;
|
|
@@ -480,42 +453,43 @@ class AndroidPluginBuildService {
|
|
|
480
453
|
}
|
|
481
454
|
return false;
|
|
482
455
|
}
|
|
483
|
-
buildPlugin(pluginBuildSettings) {
|
|
456
|
+
async buildPlugin(pluginBuildSettings) {
|
|
484
457
|
var _a;
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
458
|
+
const gradlew = (_a = pluginBuildSettings.gradlePath) !== null && _a !== void 0 ? _a : (this.$hostInfo.isWindows ? "gradlew.bat" : "./gradlew");
|
|
459
|
+
const localArgs = [
|
|
460
|
+
"-p",
|
|
461
|
+
pluginBuildSettings.pluginDir,
|
|
462
|
+
"assembleRelease",
|
|
463
|
+
`-PtempBuild=true`,
|
|
464
|
+
`-PappPath=${this.$projectData.getAppDirectoryPath()}`,
|
|
465
|
+
`-PappResourcesPath=${this.$projectData.getAppResourcesDirectoryPath()}`,
|
|
466
|
+
];
|
|
467
|
+
if (pluginBuildSettings.gradleArgs) {
|
|
468
|
+
localArgs.push(pluginBuildSettings.gradleArgs);
|
|
469
|
+
}
|
|
470
|
+
if (this.$logger.getLevel() === "INFO") {
|
|
471
|
+
localArgs.push("--quiet");
|
|
472
|
+
}
|
|
473
|
+
const opts = {
|
|
474
|
+
cwd: pluginBuildSettings.pluginDir,
|
|
475
|
+
stdio: "inherit",
|
|
476
|
+
shell: this.$hostInfo.isWindows,
|
|
477
|
+
};
|
|
478
|
+
if (this.$options.hostProjectPath) {
|
|
479
|
+
opts.env = {
|
|
480
|
+
USER_PROJECT_PLATFORMS_ANDROID: path.resolve((0, process_1.cwd)(), this.$options.hostProjectPath), // TODO: couldn't `hostProjectPath` have an absolute path already?
|
|
481
|
+
...process.env, // TODO: any other way to pass automatically the current process.env?
|
|
505
482
|
};
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
this.$errors.fail(`Failed to build plugin ${pluginBuildSettings.pluginName} : \n${err}`);
|
|
517
|
-
}
|
|
518
|
-
});
|
|
483
|
+
}
|
|
484
|
+
try {
|
|
485
|
+
const sanitizedArgs = this.$hostInfo.isWindows
|
|
486
|
+
? localArgs.map((arg) => (0, helpers_1.quoteString)(arg))
|
|
487
|
+
: localArgs;
|
|
488
|
+
await this.$childProcess.spawnFromEvent(gradlew, sanitizedArgs, "close", opts);
|
|
489
|
+
}
|
|
490
|
+
catch (err) {
|
|
491
|
+
this.$errors.fail(`Failed to build plugin ${pluginBuildSettings.pluginName} : \n${err}`);
|
|
492
|
+
}
|
|
519
493
|
}
|
|
520
494
|
validateOptions(options) {
|
|
521
495
|
if (!options) {
|
|
@@ -541,6 +515,7 @@ class AndroidPluginBuildService {
|
|
|
541
515
|
}
|
|
542
516
|
}
|
|
543
517
|
}
|
|
518
|
+
exports.AndroidPluginBuildService = AndroidPluginBuildService;
|
|
544
519
|
AndroidPluginBuildService.MANIFEST_ROOT = {
|
|
545
520
|
$: {
|
|
546
521
|
"xmlns:android": "http://schemas.android.com/apk/res/android",
|
|
@@ -549,6 +524,5 @@ AndroidPluginBuildService.MANIFEST_ROOT = {
|
|
|
549
524
|
__decorate([
|
|
550
525
|
(0, helpers_1.hook)("buildAndroidPlugin")
|
|
551
526
|
], AndroidPluginBuildService.prototype, "buildPlugin", null);
|
|
552
|
-
exports.AndroidPluginBuildService = AndroidPluginBuildService;
|
|
553
527
|
yok_1.injector.register("androidPluginBuildService", AndroidPluginBuildService);
|
|
554
528
|
//# sourceMappingURL=android-plugin-build-service.js.map
|