@@ -29,7 +29,7 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
29
29
@cache ( )
30
30
public getToolsInfo ( ) : IAndroidToolsInfoData {
31
31
if ( ! this . toolsInfo ) {
32
- let infoData : IAndroidToolsInfoData = Object . create ( null ) ;
32
+ const infoData : IAndroidToolsInfoData = Object . create ( null ) ;
33
33
infoData . androidHomeEnvVar = this . androidHome ;
34
34
infoData . compileSdkVersion = this . getCompileSdkVersion ( ) ;
35
35
infoData . buildToolsVersion = this . getBuildToolsVersion ( ) ;
@@ -46,17 +46,17 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
46
46
public validateInfo ( options ?: { showWarningsAsErrors : boolean , validateTargetSdk : boolean } ) : boolean {
47
47
let detectedErrors = false ;
48
48
this . showWarningsAsErrors = options && options . showWarningsAsErrors ;
49
- let toolsInfoData = this . getToolsInfo ( ) ;
50
- let isAndroidHomeValid = this . validateAndroidHomeEnvVariable ( ) ;
49
+ const toolsInfoData = this . getToolsInfo ( ) ;
50
+ const isAndroidHomeValid = this . validateAndroidHomeEnvVariable ( ) ;
51
51
if ( ! toolsInfoData . compileSdkVersion ) {
52
52
this . printMessage ( `Cannot find a compatible Android SDK for compilation. To be able to build for Android, install Android SDK ${ AndroidToolsInfo . MIN_REQUIRED_COMPILE_TARGET } or later.` ,
53
53
`Run \`\$ ${ this . getPathToSdkManagementTool ( ) } \` to manage your Android SDK versions.` ) ;
54
54
detectedErrors = true ;
55
55
}
56
56
57
57
if ( ! toolsInfoData . buildToolsVersion ) {
58
- let buildToolsRange = this . getBuildToolsRange ( ) ;
59
- let versionRangeMatches = buildToolsRange . match ( / ^ .* ?( [ \d \. ] + ) \s + .* ?( [ \d \. ] + ) $ / ) ;
58
+ const buildToolsRange = this . getBuildToolsRange ( ) ;
59
+ const versionRangeMatches = buildToolsRange . match ( / ^ .* ?( [ \d \. ] + ) \s + .* ?( [ \d \. ] + ) $ / ) ;
60
60
let message = `You can install any version in the following range: '${ buildToolsRange } '.` ;
61
61
62
62
// Improve message in case buildToolsRange is something like: ">=22.0.0 <=22.0.0" - same numbers on both sides
@@ -83,11 +83,11 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
83
83
}
84
84
85
85
if ( options && options . validateTargetSdk ) {
86
- let targetSdk = toolsInfoData . targetSdkVersion ;
87
- let newTarget = `${ AndroidToolsInfo . ANDROID_TARGET_PREFIX } -${ targetSdk } ` ;
86
+ const targetSdk = toolsInfoData . targetSdkVersion ;
87
+ const newTarget = `${ AndroidToolsInfo . ANDROID_TARGET_PREFIX } -${ targetSdk } ` ;
88
88
if ( ! _ . includes ( AndroidToolsInfo . SUPPORTED_TARGETS , newTarget ) ) {
89
- let supportedVersions = AndroidToolsInfo . SUPPORTED_TARGETS . sort ( ) ;
90
- let minSupportedVersion = this . parseAndroidSdkString ( _ . first ( supportedVersions ) ) ;
89
+ const supportedVersions = AndroidToolsInfo . SUPPORTED_TARGETS . sort ( ) ;
90
+ const minSupportedVersion = this . parseAndroidSdkString ( _ . first ( supportedVersions ) ) ;
91
91
92
92
if ( targetSdk && ( targetSdk < minSupportedVersion ) ) {
93
93
this . printMessage ( `The selected Android target SDK ${ newTarget } is not supported. You must target ${ minSupportedVersion } or later.` ) ;
@@ -107,10 +107,10 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
107
107
this . showWarningsAsErrors = options . showWarningsAsErrors ;
108
108
}
109
109
110
- let additionalMessage = "You will not be able to build your projects for Android." + EOL
110
+ const additionalMessage = "You will not be able to build your projects for Android." + EOL
111
111
+ "To be able to build for Android, verify that you have installed The Java Development Kit (JDK) and configured it according to system requirements as" + EOL +
112
112
" described in " + this . $staticConfig . SYS_REQUIREMENTS_LINK ;
113
- let matchingVersion = ( installedJavaVersion || "" ) . match ( AndroidToolsInfo . VERSION_REGEX ) ;
113
+ const matchingVersion = ( installedJavaVersion || "" ) . match ( AndroidToolsInfo . VERSION_REGEX ) ;
114
114
if ( matchingVersion && matchingVersion [ 1 ] ) {
115
115
if ( semver . lt ( matchingVersion [ 1 ] , AndroidToolsInfo . MIN_JAVA_VERSION ) ) {
116
116
hasProblemWithJavaVersion = true ;
@@ -126,7 +126,7 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
126
126
127
127
public async getPathToAdbFromAndroidHome ( ) : Promise < string > {
128
128
if ( this . androidHome ) {
129
- let pathToAdb = path . join ( this . androidHome , "platform-tools" , "adb" ) ;
129
+ const pathToAdb = path . join ( this . androidHome , "platform-tools" , "adb" ) ;
130
130
try {
131
131
await this . $childProcess . execFile ( pathToAdb , [ "help" ] ) ;
132
132
return pathToAdb ;
@@ -212,19 +212,19 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
212
212
213
213
private getCompileSdkVersion ( ) : number {
214
214
if ( ! this . selectedCompileSdk ) {
215
- let userSpecifiedCompileSdk = this . $options . compileSdk ;
215
+ const userSpecifiedCompileSdk = this . $options . compileSdk ;
216
216
if ( userSpecifiedCompileSdk ) {
217
- let installedTargets = this . getInstalledTargets ( ) ;
218
- let androidCompileSdk = `${ AndroidToolsInfo . ANDROID_TARGET_PREFIX } -${ userSpecifiedCompileSdk } ` ;
217
+ const installedTargets = this . getInstalledTargets ( ) ;
218
+ const androidCompileSdk = `${ AndroidToolsInfo . ANDROID_TARGET_PREFIX } -${ userSpecifiedCompileSdk } ` ;
219
219
if ( ! _ . includes ( installedTargets , androidCompileSdk ) ) {
220
220
this . $errors . failWithoutHelp ( `You have specified '${ userSpecifiedCompileSdk } ' for compile sdk, but it is not installed on your system.` ) ;
221
221
}
222
222
223
223
this . selectedCompileSdk = userSpecifiedCompileSdk ;
224
224
} else {
225
- let latestValidAndroidTarget = this . getLatestValidAndroidTarget ( ) ;
225
+ const latestValidAndroidTarget = this . getLatestValidAndroidTarget ( ) ;
226
226
if ( latestValidAndroidTarget ) {
227
- let integerVersion = this . parseAndroidSdkString ( latestValidAndroidTarget ) ;
227
+ const integerVersion = this . parseAndroidSdkString ( latestValidAndroidTarget ) ;
228
228
229
229
if ( integerVersion && integerVersion >= AndroidToolsInfo . MIN_REQUIRED_COMPILE_TARGET ) {
230
230
this . selectedCompileSdk = integerVersion ;
@@ -237,20 +237,20 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
237
237
}
238
238
239
239
private getTargetSdk ( ) : number {
240
- let targetSdk = this . $options . sdk ? parseInt ( this . $options . sdk ) : this . getCompileSdkVersion ( ) ;
240
+ const targetSdk = this . $options . sdk ? parseInt ( this . $options . sdk ) : this . getCompileSdkVersion ( ) ;
241
241
this . $logger . trace ( `Selected targetSdk is: ${ targetSdk } ` ) ;
242
242
return targetSdk ;
243
243
}
244
244
245
245
private getMatchingDir ( pathToDir : string , versionRange : string ) : string {
246
246
let selectedVersion : string ;
247
247
if ( this . $fs . exists ( pathToDir ) ) {
248
- let subDirs = this . $fs . readDirectory ( pathToDir ) ;
248
+ const subDirs = this . $fs . readDirectory ( pathToDir ) ;
249
249
this . $logger . trace ( `Directories found in ${ pathToDir } are ${ subDirs . join ( ", " ) } ` ) ;
250
250
251
- let subDirsVersions = subDirs
251
+ const subDirsVersions = subDirs
252
252
. map ( dirName => {
253
- let dirNameGroups = dirName . match ( AndroidToolsInfo . VERSION_REGEX ) ;
253
+ const dirNameGroups = dirName . match ( AndroidToolsInfo . VERSION_REGEX ) ;
254
254
if ( dirNameGroups ) {
255
255
return dirNameGroups [ 1 ] ;
256
256
}
@@ -259,7 +259,7 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
259
259
} )
260
260
. filter ( dirName => ! ! dirName ) ;
261
261
this . $logger . trace ( `Versions found in ${ pathToDir } are ${ subDirsVersions . join ( ", " ) } ` ) ;
262
- let version = semver . maxSatisfying ( subDirsVersions , versionRange ) ;
262
+ const version = semver . maxSatisfying ( subDirsVersions , versionRange ) ;
263
263
if ( version ) {
264
264
selectedVersion = _ . find ( subDirs , dir => dir . indexOf ( version ) !== - 1 ) ;
265
265
}
@@ -275,16 +275,16 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
275
275
private getBuildToolsVersion ( ) : string {
276
276
let buildToolsVersion : string ;
277
277
if ( this . androidHome ) {
278
- let pathToBuildTools = path . join ( this . androidHome , "build-tools" ) ;
279
- let buildToolsRange = this . getBuildToolsRange ( ) ;
278
+ const pathToBuildTools = path . join ( this . androidHome , "build-tools" ) ;
279
+ const buildToolsRange = this . getBuildToolsRange ( ) ;
280
280
buildToolsVersion = this . getMatchingDir ( pathToBuildTools , buildToolsRange ) ;
281
281
}
282
282
283
283
return buildToolsVersion ;
284
284
}
285
285
286
286
private getAppCompatRange ( ) : string {
287
- let compileSdkVersion = this . getCompileSdkVersion ( ) ;
287
+ const compileSdkVersion = this . getCompileSdkVersion ( ) ;
288
288
let requiredAppCompatRange : string ;
289
289
if ( compileSdkVersion ) {
290
290
requiredAppCompatRange = `>=${ compileSdkVersion } <${ compileSdkVersion + 1 } ` ;
@@ -295,9 +295,9 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
295
295
296
296
private getAndroidSupportRepositoryVersion ( ) : string {
297
297
let selectedAppCompatVersion : string ;
298
- let requiredAppCompatRange = this . getAppCompatRange ( ) ;
298
+ const requiredAppCompatRange = this . getAppCompatRange ( ) ;
299
299
if ( this . androidHome && requiredAppCompatRange ) {
300
- let pathToAppCompat = path . join ( this . androidHome , "extras" , "android" , "m2repository" , "com" , "android" , "support" , "appcompat-v7" ) ;
300
+ const pathToAppCompat = path . join ( this . androidHome , "extras" , "android" , "m2repository" , "com" , "android" , "support" , "appcompat-v7" ) ;
301
301
selectedAppCompatVersion = this . getMatchingDir ( pathToAppCompat , requiredAppCompatRange ) ;
302
302
}
303
303
@@ -306,7 +306,7 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
306
306
}
307
307
308
308
private getLatestValidAndroidTarget ( ) : string {
309
- let installedTargets = this . getInstalledTargets ( ) ;
309
+ const installedTargets = this . getInstalledTargets ( ) ;
310
310
return _ . findLast ( AndroidToolsInfo . SUPPORTED_TARGETS . sort ( ) , supportedTarget => _ . includes ( installedTargets , supportedTarget ) ) ;
311
311
}
312
312
0 commit comments