nativescript 8.9.0-alpha.2 → 8.9.0-dev.0
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/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 +52 -65
- package/lib/commands/build.js +55 -87
- package/lib/commands/clean.js +161 -176
- package/lib/commands/command-base.js +14 -27
- package/lib/commands/config.js +48 -67
- package/lib/commands/create-project.js +211 -230
- 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 +12 -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 +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 +108 -130
- 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 +4 -4
- 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 +68 -85
- package/lib/common/mobile/android/android-emulator-services.js +105 -130
- package/lib/common/mobile/android/android-ini-file-parser.js +8 -6
- 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 +386 -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/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 +36 -51
- 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 +15 -23
- package/lib/controllers/migrate-controller.js +722 -795
- package/lib/controllers/platform-controller.js +70 -85
- package/lib/controllers/prepare-controller.js +232 -261
- package/lib/controllers/run-controller.js +397 -411
- 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.d.ts +9 -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 +44 -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 +150 -200
- 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 +163 -199
- 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 +22 -35
- 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 +205 -231
- package/lib/services/android-project-service.js +126 -171
- 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 +195 -214
- package/lib/services/apple-portal/srp/srp-wrapper.js +43 -58
- package/lib/services/assets-generation/assets-generation-service.js +103 -117
- 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 +111 -132
- package/lib/services/device/device-install-app-service.js +54 -71
- 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 +168 -187
- package/lib/services/ios/spm-service.js +43 -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 +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 +419 -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 +90 -113
- 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 +51 -66
- 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 +15 -26
- 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 +214 -234
- 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 +66 -81
- 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/CHANGELOG.md +0 -15
- 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/CHANGELOG.md +0 -65
- 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/CHANGELOG.md +0 -16
- 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.AndroidProjectService = void 0;
|
|
19
10
|
const path = require("path");
|
|
@@ -144,10 +135,8 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
|
|
|
144
135
|
const currentPlatformData = this.$projectDataService.getRuntimePackage(projectData.projectDir, platformData.platformNameLowerCase);
|
|
145
136
|
return currentPlatformData && currentPlatformData[constants.VERSION_STRING];
|
|
146
137
|
}
|
|
147
|
-
validateOptions() {
|
|
148
|
-
return
|
|
149
|
-
return true;
|
|
150
|
-
});
|
|
138
|
+
async validateOptions() {
|
|
139
|
+
return true;
|
|
151
140
|
}
|
|
152
141
|
getAppResourcesDestinationDirectoryPath(projectData) {
|
|
153
142
|
const appResourcesDirStructureHasMigrated = this.$androidResourcesMigrationService.hasMigrated(projectData.getAppResourcesDirectoryPath());
|
|
@@ -158,40 +147,36 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
|
|
|
158
147
|
return this.getLegacyAppResourcesDestinationDirPath(projectData);
|
|
159
148
|
}
|
|
160
149
|
}
|
|
161
|
-
validate(projectData, options, notConfiguredEnvOptions) {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
validateTargetSdk: true,
|
|
175
|
-
});
|
|
176
|
-
return {
|
|
177
|
-
checkEnvironmentRequirementsOutput,
|
|
178
|
-
};
|
|
150
|
+
async validate(projectData, options, notConfiguredEnvOptions) {
|
|
151
|
+
this.validatePackageName(projectData.projectIdentifiers.android);
|
|
152
|
+
this.validateProjectName(projectData.projectName);
|
|
153
|
+
const checkEnvironmentRequirementsOutput = await this.$platformEnvironmentRequirements.checkEnvironmentRequirements({
|
|
154
|
+
platform: this.getPlatformData(projectData).normalizedPlatformName,
|
|
155
|
+
projectDir: projectData.projectDir,
|
|
156
|
+
options,
|
|
157
|
+
notConfiguredEnvOptions,
|
|
158
|
+
});
|
|
159
|
+
this.$androidToolsInfo.validateInfo({
|
|
160
|
+
showWarningsAsErrors: true,
|
|
161
|
+
projectDir: projectData.projectDir,
|
|
162
|
+
validateTargetSdk: true,
|
|
179
163
|
});
|
|
164
|
+
return {
|
|
165
|
+
checkEnvironmentRequirementsOutput,
|
|
166
|
+
};
|
|
180
167
|
}
|
|
181
|
-
createProject(frameworkDir, frameworkVersion, projectData) {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
projectDir: projectData.projectDir,
|
|
189
|
-
});
|
|
190
|
-
const targetSdkVersion = androidToolsInfo && androidToolsInfo.targetSdkVersion;
|
|
191
|
-
this.$logger.trace(`Using Android SDK '${targetSdkVersion}'.`);
|
|
192
|
-
this.copy(this.getPlatformData(projectData).projectRoot, frameworkDir, "*", "-R");
|
|
193
|
-
this.cleanResValues(targetSdkVersion, projectData);
|
|
168
|
+
async createProject(frameworkDir, frameworkVersion, projectData) {
|
|
169
|
+
if (semver.lt(frameworkVersion, AndroidProjectService.MIN_RUNTIME_VERSION_WITH_GRADLE)) {
|
|
170
|
+
this.$errors.fail(`The NativeScript CLI requires Android runtime ${AndroidProjectService.MIN_RUNTIME_VERSION_WITH_GRADLE} or later to work properly.`);
|
|
171
|
+
}
|
|
172
|
+
this.$fs.ensureDirectoryExists(this.getPlatformData(projectData).projectRoot);
|
|
173
|
+
const androidToolsInfo = this.$androidToolsInfo.getToolsInfo({
|
|
174
|
+
projectDir: projectData.projectDir,
|
|
194
175
|
});
|
|
176
|
+
const targetSdkVersion = androidToolsInfo && androidToolsInfo.targetSdkVersion;
|
|
177
|
+
this.$logger.trace(`Using Android SDK '${targetSdkVersion}'.`);
|
|
178
|
+
this.copy(this.getPlatformData(projectData).projectRoot, frameworkDir, "*", "-R");
|
|
179
|
+
this.cleanResValues(targetSdkVersion, projectData);
|
|
195
180
|
}
|
|
196
181
|
getResDestinationDir(projectData) {
|
|
197
182
|
const appResourcesDirStructureHasMigrated = this.$androidResourcesMigrationService.hasMigrated(projectData.getAppResourcesDirectoryPath());
|
|
@@ -221,32 +206,30 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
|
|
|
221
206
|
this.$logger.trace(directoriesToClean);
|
|
222
207
|
_.map(directoriesToClean, (dir) => this.$fs.deleteDirectory(dir));
|
|
223
208
|
}
|
|
224
|
-
interpolateData(projectData) {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
shell.sed("-i", new RegExp(constants.PACKAGE_PLACEHOLDER_NAME), projectData.projectIdentifiers.android, projectData.appGradlePath);
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
catch (e) {
|
|
247
|
-
this.$logger.trace(`Templates updated and no need for replace in app.gradle.`);
|
|
209
|
+
async interpolateData(projectData) {
|
|
210
|
+
this.interpolateConfigurationFile(projectData);
|
|
211
|
+
const appResourcesDirectoryPath = projectData.getAppResourcesDirectoryPath();
|
|
212
|
+
let stringsFilePath;
|
|
213
|
+
const appResourcesDestinationDirectoryPath = this.getAppResourcesDestinationDirectoryPath(projectData);
|
|
214
|
+
if (this.$androidResourcesMigrationService.hasMigrated(appResourcesDirectoryPath)) {
|
|
215
|
+
stringsFilePath = path.join(appResourcesDestinationDirectoryPath, constants.MAIN_DIR, constants.RESOURCES_DIR, "values", "strings.xml");
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
stringsFilePath = path.join(appResourcesDestinationDirectoryPath, "values", "strings.xml");
|
|
219
|
+
}
|
|
220
|
+
shell.sed("-i", /__NAME__/, projectData.projectName, stringsFilePath);
|
|
221
|
+
shell.sed("-i", /__TITLE_ACTIVITY__/, projectData.projectName, stringsFilePath);
|
|
222
|
+
const gradleSettingsFilePath = path.join(this.getPlatformData(projectData).projectRoot, "settings.gradle");
|
|
223
|
+
shell.sed("-i", /__PROJECT_NAME__/, this.getProjectNameFromId(projectData), gradleSettingsFilePath);
|
|
224
|
+
try {
|
|
225
|
+
const appGradleContent = this.$fs.readText(projectData.appGradlePath);
|
|
226
|
+
if (appGradleContent.indexOf(constants.PACKAGE_PLACEHOLDER_NAME) !== -1) {
|
|
227
|
+
shell.sed("-i", new RegExp(constants.PACKAGE_PLACEHOLDER_NAME), projectData.projectIdentifiers.android, projectData.appGradlePath);
|
|
248
228
|
}
|
|
249
|
-
}
|
|
229
|
+
}
|
|
230
|
+
catch (e) {
|
|
231
|
+
this.$logger.trace(`Templates updated and no need for replace in app.gradle.`);
|
|
232
|
+
}
|
|
250
233
|
}
|
|
251
234
|
interpolateConfigurationFile(projectData) {
|
|
252
235
|
const manifestPath = this.getPlatformData(projectData).configurationFilePath;
|
|
@@ -265,30 +248,24 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
|
|
|
265
248
|
afterCreateProject(projectRoot) {
|
|
266
249
|
return null;
|
|
267
250
|
}
|
|
268
|
-
updatePlatform(currentVersion, newVersion, canUpdate, projectData, addPlatform, removePlatforms) {
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
return true;
|
|
277
|
-
});
|
|
251
|
+
async updatePlatform(currentVersion, newVersion, canUpdate, projectData, addPlatform, removePlatforms) {
|
|
252
|
+
if (semver.eq(newVersion, AndroidProjectService.MIN_RUNTIME_VERSION_WITH_GRADLE)) {
|
|
253
|
+
const platformLowercase = this.getPlatformData(projectData).normalizedPlatformName.toLowerCase();
|
|
254
|
+
await removePlatforms([platformLowercase.split("@")[0]]);
|
|
255
|
+
await addPlatform(platformLowercase);
|
|
256
|
+
return false;
|
|
257
|
+
}
|
|
258
|
+
return true;
|
|
278
259
|
}
|
|
279
|
-
buildProject(projectRoot, projectData, buildData) {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
yield this.trackKotlinUsage(projectRoot);
|
|
286
|
-
});
|
|
260
|
+
async buildProject(projectRoot, projectData, buildData) {
|
|
261
|
+
const platformData = this.getPlatformData(projectData);
|
|
262
|
+
await this.$gradleBuildService.buildProject(platformData.projectRoot, buildData);
|
|
263
|
+
const outputPath = platformData.getBuildOutputPath(buildData);
|
|
264
|
+
await this.$filesHashService.saveHashesForProject(this._platformData, outputPath);
|
|
265
|
+
await this.trackKotlinUsage(projectRoot);
|
|
287
266
|
}
|
|
288
|
-
buildForDeploy(projectRoot, projectData, buildData) {
|
|
289
|
-
return
|
|
290
|
-
return this.buildProject(projectRoot, projectData, buildData);
|
|
291
|
-
});
|
|
267
|
+
async buildForDeploy(projectRoot, projectData, buildData) {
|
|
268
|
+
return this.buildProject(projectRoot, projectData, buildData);
|
|
292
269
|
}
|
|
293
270
|
isPlatformPrepared(projectRoot, projectData) {
|
|
294
271
|
return this.$fs.exists(path.join(this.getPlatformData(projectData).appDestinationDirectoryPath, this.$options.hostProjectModuleName));
|
|
@@ -296,9 +273,7 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
|
|
|
296
273
|
getFrameworkFilesExtensions() {
|
|
297
274
|
return [".jar", ".dat"];
|
|
298
275
|
}
|
|
299
|
-
prepareProject() {
|
|
300
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
301
|
-
});
|
|
276
|
+
async prepareProject() {
|
|
302
277
|
}
|
|
303
278
|
ensureConfigurationFileInAppResources(projectData) {
|
|
304
279
|
const appResourcesDirectoryPath = projectData.appResourcesDirectoryPath;
|
|
@@ -339,47 +314,37 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
|
|
|
339
314
|
const compileSdkVersion = androidToolsInfo && androidToolsInfo.compileSdkVersion;
|
|
340
315
|
this.cleanResValues(compileSdkVersion, projectData);
|
|
341
316
|
}
|
|
342
|
-
preparePluginNativeCode(pluginData, projectData) {
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
this.$logger.info(`Built aar for ${options.pluginName}`);
|
|
357
|
-
}
|
|
358
|
-
this.$androidPluginBuildService.migrateIncludeGradle(options);
|
|
317
|
+
async preparePluginNativeCode(pluginData, projectData) {
|
|
318
|
+
const pluginPlatformsFolderPath = this.getPluginPlatformsFolderPath(pluginData, AndroidProjectService.ANDROID_PLATFORM_NAME);
|
|
319
|
+
if (this.$fs.exists(pluginPlatformsFolderPath)) {
|
|
320
|
+
const options = {
|
|
321
|
+
gradlePath: this.$options.gradlePath,
|
|
322
|
+
gradleArgs: this.$options.gradleArgs,
|
|
323
|
+
projectDir: projectData.projectDir,
|
|
324
|
+
pluginName: pluginData.name,
|
|
325
|
+
platformsAndroidDirPath: pluginPlatformsFolderPath,
|
|
326
|
+
aarOutputDir: pluginPlatformsFolderPath,
|
|
327
|
+
tempPluginDirPath: path.join(projectData.platformsDir, "tempPlugin"),
|
|
328
|
+
};
|
|
329
|
+
if (await this.$androidPluginBuildService.buildAar(options)) {
|
|
330
|
+
this.$logger.info(`Built aar for ${options.pluginName}`);
|
|
359
331
|
}
|
|
360
|
-
|
|
332
|
+
this.$androidPluginBuildService.migrateIncludeGradle(options);
|
|
333
|
+
}
|
|
361
334
|
}
|
|
362
|
-
processConfigurationFilesFromAppResources() {
|
|
363
|
-
return
|
|
364
|
-
return;
|
|
365
|
-
});
|
|
335
|
+
async processConfigurationFilesFromAppResources() {
|
|
336
|
+
return;
|
|
366
337
|
}
|
|
367
|
-
removePluginNativeCode(pluginData, projectData) {
|
|
368
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
369
|
-
});
|
|
338
|
+
async removePluginNativeCode(pluginData, projectData) {
|
|
370
339
|
}
|
|
371
|
-
beforePrepareAllPlugins(projectData, dependencies) {
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
}
|
|
377
|
-
});
|
|
340
|
+
async beforePrepareAllPlugins(projectData, dependencies) {
|
|
341
|
+
if (dependencies) {
|
|
342
|
+
dependencies = this.filterUniqueDependencies(dependencies);
|
|
343
|
+
return this.provideDependenciesJson(projectData, dependencies);
|
|
344
|
+
}
|
|
378
345
|
}
|
|
379
|
-
handleNativeDependenciesChange(projectData, opts) {
|
|
380
|
-
return
|
|
381
|
-
return;
|
|
382
|
-
});
|
|
346
|
+
async handleNativeDependenciesChange(projectData, opts) {
|
|
347
|
+
return;
|
|
383
348
|
}
|
|
384
349
|
filterUniqueDependencies(dependencies) {
|
|
385
350
|
const depsDictionary = dependencies.reduce((dict, dep) => {
|
|
@@ -419,35 +384,27 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
|
|
|
419
384
|
(nativescript.android ||
|
|
420
385
|
(nativescript.platforms && nativescript.platforms.android)));
|
|
421
386
|
}
|
|
422
|
-
stopServices(projectRoot) {
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
stdio: "pipe",
|
|
428
|
-
});
|
|
429
|
-
return result;
|
|
387
|
+
async stopServices(projectRoot) {
|
|
388
|
+
const result = await this.$gradleCommandService.executeCommand(["--stop", "--quiet"], {
|
|
389
|
+
cwd: projectRoot,
|
|
390
|
+
message: "Gradle stop services...",
|
|
391
|
+
stdio: "pipe",
|
|
430
392
|
});
|
|
393
|
+
return result;
|
|
431
394
|
}
|
|
432
|
-
cleanProject(projectRoot) {
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
release: false,
|
|
436
|
-
});
|
|
395
|
+
async cleanProject(projectRoot) {
|
|
396
|
+
await this.$gradleBuildService.cleanProject(projectRoot, {
|
|
397
|
+
release: false,
|
|
437
398
|
});
|
|
438
399
|
}
|
|
439
|
-
cleanDeviceTempFolder(deviceIdentifier, projectData) {
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
identifier: deviceIdentifier,
|
|
443
|
-
});
|
|
444
|
-
const deviceRootPath = `${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${projectData.projectIdentifiers.android}`;
|
|
445
|
-
yield adb.executeShellCommand(["rm", "-rf", deviceRootPath]);
|
|
400
|
+
async cleanDeviceTempFolder(deviceIdentifier, projectData) {
|
|
401
|
+
const adb = this.$injector.resolve(device_android_debug_bridge_1.DeviceAndroidDebugBridge, {
|
|
402
|
+
identifier: deviceIdentifier,
|
|
446
403
|
});
|
|
404
|
+
const deviceRootPath = `${constants_1.LiveSyncPaths.ANDROID_TMP_DIR_NAME}/${projectData.projectIdentifiers.android}`;
|
|
405
|
+
await adb.executeShellCommand(["rm", "-rf", deviceRootPath]);
|
|
447
406
|
}
|
|
448
|
-
checkForChanges() {
|
|
449
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
450
|
-
});
|
|
407
|
+
async checkForChanges() {
|
|
451
408
|
}
|
|
452
409
|
getDeploymentTarget(projectData) {
|
|
453
410
|
return;
|
|
@@ -504,24 +461,22 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
|
|
|
504
461
|
});
|
|
505
462
|
}
|
|
506
463
|
}
|
|
507
|
-
trackKotlinUsage(projectRoot) {
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
});
|
|
519
|
-
}
|
|
464
|
+
async trackKotlinUsage(projectRoot) {
|
|
465
|
+
const buildStatistics = this.tryGetAndroidBuildStatistics(projectRoot);
|
|
466
|
+
try {
|
|
467
|
+
if (buildStatistics && buildStatistics.kotlinUsage) {
|
|
468
|
+
const analyticsDelimiter = constants.AnalyticsEventLabelDelimiter;
|
|
469
|
+
const hasUseKotlinPropertyInAppData = `hasUseKotlinPropertyInApp${analyticsDelimiter}${buildStatistics.kotlinUsage.hasUseKotlinPropertyInApp}`;
|
|
470
|
+
const hasKotlinRuntimeClassesData = `hasKotlinRuntimeClasses${analyticsDelimiter}${buildStatistics.kotlinUsage.hasKotlinRuntimeClasses}`;
|
|
471
|
+
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
472
|
+
action: "Using Kotlin",
|
|
473
|
+
additionalData: `${hasUseKotlinPropertyInAppData}${analyticsDelimiter}${hasKotlinRuntimeClassesData}`,
|
|
474
|
+
});
|
|
520
475
|
}
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
}
|
|
524
|
-
}
|
|
476
|
+
}
|
|
477
|
+
catch (e) {
|
|
478
|
+
this.$logger.trace(`Failed to track android build statistics. Error is: ${e.message}`);
|
|
479
|
+
}
|
|
525
480
|
}
|
|
526
481
|
tryGetAndroidBuildStatistics(projectRoot) {
|
|
527
482
|
const staticsFilePath = path.join(projectRoot, constants.ANDROID_ANALYTICS_DATA_DIR, constants.ANDROID_ANALYTICS_DATA_FILE);
|
|
@@ -537,6 +492,7 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
|
|
|
537
492
|
return buildStatistics;
|
|
538
493
|
}
|
|
539
494
|
}
|
|
495
|
+
exports.AndroidProjectService = AndroidProjectService;
|
|
540
496
|
AndroidProjectService.VALUES_DIRNAME = "values";
|
|
541
497
|
AndroidProjectService.VALUES_VERSION_DIRNAME_PREFIX = AndroidProjectService.VALUES_DIRNAME + "-v";
|
|
542
498
|
AndroidProjectService.ANDROID_PLATFORM_NAME = "android";
|
|
@@ -545,5 +501,4 @@ __decorate([
|
|
|
545
501
|
(0, decorators_1.performanceLog)(),
|
|
546
502
|
(0, helpers_1.hook)("buildAndroid")
|
|
547
503
|
], AndroidProjectService.prototype, "buildProject", null);
|
|
548
|
-
exports.AndroidProjectService = AndroidProjectService;
|
|
549
504
|
yok_1.injector.register("androidProjectService", AndroidProjectService);
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.AndroidResourcesMigrationService = void 0;
|
|
13
4
|
const path = require("path");
|
|
@@ -28,65 +19,61 @@ class AndroidResourcesMigrationService {
|
|
|
28
19
|
hasMigrated(appResourcesDir) {
|
|
29
20
|
return this.$fs.exists(path.join(appResourcesDir, AndroidResourcesMigrationService.ANDROID_DIR, constants.SRC_DIR, constants.MAIN_DIR));
|
|
30
21
|
}
|
|
31
|
-
migrate(appResourcesDir, backupLocation) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
22
|
+
async migrate(appResourcesDir, backupLocation) {
|
|
23
|
+
const originalAppResources = path.join(appResourcesDir, AndroidResourcesMigrationService.ANDROID_DIR);
|
|
24
|
+
const appResourcesDestination = path.join(appResourcesDir, AndroidResourcesMigrationService.ANDROID_DIR_TEMP);
|
|
25
|
+
const appResourcesBackup = path.join(backupLocation || appResourcesDir, AndroidResourcesMigrationService.ANDROID_DIR_OLD);
|
|
26
|
+
try {
|
|
27
|
+
await this.tryMigrate(originalAppResources, appResourcesDestination, appResourcesBackup);
|
|
28
|
+
this.$logger.info(`Successfully updated your project's application resources '/Android' directory structure.${os_1.EOL}The previous version of your Android application resources has been renamed to '/${AndroidResourcesMigrationService.ANDROID_DIR_OLD}'`);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
36
31
|
try {
|
|
37
|
-
|
|
38
|
-
this.$logger.info(
|
|
32
|
+
this.recover(originalAppResources, appResourcesDestination, appResourcesBackup);
|
|
33
|
+
this.$logger.info("Failed to update resources. They should be in their initial state.");
|
|
39
34
|
}
|
|
40
|
-
catch (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
this.$logger.info("Failed to update resources. They should be in their initial state.");
|
|
44
|
-
}
|
|
45
|
-
catch (err) {
|
|
46
|
-
this.$logger.trace(err);
|
|
47
|
-
this.$logger.info(`Failed to update resources.${os_1.EOL} Backup of original content is inside "${appResourcesBackup}".${os_1.EOL}If "${originalAppResources} is missing copy from backup folder."`);
|
|
48
|
-
}
|
|
49
|
-
finally {
|
|
50
|
-
this.$errors.fail(error.message);
|
|
51
|
-
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
this.$logger.trace(err);
|
|
37
|
+
this.$logger.info(`Failed to update resources.${os_1.EOL} Backup of original content is inside "${appResourcesBackup}".${os_1.EOL}If "${originalAppResources} is missing copy from backup folder."`);
|
|
52
38
|
}
|
|
53
|
-
|
|
39
|
+
finally {
|
|
40
|
+
this.$errors.fail(error.message);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
54
43
|
}
|
|
55
|
-
tryMigrate(originalAppResources, appResourcesDestination, appResourcesBackup) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
this.$fs.copyFile(path.join(originalAppResources, constants.MANIFEST_FILE_NAME), path.join(appMainSourceSet, constants.MANIFEST_FILE_NAME));
|
|
87
|
-
this.$fs.rename(originalAppResources, appResourcesBackup);
|
|
88
|
-
this.$fs.rename(appResourcesDestination, originalAppResources);
|
|
44
|
+
async tryMigrate(originalAppResources, appResourcesDestination, appResourcesBackup) {
|
|
45
|
+
const appMainSourceSet = path.join(appResourcesDestination, constants.SRC_DIR, constants.MAIN_DIR);
|
|
46
|
+
const appResourcesMainSourceSetResourcesDestination = path.join(appMainSourceSet, constants.RESOURCES_DIR);
|
|
47
|
+
this.$fs.ensureDirectoryExists(appResourcesDestination);
|
|
48
|
+
this.$fs.ensureDirectoryExists(appMainSourceSet);
|
|
49
|
+
this.$fs.ensureDirectoryExists(appResourcesMainSourceSetResourcesDestination);
|
|
50
|
+
this.$fs.ensureDirectoryExists(path.join(appMainSourceSet, "java"));
|
|
51
|
+
this.$fs.ensureDirectoryExists(path.join(appMainSourceSet, constants.ASSETS_DIR));
|
|
52
|
+
const isDirectory = (source) => this.$fs.getLsStats(source).isDirectory();
|
|
53
|
+
const getAllFiles = (source) => this.$fs.readDirectory(source).map((name) => path.join(source, name));
|
|
54
|
+
const getDirectories = (files) => files.filter(isDirectory);
|
|
55
|
+
const getFiles = (files) => files.filter((file) => !isDirectory(file));
|
|
56
|
+
this.$fs.copyFile(path.join(originalAppResources, constants.APP_GRADLE_FILE_NAME), path.join(appResourcesDestination, constants.APP_GRADLE_FILE_NAME));
|
|
57
|
+
const appResourcesFiles = getAllFiles(originalAppResources);
|
|
58
|
+
const resourceDirectories = getDirectories(appResourcesFiles);
|
|
59
|
+
const resourceFiles = getFiles(appResourcesFiles);
|
|
60
|
+
resourceDirectories.forEach((dir) => {
|
|
61
|
+
if (path.basename(dir) !== "libs") {
|
|
62
|
+
this.$fs.copyFile(dir, appResourcesMainSourceSetResourcesDestination);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.$fs.copyFile(dir, path.join(appResourcesDestination));
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
resourceFiles.forEach((file) => {
|
|
69
|
+
const fileName = path.basename(file);
|
|
70
|
+
if (fileName !== constants.MANIFEST_FILE_NAME) {
|
|
71
|
+
this.$fs.copyFile(file, path.join(appResourcesDestination, fileName));
|
|
72
|
+
}
|
|
89
73
|
});
|
|
74
|
+
this.$fs.copyFile(path.join(originalAppResources, constants.MANIFEST_FILE_NAME), path.join(appMainSourceSet, constants.MANIFEST_FILE_NAME));
|
|
75
|
+
this.$fs.rename(originalAppResources, appResourcesBackup);
|
|
76
|
+
this.$fs.rename(appResourcesDestination, originalAppResources);
|
|
90
77
|
}
|
|
91
78
|
recover(originalAppResources, appResourcesDestination, appResourcesBackup) {
|
|
92
79
|
if (!this.$fs.exists(originalAppResources)) {
|
|
@@ -97,8 +84,8 @@ class AndroidResourcesMigrationService {
|
|
|
97
84
|
}
|
|
98
85
|
}
|
|
99
86
|
}
|
|
87
|
+
exports.AndroidResourcesMigrationService = AndroidResourcesMigrationService;
|
|
100
88
|
AndroidResourcesMigrationService.ANDROID_DIR = "Android";
|
|
101
89
|
AndroidResourcesMigrationService.ANDROID_DIR_TEMP = "Android-Updated";
|
|
102
90
|
AndroidResourcesMigrationService.ANDROID_DIR_OLD = "Android-Pre-v4";
|
|
103
|
-
exports.AndroidResourcesMigrationService = AndroidResourcesMigrationService;
|
|
104
91
|
yok_1.injector.register("androidResourcesMigrationService", AndroidResourcesMigrationService);
|