11import * as path from "path" ;
2- import * as _ from ' lodash' ;
2+ import * as _ from " lodash" ;
33import { cache } from "./common/decorators" ;
44import { androidToolsInfo } from "@nativescript/doctor" ;
5- import { injector } from './common/yok' ;
6- import { IAndroidToolsInfo , IOptions , IAndroidToolsInfoData , IAndroidToolsInfoValidateInput , IAndroidToolsInfoOptions } from "./declarations" ;
5+ import { injector } from "./common/yok" ;
6+ import {
7+ IAndroidToolsInfo ,
8+ IOptions ,
9+ IAndroidToolsInfoData ,
10+ IAndroidToolsInfoValidateInput ,
11+ IAndroidToolsInfoOptions ,
12+ } from "./declarations" ;
713import { IErrors , IProjectDir } from "./common/declarations" ;
814
915export class AndroidToolsInfo implements IAndroidToolsInfo {
10- constructor ( private $errors : IErrors ,
16+ constructor (
17+ private $errors : IErrors ,
1118 private $logger : ILogger ,
1219 private $options : IOptions ,
13- protected $staticConfig : Config . IStaticConfig ) {
14- }
20+ protected $staticConfig : Config . IStaticConfig
21+ ) { }
1522
1623 @cache ( )
1724 public getToolsInfo ( config : IProjectDir ) : IAndroidToolsInfoData {
18- const infoData : IAndroidToolsInfoData = < IAndroidToolsInfoData > ( androidToolsInfo . getToolsInfo ( { projectDir : config . projectDir } ) ) ;
25+ const infoData : IAndroidToolsInfoData = < IAndroidToolsInfoData > (
26+ androidToolsInfo . getToolsInfo ( { projectDir : config . projectDir } )
27+ ) ;
1928
2029 infoData . androidHomeEnvVar = androidToolsInfo . androidHome ;
21- infoData . compileSdkVersion = this . getCompileSdkVersion ( infoData . installedTargets , infoData . compileSdkVersion ) ;
30+ infoData . compileSdkVersion = this . getCompileSdkVersion (
31+ infoData . installedTargets ,
32+ infoData . compileSdkVersion
33+ ) ;
2234 infoData . targetSdkVersion = this . getTargetSdk ( infoData . compileSdkVersion ) ;
2335 infoData . generateTypings = this . shouldGenerateTypings ( ) ;
2436
25- this . $logger . trace ( "Installed Android Targets are: " , infoData . installedTargets ) ;
26- this . $logger . trace ( "Selected buildToolsVersion is:" , infoData . buildToolsVersion ) ;
37+ this . $logger . trace (
38+ "Installed Android Targets are: " ,
39+ infoData . installedTargets
40+ ) ;
41+ this . $logger . trace (
42+ "Selected buildToolsVersion is:" ,
43+ infoData . buildToolsVersion
44+ ) ;
2745
2846 return infoData ;
2947 }
@@ -33,7 +51,12 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
3351 const showWarningsAsErrors = options && options . showWarningsAsErrors ;
3452 const isAndroidHomeValid = this . validateAndroidHomeEnvVariable ( options ) ;
3553
36- detectedErrors = androidToolsInfo . validateInfo ( { projectDir : options . projectDir } ) . map ( warning => this . printMessage ( warning . warning , showWarningsAsErrors ) ) . length > 0 ;
54+ detectedErrors =
55+ androidToolsInfo
56+ . validateInfo ( { projectDir : options . projectDir } )
57+ . map ( ( warning ) =>
58+ this . printMessage ( warning . warning , showWarningsAsErrors )
59+ ) . length > 0 ;
3760
3861 if ( options && options . validateTargetSdk ) {
3962 detectedErrors = this . validateTargetSdk ( options ) ;
@@ -45,22 +68,44 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
4568 public validateTargetSdk ( options : IAndroidToolsInfoOptions ) : boolean {
4669 let detectedErrors = false ;
4770
48- const toolsInfoData = this . getToolsInfo ( { projectDir : options . projectDir } ) ;
71+ const toolsInfoData = this . getToolsInfo ( { projectDir : options . projectDir } ) ;
4972 const targetSdk = toolsInfoData . targetSdkVersion ;
5073
51- detectedErrors = androidToolsInfo . validateMinSupportedTargetSdk ( { targetSdk, projectDir : options . projectDir } ) . map ( warning => this . printMessage ( warning . warning , options . showWarningsAsErrors ) ) . length > 0 ;
74+ detectedErrors =
75+ androidToolsInfo
76+ . validateMinSupportedTargetSdk ( {
77+ targetSdk,
78+ projectDir : options . projectDir ,
79+ } )
80+ . map ( ( warning ) =>
81+ this . printMessage ( warning . warning , options . showWarningsAsErrors )
82+ ) . length > 0 ;
5283
5384 if ( ! detectedErrors ) {
54- androidToolsInfo . validataMaxSupportedTargetSdk ( { targetSdk, projectDir : options . projectDir } ) . map ( warning => this . $logger . warn ( warning . warning ) ) ;
85+ androidToolsInfo
86+ . validataMaxSupportedTargetSdk ( {
87+ targetSdk,
88+ projectDir : options . projectDir ,
89+ } )
90+ . map ( ( warning ) => this . $logger . warn ( warning . warning ) ) ;
5591 }
5692
5793 return detectedErrors ;
5894 }
5995
60- public validateJavacVersion ( installedJavacVersion : string , options ?: IAndroidToolsInfoOptions ) : boolean {
96+ public validateJavacVersion (
97+ installedJavacVersion : string ,
98+ options ?: IAndroidToolsInfoOptions
99+ ) : boolean {
61100 const showWarningsAsErrors = options && options . showWarningsAsErrors ;
62101
63- return androidToolsInfo . validateJavacVersion ( installedJavacVersion ) . map ( warning => this . printMessage ( warning . warning , showWarningsAsErrors ) ) . length > 0 ;
102+ return (
103+ androidToolsInfo
104+ . validateJavacVersion ( installedJavacVersion )
105+ . map ( ( warning ) =>
106+ this . printMessage ( warning . warning , showWarningsAsErrors )
107+ ) . length > 0
108+ ) ;
64109 }
65110
66111 public async getPathToAdbFromAndroidHome ( ) : Promise < string > {
@@ -69,17 +114,31 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
69114 } catch ( err ) {
70115 // adb does not exist, so ANDROID_HOME is not set correctly
71116 // try getting default adb path (included in CLI package)
72- this . $logger . trace ( `Error while executing '${ path . join ( androidToolsInfo . androidHome , "platform-tools" , "adb" ) } help'. Error is: ${ err . message } ` ) ;
117+ this . $logger . trace (
118+ `Error while executing '${ path . join (
119+ androidToolsInfo . androidHome ,
120+ "platform-tools" ,
121+ "adb"
122+ ) } help'. Error is: ${ err . message } `
123+ ) ;
73124 }
74125
75126 return null ;
76127 }
77128
78129 @cache ( )
79- public validateAndroidHomeEnvVariable ( options ?: IAndroidToolsInfoOptions ) : boolean {
130+ public validateAndroidHomeEnvVariable (
131+ options ?: IAndroidToolsInfoOptions
132+ ) : boolean {
80133 const showWarningsAsErrors = options && options . showWarningsAsErrors ;
81134
82- return androidToolsInfo . validateAndroidHomeEnvVariable ( ) . map ( warning => this . printMessage ( warning . warning , showWarningsAsErrors ) ) . length > 0 ;
135+ return (
136+ androidToolsInfo
137+ . validateAndroidHomeEnvVariable ( )
138+ . map ( ( warning ) =>
139+ this . printMessage ( warning . warning , showWarningsAsErrors )
140+ ) . length > 0
141+ ) ;
83142 }
84143
85144 private shouldGenerateTypings ( ) : boolean {
@@ -102,13 +161,18 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
102161 }
103162 }
104163
105- private getCompileSdkVersion ( installedTargets : string [ ] , latestCompileSdk : number ) : number {
164+ private getCompileSdkVersion (
165+ installedTargets : string [ ] ,
166+ latestCompileSdk : number
167+ ) : number {
106168 const userSpecifiedCompileSdk = this . $options . compileSdk ;
107169
108170 if ( userSpecifiedCompileSdk ) {
109171 const androidCompileSdk = `${ androidToolsInfo . ANDROID_TARGET_PREFIX } -${ userSpecifiedCompileSdk } ` ;
110172 if ( ! _ . includes ( installedTargets , androidCompileSdk ) ) {
111- this . $errors . fail ( `You have specified '${ userSpecifiedCompileSdk } ' for compile sdk, but it is not installed on your system.` ) ;
173+ this . $errors . fail (
174+ `You have specified '${ userSpecifiedCompileSdk } ' for compile sdk, but it is not installed on your system.`
175+ ) ;
112176 }
113177
114178 return userSpecifiedCompileSdk ;
@@ -119,7 +183,9 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
119183
120184 // TODO check if still needed
121185 private getTargetSdk ( compileSdk : number ) : number {
122- const targetSdk = this . $options . sdk ? parseInt ( this . $options . sdk ) : compileSdk ;
186+ const targetSdk = this . $options . sdk
187+ ? parseInt ( this . $options . sdk )
188+ : compileSdk ;
123189 this . $logger . trace ( `Selected targetSdk is: ${ targetSdk } ` ) ;
124190 return targetSdk ;
125191 }
0 commit comments