modi-cli
Version:
Console application for provisioning, displaying or destroying virtual machines in MODI
80 lines (44 loc) • 2.4 kB
JavaScript
var fs = require('fs');
var sys = require('sys');
var exec = require('child_process').exec;
console.log('Creating post install command');
var osversion = process.platform;
var homePath;
//= process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE;
var loginToken = 'bsbdjfuidsgdnskdhdkdskdj2n564jcdjdki'; //'-�\aU)\'�N�Ng�\t�A6�_DO�$�9�kt\b'
console.log(osversion);
switch (osversion) {
case 'win32':
homePath = process.env.USERPROFILE;
console.log('Windows post install steps');
console.log('Creating shortcut on dirname = ' + __dirname);
fs.writeFileSync(homePath + '\\modi.bat', 'node "' + __dirname + '\\AppMain.js" %*');
exec('setx PATH "%PATH%;' + homePath + '"');
exec('setx MODICLILOGINTOKEN "' + loginToken + '"');
exec('exit');
break;
case 'linux':
homePath = process.env.HOME;
console.log('Linux post install steps');
console.log('Creating shortcut on dirname = ' + __dirname);
fs.writeFileSync(homePath + '/modi', 'node ' + __dirname + '/AppMain.js "$@"');
exec('chmod 777 ' + homePath + '/modi');
exec('echo "export PATH=$PATH:' + homePath + '" >> ~/.bash_profile');
exec('export PATH=$PATH:' + homePath);
exec('echo "export MODICLILOGINTOKEN=' + loginToken + '" >> ~/.bash_profile');
//exec('MODICLILOGINTOKEN="' + "-�\aU)\'�N�Ng�\t�A6�_DO�$�9�kt\b" + '"');
break;
case 'darwin':
homePath = process.env.HOME;
console.log('MacOsx post install steps');
console.log('Creating shortcut on dirname = ' + __dirname);
fs.writeFileSync(homePath + '/modi', 'node ' + __dirname + '/AppMain.js "$@"');
exec('chmod 777 ' + homePath + '/modi');
exec('echo "export PATH=$PATH:' + homePath + '" >> ~/.bash_profile');
exec('export PATH=$PATH:' + homePath);
exec('echo "export MODICLILOGINTOKEN=' + loginToken + '" >> ~/.bash_profile');
//exec('MODICLILOGINTOKEN="' + "-�\aU)\'�N�Ng�\t�A6�_DO�$�9�kt\b" + '"');
break;
default:
}
fs.unlink(__dirname + "/postinstall.js");