Skip to content

Commit f7071e6

Browse files
Merge pull request #857 from NativeScript/vladimirov/fix-values-dirs
Clean res dir of Android project
2 parents 16647fc + cd2ab1d commit f7071e6

File tree

1 file changed

+13
-21
lines changed

1 file changed

+13
-21
lines changed

lib/services/android-project-service.ts

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)