in src/plugman/install.js [161:193]
function callEngineScripts (engines, project_dir) {
return Promise.all(
engines.map(function (engine) {
// CB-5192; on Windows scriptSrc doesn't have file extension so we shouldn't check whether the script exists
const scriptPath = engine.scriptSrc || null;
if (scriptPath && (isWindows || fs.existsSync(engine.scriptSrc))) {
if (!isWindows) { // not required on Windows
fs.chmodSync(engine.scriptSrc, '755');
}
return execa(scriptPath)
.then(({ stdout }) => {
engine.currentVersion = cleanVersionOutput(stdout, engine.name);
if (engine.currentVersion === '') {
events.emit('warn', engine.name + ' version check returned nothing (' + scriptPath + '), continuing anyways.');
engine.currentVersion = null;
}
}, () => {
events.emit('warn', engine.name + ' version check failed (' + scriptPath + '), continuing anyways.');
engine.currentVersion = null;
})
.then(_ => engine);
} else {
if (engine.currentVersion) {
engine.currentVersion = cleanVersionOutput(engine.currentVersion, engine.name);
} else {
events.emit('warn', engine.name + ' version not detected (lacks script ' + scriptPath + ' ), continuing.');
}
return Promise.resolve(engine);
}
})
);
}