@@ -7,23 +7,37 @@ export class InstallCommand implements ICommand {
7
7
constructor ( private $platformsData : IPlatformsData ,
8
8
private $platformService : IPlatformService ,
9
9
private $projectData : IProjectData ,
10
- private $projectDataService : IProjectDataService ) { }
10
+ private $projectDataService : IProjectDataService ,
11
+ private $pluginsService : IPluginsService ,
12
+ private $logger : ILogger ) { }
11
13
12
14
public enableHooks = false ;
13
15
14
16
public allowedParameters : ICommandParameter [ ] = [ ] ;
15
17
16
18
public execute ( args : string [ ] ) : IFuture < void > {
17
19
return ( ( ) => {
18
- this . $projectDataService . initialize ( this . $projectData . projectDir ) ;
20
+ let error : string = "" ;
19
21
22
+ this . $pluginsService . ensureAllDependenciesAreInstalled ( ) . wait ( ) ;
23
+
24
+ this . $projectDataService . initialize ( this . $projectData . projectDir ) ;
20
25
_ . each ( this . $platformsData . platformsNames , platform => {
21
26
let platformData = this . $platformsData . getPlatformData ( platform ) ;
22
27
let frameworkPackageData = this . $projectDataService . getValue ( platformData . frameworkPackageName ) . wait ( ) ;
23
28
if ( frameworkPackageData && frameworkPackageData . version ) {
24
- this . $platformService . addPlatforms ( [ `${ platform } @${ frameworkPackageData . version } ` ] ) . wait ( ) ;
29
+ try {
30
+ this . $platformService . addPlatforms ( [ `${ platform } @${ frameworkPackageData . version } ` ] ) . wait ( ) ;
31
+ } catch ( err ) {
32
+ error += err ;
33
+ }
25
34
}
26
35
} ) ;
36
+
37
+ if ( error ) {
38
+ this . $logger . error ( error ) ;
39
+ }
40
+
27
41
} ) . future < void > ( ) ( ) ;
28
42
}
29
43
}
0 commit comments