blob: 9ccad616700a35da13f1010ff21023765ccfe980 [file] [log] [blame]
var args = WScript.Arguments;
var wscript_shell = WScript.CreateObject("WScript.Shell");
var REQUIRE_GIT = false;
function Usage() {
Log("Usage: [ check_reqs | cscript check_reqs.js ]");
Log("examples:");
Log(" cscript C:\\Users\\anonymous\\cordova-wp7\\bin\\check_reqs.js");
Log(" CordovaWindowsPhone\\bin\\check_reqs");
}
// log to stdout or stderr
function Log(msg, error) {
if (error) {
WScript.StdErr.WriteLine(msg);
}
else {
WScript.StdOut.WriteLine(msg);
}
}
// gets the output from a command, failing with the given error message
function check_command(cmd, fail_msg) {
var out = wscript_shell.Exec(cmd);
while (out.Status == 0) {
WScript.Sleep(100);
}
//Check that command executed
if (!out.StdErr.AtEndOfStream) {
var line = out.StdErr.ReadLine();
Log(fail_msg, true);
Log('Output : ' + line, true);
WScript.Quit(1);
}
if (!out.StdOut.AtEndOfStream) {
var line = out.StdOut.ReadAll();
return line;
}
else {
Log('Unable to get output from command "' + cmd + '"', true);
WScript.Quit(1);
}
}
/* The tooling for cordova windows phone requires these commands
* in the environment PATH variable.
* - msbuild (C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319)
* - git? (for dynamic cli loading of projects?)
*/
function SystemRequiermentsMet() {
var cmd = 'msbuild -version'
var fail_msg = 'The command `msbuild` failed. Make sure you have the latest Windows Phone SDKs installed, and the `msbuild.exe` command (inside C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319) is added to your path.'
var output = check_command(cmd, fail_msg);
var msversion = output.match(/\.NET\sFramework\,\sversion\s4\.0/);
if (!msversion) {
Log('Please install the .NET Framwork v4.0.30319 (in the latest windows phone SDK\'s).', true);
Log('Make sure the "msbuild" command in your path is pointing to v4.0.30319 of msbuild as well (inside C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319).', true);
WScript.Quit(1);
}
if(REQUIRE_GIT) {
cmd = 'git --version';
fail_msg = 'The command `git` failed. Make sure you have git installed as well ad in your PATH environment so the tool can use it';
output = check_command(cmd, fail_msg);
var gitVersion = output.match(/git\sversion\s1\./);
if (!gitVersion) {
Log('Please ensure you have at least git v1 installed and added to you PATH so this tool can use it to get the latest codova.');
}
}
}
if (args.Count() > 0) {
// support help flags
if (args(0) == "--help" || args(0) == "/?" ||
args(0) == "help" || args(0) == "-help" || args(0) == "/help" || args(0) == "-h") {
Usage();
WScript.Quit(1);
}
else {
Log('Error : Did not recognize argument ' + args(0), true)
Usage();
WScript.Quit(1);
}
}
SystemRequiermentsMet();