@@ -62,7 +62,7 @@ gulp.task('transpile:app', ['create-modules-link'], function() {
6262 . pipe ( sourcemaps . write ( ) )
6363 . pipe ( gulp . dest ( 'transpiled' ) ) ;
6464
65- var resources = gulp . src ( [ 'browser/**/*' , '!browser/**/*.js' , '*.json' , 'uninstaller/*.ps1' ] , { base : '.' } )
65+ var resources = gulp . src ( [ 'browser/**/*' , '!browser/**/*.js' , '!requirements.json' , ' *.json', 'uninstaller/*.ps1' ] , { base : '.' } )
6666 . pipe ( gulp . dest ( 'transpiled' ) ) ;
6767
6868 return merge ( sources , resources ) ;
@@ -151,23 +151,49 @@ gulp.task('create-7zip-archive', function(cb) {
151151 exec ( packCmd , createExecCallback ( cb , true ) ) ;
152152} ) ;
153153
154- gulp . task ( 'update-devstudio-version' , function ( cb ) {
155- let url = reqs [ 'jbds.jar' ] . url . substring ( 0 , reqs [ 'jbds.jar' ] . url . lastIndexOf ( "/" ) ) + '/content.json' ;
156- request ( url , function ( err , response , body ) {
157- if ( err ) {
158- cb ( err ) ;
159- } else {
160- let versionRegex = / ( \d + \. \d + \. \d + \. \w + \d * ) .* / ;
161- let finalVersion = versionRegex . exec ( body ) [ 1 ] ;
154+ gulp . task ( 'update-requirements' , [ 'create-modules-link' ] , function ( ) {
162155
163- if ( reqs [ 'jbds.jar' ] . version != finalVersion ) {
164- reqs [ 'jbds.jar' ] . version = finalVersion ;
165- fs . writeFile ( './requirements.json' , JSON . stringify ( reqs , null , 2 ) , cb ) ;
166- } else {
167- cb ( ) ;
156+ let updateDevStudioVersion = ( ) => {
157+ return new Promise ( ( resolve , reject ) => {
158+ let url = reqs [ 'jbds.jar' ] . url . substring ( 0 , reqs [ 'jbds.jar' ] . url . lastIndexOf ( "/" ) ) + '/content.json' ;
159+ request ( url , ( err , response , body ) => {
160+ if ( err ) {
161+ reject ( err ) ;
162+ } else {
163+ let versionRegex = / ( \d + \. \d + \. \d + \. \w + \d * ) .* / ;
164+ let finalVersion = versionRegex . exec ( body ) [ 1 ] ;
165+
166+ if ( reqs [ 'jbds.jar' ] . version != finalVersion ) {
167+ reqs [ 'jbds.jar' ] . version = finalVersion ;
168+ }
169+ resolve ( )
170+ }
171+ } ) ;
172+ } ) ;
173+ } ;
174+
175+ let updateDevStudioSha = ( ) => {
176+ return new Promise ( ( resolve , reject ) => {
177+ let url = reqs [ 'jbds.jar' ] . sha256sum ;
178+ if ( url . length == 64 && url . indexOf ( "http" ) < 0 && url . indexOf ( "ftp" ) < 0 ) {
179+ resolve ( ) ;
180+ } else {
181+ request ( url , ( err , response , body ) => {
182+ reqs [ 'jbds.jar' ] . sha256sum = body ;
183+ resolve ( ) ;
184+ } ) ;
168185 }
169- }
170- } ) ;
186+ } ) ;
187+ } ;
188+
189+ return Promise . resolve ( )
190+ . then ( updateDevStudioVersion )
191+ . then ( updateDevStudioSha )
192+ . then ( ( ) => {
193+ fs . writeFile ( './transpiled/requirements.json' , JSON . stringify ( reqs , null , 2 ) ) ;
194+ } ) . catch ( ( err ) => {
195+ console . log ( err ) ;
196+ } ) ;
171197} ) ;
172198
173199gulp . task ( 'update-metadata' , function ( cb ) {
@@ -228,18 +254,18 @@ function createSHA256File(filename, cb) {
228254
229255// Create stub installer that will then download all the requirements
230256gulp . task ( 'package-simple' , function ( cb ) {
231- runSequence ( [ 'check-requirements' , 'clean' ] , 'create-dist-win-dir' , 'update-devstudio-version ' , [ 'generate' ,
257+ runSequence ( [ 'check-requirements' , 'clean' ] , 'create-dist-win-dir' , 'update-requirements ' , [ 'generate' ,
232258 'prepare-tools' ] , 'package' , 'cleanup' , cb ) ;
233259} ) ;
234260
235261gulp . task ( 'package-bundle' , function ( cb ) {
236- runSequence ( [ 'check-requirements' , 'clean' ] , 'create-dist-win-dir' , 'update-devstudio-version ' , [ 'generate' ,
262+ runSequence ( [ 'check-requirements' , 'clean' ] , 'create-dist-win-dir' , 'update-requirements ' , [ 'generate' ,
237263 'prepare-tools' ] , 'prefetch' , 'package' , 'cleanup' , cb ) ;
238264} ) ;
239265
240266// Create both installers
241267gulp . task ( 'dist' , function ( cb ) {
242- runSequence ( [ 'check-requirements' , 'clean' ] , 'create-dist-win-dir' , 'update-devstudio-version ' , [ 'generate' ,
268+ runSequence ( [ 'check-requirements' , 'clean' ] , 'create-dist-win-dir' , 'update-requirements ' , [ 'generate' ,
243269 'prepare-tools' ] , 'package' , 'prefetch' , 'package' , 'cleanup' , cb ) ;
244270} ) ;
245271
@@ -351,8 +377,7 @@ function prefetch(bundle, targetFolder) {
351377function downloadAndReadSHA256 ( targetFolder , fileName , reqURL , reject , processResult ) {
352378 let currentFile = path . join ( targetFolder , fileName ) ;
353379 let currentSHA256 = 'NOSHA256SUM' ;
354- if ( reqURL . length == 64 && reqURL . indexOf ( "http" ) < 0 && reqURL . indexOf ( "ftp" ) < 0 )
355- {
380+ if ( reqURL . length == 64 && reqURL . indexOf ( "http" ) < 0 && reqURL . indexOf ( "ftp" ) < 0 ) {
356381 // return the hardcoded SHA256sum in requirements.json
357382 if ( ! fileName . endsWith ( '.sha256' ) ) {
358383 console . log ( '[INFO] \'' + fileName + '\' hardcoded sha256 check' ) ;
0 commit comments