diff --git a/lib/common b/lib/common index 5134c4aec3..45bb149f11 160000 --- a/lib/common +++ b/lib/common @@ -1 +1 @@ -Subproject commit 5134c4aec372b1cdd2f8763bfd559413a48d4865 +Subproject commit 45bb149f11cef3d66abf1a95f9ec8b4b7053126b diff --git a/lib/project-data.ts b/lib/project-data.ts index 638f10823a..ee60487504 100644 --- a/lib/project-data.ts +++ b/lib/project-data.ts @@ -24,14 +24,14 @@ export class ProjectData implements IProjectData { // If no project found, projectDir should be null if(projectDir) { this.projectDir = projectDir; - this.projectName = path.basename(projectDir); + this.projectName = this.$projectHelper.sanitizeName(path.basename(projectDir)); this.platformsDir = path.join(projectDir, "platforms"); this.projectFilePath = path.join(projectDir, this.$staticConfig.PROJECT_FILE_NAME); if (this.$fs.exists(this.projectFilePath).wait()) { try { - var fileContent = this.$fs.readJson(this.projectFilePath).wait(); - this.projectId = fileContent.id; + var fileContent = this.$fs.readJson(this.projectFilePath).wait(); + this.projectId = fileContent.id; } catch (err) { this.$errors.fail({formatStr: "The project file %s is corrupted." + os.EOL + "Consider restoring an earlier version from your source control or backup." + os.EOL + diff --git a/lib/services/android-project-service.ts b/lib/services/android-project-service.ts index 4af9f83b34..11730e122a 100644 --- a/lib/services/android-project-service.ts +++ b/lib/services/android-project-service.ts @@ -156,12 +156,6 @@ class AndroidProjectService implements IPlatformProjectService { return this.$fs.exists(path.join(projectRoot, "assets", constants.APP_FOLDER_NAME)); } - private generateBuildFile(projDir: string, targetSdk: string): void { - this.$logger.info("Generate build.xml for %s", projDir); - var cmd = util.format("android update project -p %s --target %s --subprojects", projDir, targetSdk); - this.$childProcess.exec(cmd).wait(); - } - private parseProjectProperties(projDir: string, destDir: string): void { var projProp = path.join(projDir, "project.properties"); @@ -188,7 +182,8 @@ class AndroidProjectService implements IPlatformProjectService { var targetDir = path.join(destDir, path.basename(projDir)); // TODO: parametrize targetSdk var targetSdk = "android-17"; - this.generateBuildFile(targetDir, targetSdk); + this.$logger.info("Generate build.xml for %s", targetDir); + this.runAndroidUpdate(targetDir, targetSdk).wait(); } private getProjectReferences(projDir: string): ILibRef[]{ diff --git a/lib/services/project-service.ts b/lib/services/project-service.ts index cccb0d8f71..54baa25940 100644 --- a/lib/services/project-service.ts +++ b/lib/services/project-service.ts @@ -10,6 +10,8 @@ import shell = require("shelljs"); import util = require("util"); export class ProjectService implements IProjectService { + private static DEFAULT_APP_IDENTIFIER_PREFIX = "org.nativescript"; + constructor(private $errors: IErrors, private $fs: IFileSystem, private $logger: ILogger, @@ -25,7 +27,7 @@ export class ProjectService implements IProjectService { } this.$projectNameValidator.validate(projectName); - var projectId = options.appid || this.$projectHelper.generateDefaultAppId(projectName, "org.nativescript"); + var projectId = options.appid || this.$projectHelper.generateDefaultAppId(projectName, ProjectService.DEFAULT_APP_IDENTIFIER_PREFIX); var projectDir = path.join(path.resolve(options.path || "."), projectName); this.$fs.createDirectory(projectDir).wait(); diff --git a/test/stubs.ts b/test/stubs.ts index d26f8f44b9..9fb439a3b0 100644 --- a/test/stubs.ts +++ b/test/stubs.ts @@ -321,6 +321,10 @@ export class ProjectHelperStub implements IProjectHelper { generateDefaultAppId(appName: string, baseAppId: string): string { return "org.nativescript"; } + + sanitizeName(appName: string): string { + return ""; + } } export class ProjectTemplatesService implements IProjectTemplatesService {