@@ -105,37 +105,29 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
105105 this . copy ( projectRoot , frameworkDir , "build.gradle settings.gradle" , "-f" ) ;
106106 }
107107
108- this . copyResValues ( projectRoot , frameworkDir , versionNumber ) . wait ( ) ;
108+ this . cleanResValues ( versionNumber ) . wait ( ) ;
109109
110110 } ) . future < any > ( ) ( ) ;
111111 }
112112
113- private copyResValues ( projectRoot : string , frameworkDir : string , versionNumber : string ) : IFuture < void > {
113+ private cleanResValues ( versionNumber : string ) : IFuture < void > {
114114 return ( ( ) => {
115- let resSourceDir = path . join ( frameworkDir , "src" , "main" , "res" ) ;
116115 let resDestinationDir = this . getAppResourcesDestinationDirectoryPath ( ) . wait ( ) ;
117- this . $fs . createDirectory ( resDestinationDir ) . wait ( ) ;
118- let versionDirName = AndroidProjectService . VALUES_VERSION_DIRNAME_PREFIX + versionNumber ;
119- let directoriesToCopy = [ AndroidProjectService . VALUES_DIRNAME ] ;
120- let directoriesInResFolder = this . $fs . readDirectory ( resSourceDir ) . wait ( ) ;
121- let integerFrameworkVersion = parseInt ( versionNumber ) ;
122- let versionDir = _ . find ( directoriesInResFolder , dir => dir === versionDirName ) ||
123- _ ( directoriesInResFolder )
124- . map ( dir => {
125- return {
116+ let directoriesInResFolder = this . $fs . readDirectory ( resDestinationDir ) . wait ( ) ;
117+ let integerFrameworkVersion = parseInt ( versionNumber ) ;
118+ let directoriesToClean = directoriesInResFolder
119+ . map ( dir => { return {
126120 dirName : dir ,
127121 sdkNum : parseInt ( dir . substr ( AndroidProjectService . VALUES_VERSION_DIRNAME_PREFIX . length ) )
128122 } ;
129123 } )
130- . filter ( dir => dir . dirName . match ( AndroidProjectService . VALUES_VERSION_DIRNAME_PREFIX ) && dir . sdkNum && ( ! integerFrameworkVersion || ( integerFrameworkVersion >= dir . sdkNum ) ) )
131- . max ( dir => dir . sdkNum )
132- . dirName ;
133-
134- if ( versionDir ) {
135- directoriesToCopy . push ( versionDir ) ;
136- }
137-
138- this . copy ( resDestinationDir , resSourceDir , directoriesToCopy . join ( " " ) , "-Rf" ) ;
124+ . filter ( dir => dir . dirName . match ( AndroidProjectService . VALUES_VERSION_DIRNAME_PREFIX )
125+ && dir . sdkNum
126+ && ( ! integerFrameworkVersion || ( integerFrameworkVersion < dir . sdkNum ) ) )
127+ . map ( dir => path . join ( resDestinationDir , dir . dirName ) ) ;
128+ this . $logger . trace ( "Directories to clean:" ) ;
129+ this . $logger . trace ( directoriesToClean ) ;
130+ Future . wait ( _ . map ( directoriesToClean , dir => this . $fs . deleteDirectory ( dir ) ) ) ;
139131 } ) . future < void > ( ) ( ) ;
140132 }
141133
0 commit comments