@@ -13,7 +13,6 @@ export class ProjectService implements IProjectService {
1313 public static APP_FOLDER_NAME = "app" ;
1414 public static PROJECT_FRAMEWORK_DIR = "framework" ;
1515
16- private cachedProjectDir : string = null ;
1716 public projectData : IProjectData = null ;
1817
1918 constructor ( private $logger : ILogger ,
@@ -22,52 +21,28 @@ export class ProjectService implements IProjectService {
2221 private $projectTemplatesService : IProjectTemplatesService ,
2322 private $androidProjectService : IPlatformProjectService ,
2423 private $iOSProjectService : IPlatformProjectService ,
24+ private $projectHelper : IProjectHelper ,
2525 private $config ) {
2626 this . projectData = this . getProjectData ( ) . wait ( ) ;
2727 }
2828
29- private get projectDir ( ) : string {
30- if ( this . cachedProjectDir ) {
31- return this . cachedProjectDir ;
32- }
33-
34- var projectDir = path . resolve ( options . path || "." ) ;
35- while ( true ) {
36- this . $logger . trace ( "Looking for project in '%s'" , projectDir ) ;
37-
38- if ( this . $fs . exists ( path . join ( projectDir , this . $config . PROJECT_FILE_NAME ) ) . wait ( ) ) {
39- this . $logger . debug ( "Project directory is '%s'." , projectDir ) ;
40- this . cachedProjectDir = projectDir ;
41- break ;
42- }
43-
44- var dir = path . dirname ( projectDir ) ;
45- if ( dir === projectDir ) {
46- this . $logger . debug ( "No project found at or above '%s'." , path . resolve ( "." ) ) ;
47- break ;
48- }
49- projectDir = dir ;
50- }
51-
52- return this . cachedProjectDir ;
53- }
54-
5529 private getProjectData ( ) : IFuture < IProjectData > {
5630 return ( ( ) => {
5731 var projectData : IProjectData = null ;
32+ var projectDir = this . $projectHelper . projectDir ;
5833
59- if ( this . projectDir ) {
34+ if ( projectDir ) {
6035 projectData = {
61- projectDir : this . projectDir ,
62- platformsDir : path . join ( this . projectDir , "platforms" ) ,
63- projectFilePath : path . join ( this . projectDir , this . $config . PROJECT_FILE_NAME )
36+ projectDir : projectDir ,
37+ platformsDir : path . join ( projectDir , "platforms" ) ,
38+ projectFilePath : path . join ( projectDir , this . $config . PROJECT_FILE_NAME )
6439 } ;
65- var projectFilePath = path . join ( this . projectDir , this . $config . PROJECT_FILE_NAME ) ;
40+ var projectFilePath = path . join ( projectDir , this . $config . PROJECT_FILE_NAME ) ;
6641
6742 if ( this . $fs . exists ( projectFilePath ) . wait ( ) ) {
6843 var fileContent = this . $fs . readJson ( projectFilePath ) . wait ( ) ;
6944 projectData . projectId = fileContent . id ;
70- projectData . projectName = path . basename ( this . projectDir ) ;
45+ projectData . projectName = path . basename ( projectDir ) ;
7146 }
7247 }
7348
0 commit comments