nl_tokens: getPlatformApi () should be the only method of instantiating the PlatformProject classes for now .
pl_tokens: function getPlatformApi ( platform , platformRootDir ) { // if platformRootDir is not specified, try to detect it first if ( ! platformRootDir ) { var projectRootDir = util . isCordova ( ) ; platformRootDir = projectRootDir && path . join ( projectRootDir , 'platforms' , <mask> ) ; } if ( ! platformRootDir ) { // If platformRootDir is still undefined, then we're probably is not inside of cordova project throw new Error ( 'Current location is not a Cordova project' ) ; } // CB-11174 Resolve symlinks first before working with root directory platformRootDir = util . convertToRealPathSafe ( platformRootDir ) ; // Make sure the platforms/platform folder exists if ( ! fs . existsSync ( platformRootDir ) ) { throw new Error ( 'The platform "' + platform + '" does not appear to have been added to this project.' ) ; } var platformApi ; var cached = cachedApis [ platformRootDir ] ; var libDir = path . join ( platformRootDir , 'cordova' , 'Api.js' ) ; if ( cached && cached . platform === platform ) { platformApi = cached ; } else { var PlatformApi = util . getPlatformApiFunction ( libDir , platform ) ; platformApi = new PlatformApi ( platform , platformRootDir , events ) ; cachedApis [ platformRootDir ] = platformApi ; } return platformApi ; }