@@ -34,9 +34,11 @@ gulp.task('clean', ['omnisharp:clean', 'debugger:clean', 'package:clean'], () =
3434} ) ;
3535
3636/// Omnisharp Tasks
37- function installOmnisharp ( flavor , platform ) {
37+ function installOmnisharp ( omnisharps ) {
3838 const logger = ( message ) => { console . log ( message ) ; } ;
39- return download . go ( flavor , platform , logger ) ;
39+ const promises = omnisharps . map ( ( omni ) => download . go ( omni . flavor , omni . platform , logger ) ) ;
40+
41+ return Promise . all ( promises ) ;
4042}
4143
4244function cleanOmnisharp ( ) {
@@ -51,7 +53,7 @@ gulp.task('omnisharp:install', ['omnisharp:clean'], () => {
5153 const flavor = gulpUtil . env . flavor || Flavor . CoreCLR ;
5254 const platform = gulpUtil . env . platform || platform . getCurrentPlatform ( ) ;
5355
54- return installOmnisharp ( flavor , platform ) ;
56+ return installOmnisharp ( [ { flavor, platform} ] ) ;
5557} ) ;
5658
5759/// Debugger Tasks
@@ -102,11 +104,11 @@ function doPackageSync(packageName) {
102104 }
103105}
104106
105- function doOfflinePackage ( runtimeId , flavor , platform , packageName ) {
107+ function doOfflinePackage ( runtimeId , omnisharps , packageName ) {
106108 return clean ( ) . then ( ( ) => {
107109 return installDebugger ( runtimeId ) ;
108110 } ) . then ( ( ) => {
109- return installOmnisharp ( flavor , platform ) ;
111+ return installOmnisharp ( omnisharps ) ;
110112 } ) . then ( ( ) => {
111113 doPackageSync ( packageName + '-' + runtimeId + '.vsix' ) ;
112114 } ) ;
@@ -127,21 +129,21 @@ gulp.task('package:offline', ['clean'], () => {
127129 var packageName = name + '.' + version ;
128130
129131 var packages = [ ] ;
130- packages . push ( { rid : 'win7-x64' , flavor : Flavor . Desktop , platform : Platform . Windows } ) ;
131- packages . push ( { rid : 'osx.10.11-x64' , flavor : Flavor . CoreCLR , platform : Platform . OSX } ) ;
132- packages . push ( { rid : 'centos.7-x64' , flavor : Flavor . CoreCLR , platform : Platform . CentOS } ) ;
133- packages . push ( { rid : 'debian.8-x64' , flavor : Flavor . CoreCLR , platform : Platform . Debian } ) ;
134- packages . push ( { rid : 'fedora.23-x64' , flavor : Flavor . CoreCLR , platform : Platform . Fedora } ) ;
135- packages . push ( { rid : 'opensuse.13.2-x64' , flavor : Flavor . CoreCLR , platform : Platform . OpenSUSE } ) ;
136- packages . push ( { rid : 'rhel.7.2-x64' , flavor : Flavor . CoreCLR , platform : Platform . RHEL } ) ;
137- packages . push ( { rid : 'ubuntu.14.04-x64' , flavor : Flavor . CoreCLR , platform : Platform . Ubuntu14 } ) ;
138- packages . push ( { rid : 'ubuntu.16.04-x64' , flavor : Flavor . CoreCLR , platform : Platform . Ubuntu16 } ) ;
132+ packages . push ( { rid : 'win7-x64' , omnisharps : [ { flavor : Flavor . CoreCLR , platform : Platform . Windows } , { flavor : Flavor . Desktop , platform : Platform . Windows } ] } ) ;
133+ packages . push ( { rid : 'osx.10.11-x64' , omnisharps : [ { flavor : Flavor . CoreCLR , platform : Platform . OSX } ] } ) ;
134+ packages . push ( { rid : 'centos.7-x64' , omnisharps : [ { flavor : Flavor . CoreCLR , platform : Platform . CentOS } ] } ) ;
135+ packages . push ( { rid : 'debian.8-x64' , omnisharps : [ { flavor : Flavor . CoreCLR , platform : Platform . Debian } ] } ) ;
136+ packages . push ( { rid : 'fedora.23-x64' , omnisharps : [ { flavor : Flavor . CoreCLR , platform : Platform . Fedora } ] } ) ;
137+ packages . push ( { rid : 'opensuse.13.2-x64' , omnisharps : [ { flavor : Flavor . CoreCLR , platform : Platform . OpenSUSE } ] } ) ;
138+ packages . push ( { rid : 'rhel.7.2-x64' , omnisharps : [ { flavor : Flavor . CoreCLR , platform : Platform . RHEL } ] } ) ;
139+ packages . push ( { rid : 'ubuntu.14.04-x64' , omnisharps : [ { flavor : Flavor . CoreCLR , platform : Platform . Ubuntu14 } ] } ) ;
140+ packages . push ( { rid : 'ubuntu.16.04-x64' , omnisharps : [ { flavor : Flavor . CoreCLR , platform : Platform . Ubuntu16 } ] } ) ;
139141
140142 var promise = Promise . resolve ( ) ;
141143
142144 packages . forEach ( data => {
143145 promise = promise . then ( ( ) => {
144- return doOfflinePackage ( data . rid , data . flavor , data . platform , packageName ) ;
146+ return doOfflinePackage ( data . rid , data . omnisharps , packageName ) ;
145147 } )
146148 } ) ;
147149
0 commit comments