blob: d1c7b67bace6680fec15fc69a8b9db52f996df96 [file] [log] [blame] [edit]
#!/usr/bin/env node
var util = require('util');
var os = require('os');
var child_process = require('child_process');
var semver = require('semver')
var XCODEBUILD_NOT_FOUND_MESSAGE = 'Please install Xcode from the Mac App Store.';
var TOOL = 'xcodebuild';
var xcode_version = child_process.spawn(TOOL, ['-version']);
xcode_version.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});
xcode_version.on('error', function (err) {
console.log(util.format('Tool %s was not found. %s', TOOL, XCODEBUILD_NOT_FOUND_MESSAGE));
});
xcode_version.on('close', function (code) {
if (code === 0) {
var arr = version_string.match(/^Xcode (\d+\.\d+)/);
var ver = arr[1];
if (semver.gte(os.release(), '15.0.0') && semver.lt(ver + '.0', '7.0.0')) {
console.log(util.format('You need at least Xcode 7.0 when you are on OS X 10.11 El Capitan (you have version %s)', ver));
process.exit(1);
}
if (ver < XCODEBUILD_MIN_VERSION) {
console.log(util.format('%s : %s. (you have version %s)', TOOL, XCODEBUILD_NOT_FOUND_MESSAGE, ver));
}
if (os.release() >= '15.0.0') { // print the El Capitan warning
console.log('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
console.log('!!!! WARNING: You are on OS X 10.11 El Capitan or greater, you may need to add the');
console.log('!!!! WARNING: `--unsafe-perm=true` flag when running `npm install`');
console.log('!!!! WARNING: or else it will fail.');
console.log('!!!! WARNING: link:');
console.log('!!!! WARNING: https://github.com/ios-control/ios-deploy#os-x-1011-el-capitan-or-greater');
console.log('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
}
}
process.exit(code);
});