@@ -37,17 +37,24 @@ function provideNinja() {
37
37
function build_ninja ( ) {
38
38
console . log ( `building ninja` ) ;
39
39
ensureExists ( ninja_source_dir ) ;
40
- cp . execSync ( `tar xzvf ../ninja.tar.gz` , {
41
- cwd : ninja_source_dir ,
42
- stdio : [ 0 , 1 , 2 ] ,
43
- } ) ;
44
- console . log ( "No prebuilt Ninja, building Ninja now" ) ;
45
- var build_ninja_command = "./configure.py --bootstrap" ;
46
- cp . execSync ( build_ninja_command , {
47
- cwd : ninja_source_dir ,
48
- stdio : [ 0 , 1 , 2 ] ,
49
- } ) ;
50
- fs . copyFileSync ( path . join ( ninja_source_dir , "ninja" ) , ninja_bin_output ) ;
40
+ if ( fs . existsSync ( path . join ( root_dir , "vendor" , "ninja.tar.gz" ) ) ) {
41
+ cp . execSync ( `tar xzvf ../ninja.tar.gz` , {
42
+ cwd : ninja_source_dir ,
43
+ stdio : [ 0 , 1 , 2 ] ,
44
+ } ) ;
45
+ console . log ( "No prebuilt Ninja, building Ninja now" ) ;
46
+ var build_ninja_command = "./configure.py --bootstrap" ;
47
+ cp . execSync ( build_ninja_command , {
48
+ cwd : ninja_source_dir ,
49
+ stdio : [ 0 , 1 , 2 ] ,
50
+ } ) ;
51
+ fs . copyFileSync ( path . join ( ninja_source_dir , "ninja" ) , ninja_bin_output ) ;
52
+ } else {
53
+ console . log ( `ninja.tar.gz not availble in CI mode` ) ;
54
+ require ( "../ninja/snapshot" ) . build ( ) ;
55
+ fs . copyFileSync ( path . join ( root_dir , "ninja" , "ninja" ) , ninja_bin_output ) ;
56
+ }
57
+
51
58
console . log ( "ninja binary is ready: " , ninja_bin_output ) ;
52
59
}
53
60
@@ -73,7 +80,7 @@ function provideNinja() {
73
80
}
74
81
75
82
if (
76
- ( process . env . NINJA_FORCE_REBUILD === undefined ) &&
83
+ process . env . NINJA_FORCE_REBUILD === undefined &&
77
84
fs . existsSync ( ninja_bin_output ) &&
78
85
test_ninja_compatible ( ninja_bin_output )
79
86
) {
0 commit comments