Skip to content

Commit 42365c7

Browse files
committed
FIX: in regular mode, the ninja.tar.gz is not available
1 parent 9e82ecc commit 42365c7

File tree

2 files changed

+20
-13
lines changed

2 files changed

+20
-13
lines changed

scripts/install.js

+19-12
Original file line numberDiff line numberDiff line change
@@ -37,17 +37,24 @@ function provideNinja() {
3737
function build_ninja() {
3838
console.log(`building ninja`);
3939
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+
5158
console.log("ninja binary is ready: ", ninja_bin_output);
5259
}
5360

@@ -73,7 +80,7 @@ function provideNinja() {
7380
}
7481

7582
if (
76-
(process.env.NINJA_FORCE_REBUILD === undefined) &&
83+
process.env.NINJA_FORCE_REBUILD === undefined &&
7784
fs.existsSync(ninja_bin_output) &&
7885
test_ninja_compatible(ninja_bin_output)
7986
) {

0 commit comments

Comments
 (0)