From a4732ac10aae3193d28128da8127810a87dcfd04 Mon Sep 17 00:00:00 2001 From: Kristian Dimitrov Date: Wed, 23 May 2018 16:23:00 +0300 Subject: [PATCH] fix(plarform-remove): remove platform java 10 fail --- lib/services/android-project-service.ts | 2 +- lib/services/platform-service.ts | 25 +++++++++++++++++++------ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/lib/services/android-project-service.ts b/lib/services/android-project-service.ts index bab3bee3b7..7157e0fdec 100644 --- a/lib/services/android-project-service.ts +++ b/lib/services/android-project-service.ts @@ -605,7 +605,7 @@ export class AndroidProjectService extends projectServiceBaseLib.PlatformProject } public stopServices(projectRoot: string): Promise { - return this.executeCommand(projectRoot, ["--stop", "--quiet"]); + return this.executeCommand(projectRoot, ["--stop", "--quiet"], {stdio: "pipe"}); } public async cleanProject(projectRoot: string, projectData: IProjectData): Promise { diff --git a/lib/services/platform-service.ts b/lib/services/platform-service.ts index 2002cbc543..6d517014aa 100644 --- a/lib/services/platform-service.ts +++ b/lib/services/platform-service.ts @@ -646,14 +646,27 @@ export class PlatformService extends EventEmitter implements IPlatformService { for (const platform of platforms) { this.validatePlatformInstalled(platform, projectData); const platformData = this.$platformsData.getPlatformData(platform, projectData); + let gradleErrorMessage; - await platformData.platformProjectService.stopServices(platformData.projectRoot); - - const platformDir = path.join(projectData.platformsDir, platform); - this.$fs.deleteDirectory(platformDir); - this.$projectDataService.removeNSProperty(projectData.projectDir, platformData.frameworkPackageName); + try { + await platformData.platformProjectService.stopServices(platformData.projectRoot); + } catch (err) { + gradleErrorMessage = err.message; + } - this.$logger.out(`Platform ${platform} successfully removed.`); + try { + const platformDir = path.join(projectData.platformsDir, platform.toLowerCase()); + this.$fs.deleteDirectory(platformDir); + this.$projectDataService.removeNSProperty(projectData.projectDir, platformData.frameworkPackageName); + + this.$logger.out(`Platform ${platform} successfully removed.`); + } catch (err) { + this.$logger.error(`Failed to remove ${platform} platform with errors:`); + if (gradleErrorMessage) { + this.$logger.error(gradleErrorMessage); + } + this.$errors.failWithoutHelp(err.message); + } } }