UNPKG

1.44 kBJavaScriptView Raw
1var path = require('path');
2var exec = require('child_process').exec;
3
4var linkToPrivateRepo = (process.argv[2] && process.argv[2].indexOf('pr') === 0);
5
6var servicePackages = [
7 'computeManagement',
8 'gallery',
9 'management',
10 'monitoring',
11 'networkManagement',
12 'resourceManagement',
13 'scheduler',
14 'schedulerManagement',
15 'serviceBusManagement',
16 'sqlManagement',
17 'storageManagement',
18 'subscriptionManagement',
19 'webSiteManagement',
20 'authorizationManagement',
21 'extra',
22 'hdinsight',
23 'apiAppManagement'
24];
25
26//
27// This script assumes that the node sdk is sitting next to
28// the xplat cli on the file system. If not, change the
29// below variable to point to it.
30//
31
32var root = '../' + (linkToPrivateRepo ? 'azure-sdk-for-node-pr' : 'azure-sdk-for-node');
33
34var packagesToLink = [ 'lib/common' ].concat(servicePackages.map(function (p) { return 'lib/services/' + p; })).concat('');
35
36var commands = packagesToLink.map(function (path) {
37 return 'npm link ' + root + '/' + path;
38});
39
40function executeCmds(cmds) {
41 if (cmds.length > 0) {
42 var current = cmds.shift();
43 cwd = path.join(__dirname, '/../');
44
45 exec(current, { cwd: cwd }, function (err, stdout, stderr) {
46 if (stdout) {
47 console.log(stdout);
48 }
49 if (stderr) {
50 console.log(stderr);
51 }
52
53 if (err) {
54 console.log(err);
55 } else {
56 executeCmds(cmds);
57 }
58 });
59 }
60}
61
62executeCmds(commands);