forked from ionic-team/ionic-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbrowser.js
More file actions
107 lines (89 loc) · 2.92 KB
/
browser.js
File metadata and controls
107 lines (89 loc) · 2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
//Cross walk process
//See the cordova-engine-crosswalk plugin for how to install the browser as a plugin
//https://github.com/MobileChromeApps/cordova-crosswalk-engine
//Find CrossWalk webviews here:
//https://download.01.org/crosswalk/releases/crosswalk/android/stable/
//Download the release for cordova-crosswalk-engine
//Download the release for cordova-android with crosswalk
//Ensure Android API 19 is installed
//Run ionic platform rm android
//Run ionic platform add ./engine/cordova-android-crosswalk
//Run ionic plugin add ./engine/cordova-crosswalk-engine
//Run android update project on android file
//Run project - cordova run android BUILD_MULTIPLE_APKS=true
var argv = require('optimist').argv,
Task = require('./task').Task,
IonicStats = require('./stats').IonicStats,
_ = require('underscore'),
IonicProject = require('./project'),
IonicAppLib = require('ionic-app-lib'),
Info = IonicAppLib.info,
Browser = IonicAppLib.browser;
var IonicTask = function() {};
IonicTask.prototype = new Task();
IonicTask.prototype.run = function run(ionic) {
try {
var self = this;
this.ionic = ionic;
if(!Info.checkRuntime()) {
console.log('\nPlease update your runtime environment before running the browser command');
return
}
if(argv._.length < 2) {
return this.ionic.fail('Invalid command usage', 'browser');
}
var cmdArg, x, y, hasValidCmd = false;
cmdArg = argv._[1]
var validCommands = 'add remove rm list ls revert versions clean upgrade'.split(' ');
for(y=0; y<validCommands.length; y++) {
if(cmdArg == validCommands[y]) {
hasValidCmd = true;
break;
}
}
if(!hasValidCmd) {
return this.ionic.fail('You did not supply a valid command', 'browser');
}
var appDirectory = process.cwd();
var platform = argv._[2],
browserToInstall = argv._[2];
var dontSavePlatformsPlugins = !(argv.nosave || argv.n);
switch(cmdArg) {
case 'add':
Browser.addBrowser(appDirectory, browserToInstall, dontSavePlatformsPlugins);
break;
case 'clean':
Browser.clean(appDirectory);
break;
case 'remove':
case 'rm':
Browser.removeBrowser(appDirectory, browserToInstall);
break;
case 'revert':
Browser.revertBrowser(appDirectory, platform);
break;
case 'list':
case 'ls':
Browser.listBrowsers(appDirectory);
break;
case 'upgrade':
Browser.upgradeCrosswalk(appDirectory);
break;
case 'update':
case 'up':
Browser.addBrowser(appDirectory);
break;
case 'check':
console.log('Checking for engine');
break;
case 'info':
case 'versions':
Browser.listInstalledBrowsers(appDirectory);
}
IonicStats.t();
} catch (ex) {
console.log(ex.stack);
console.log('Exception:', ex);
}
};
exports.IonicTask = IonicTask;