@@ -56,18 +56,23 @@ gulp.task('clean-release', clean_release);
56
56
57
57
gulp . task ( 'clean-cache' , clean_cache ) ;
58
58
59
- var distRebuild = gulp . series ( clean_dist , dist ) ;
59
+ const distRebuild = gulp . series ( clean_dist , dist ) ;
60
60
gulp . task ( 'dist' , distRebuild ) ;
61
61
62
- var appsBuild = gulp . series ( gulp . parallel ( clean_apps , distRebuild ) , apps , gulp . parallel ( listPostBuildTasks ( APPS_DIR ) ) ) ;
62
+ const appsBuild = gulp . series ( gulp . parallel ( clean_apps , distRebuild ) , apps , gulp . parallel ( listPostBuildTasks ( APPS_DIR ) ) ) ;
63
63
gulp . task ( 'apps' , appsBuild ) ;
64
64
65
- var debugBuild = gulp . series ( dist , debug , gulp . parallel ( listPostBuildTasks ( DEBUG_DIR ) ) , start_debug )
65
+ const debugAppsBuild = gulp . series ( gulp . parallel ( clean_debug , distRebuild ) , debug , gulp . parallel ( listPostBuildTasks ( DEBUG_DIR ) ) ) ;
66
+
67
+ const debugBuild = gulp . series ( dist , debug , gulp . parallel ( listPostBuildTasks ( DEBUG_DIR ) ) , start_debug ) ;
66
68
gulp . task ( 'debug' , debugBuild ) ;
67
69
68
- var releaseBuild = gulp . series ( gulp . parallel ( clean_release , appsBuild ) , gulp . parallel ( listReleaseTasks ( ) ) ) ;
70
+ const releaseBuild = gulp . series ( gulp . parallel ( clean_release , appsBuild ) , gulp . parallel ( listReleaseTasks ( APPS_DIR ) ) ) ;
69
71
gulp . task ( 'release' , releaseBuild ) ;
70
72
73
+ const debugReleaseBuild = gulp . series ( gulp . parallel ( clean_release , debugAppsBuild ) , gulp . parallel ( listReleaseTasks ( DEBUG_DIR ) ) ) ;
74
+ gulp . task ( 'debug-release' , debugReleaseBuild ) ;
75
+
71
76
gulp . task ( 'default' , debugBuild ) ;
72
77
73
78
// -----------------
@@ -432,7 +437,11 @@ function start_debug(done) {
432
437
}
433
438
434
439
// Create installer package for windows platforms
435
- function release_win ( arch , done ) {
440
+ function release_win ( arch , appDirectory , done ) {
441
+ if ( ! commandExistsSync ( 'makensis' ) ) {
442
+ console . warn ( `makensis command not found, not generating win package for ${ arch } ` ) ;
443
+ done ( ) ;
444
+ }
436
445
437
446
// The makensis does not generate the folder correctly, manually
438
447
createDirIfNotExists ( RELEASE_DIR ) ;
@@ -443,7 +452,8 @@ function release_win(arch, done) {
443
452
define : {
444
453
'VERSION' : pkg . version ,
445
454
'PLATFORM' : arch ,
446
- 'DEST_FOLDER' : RELEASE_DIR
455
+ 'DEST_FOLDER' : RELEASE_DIR ,
456
+ 'SOURCE_FOLDER' : appDirectory ,
447
457
}
448
458
}
449
459
@@ -457,10 +467,10 @@ function release_win(arch, done) {
457
467
}
458
468
459
469
// Create distribution package (zip) for windows and linux platforms
460
- function release_zip ( arch ) {
461
- var src = path . join ( APPS_DIR , pkg . name , arch , '**' ) ;
462
- var output = getReleaseFilename ( arch , 'zip' ) ;
463
- var base = path . join ( APPS_DIR , pkg . name , arch ) ;
470
+ function release_zip ( arch , appDirectory ) {
471
+ const src = path . join ( appDirectory , pkg . name , arch , '**' ) ;
472
+ const output = getReleaseFilename ( arch , 'zip' ) ;
473
+ const base = path . join ( appDirectory , pkg . name , arch ) ;
464
474
465
475
return compressFiles ( src , base , output , 'Betaflight Blackbox Explorer' ) ;
466
476
}
@@ -482,7 +492,7 @@ function compressFiles(srcPath, basePath, outputFile, zipFolder) {
482
492
. pipe ( gulp . dest ( RELEASE_DIR ) ) ;
483
493
}
484
494
485
- function release_deb ( arch , done ) {
495
+ function release_deb ( arch , appDirectory , done ) {
486
496
// Check if dpkg-deb exists
487
497
if ( ! commandExistsSync ( 'dpkg-deb' ) ) {
488
498
console . warn ( 'dpkg-deb command not found, not generating deb package for ' + arch ) ;
@@ -504,7 +514,7 @@ function release_deb(arch, done) {
504
514
break ;
505
515
}
506
516
507
- return gulp . src ( [ path . join ( APPS_DIR , pkg . name , arch , '*' ) ] )
517
+ return gulp . src ( [ path . join ( appDirectory , pkg . name , arch , '*' ) ] )
508
518
. pipe ( deb ( {
509
519
package : pkg . name ,
510
520
version : pkg . version ,
@@ -529,12 +539,12 @@ function release_deb(arch, done) {
529
539
} ) ) ;
530
540
}
531
541
532
- function release_rpm ( arch , done ) {
542
+ function release_rpm ( arch , appDirectory , done ) {
533
543
534
544
// Check if dpkg-deb exists
535
545
if ( ! commandExistsSync ( 'rpmbuild' ) ) {
536
546
console . warn ( 'rpmbuild command not found, not generating rpm package for ' + arch ) ;
537
- return done ( ) ;
547
+ done ( ) ;
538
548
}
539
549
540
550
// The buildRpm does not generate the folder correctly, manually
@@ -550,7 +560,7 @@ function release_rpm(arch, done) {
550
560
requires : 'libgconf-2-4' ,
551
561
prefix : '/opt' ,
552
562
files :
553
- [ { cwd : path . join ( APPS_DIR , pkg . name , arch ) ,
563
+ [ { cwd : path . join ( appDirectory , pkg . name , arch ) ,
554
564
src : '*' ,
555
565
dest : `${ LINUX_INSTALL_DIR } /${ pkg . name } ` } ] ,
556
566
postInstallScript : [ `cp ${ LINUX_INSTALL_DIR } /${ pkg . name } /mime/${ pkg . name } .xml /usr/share/mime/packages/` , 'update-mime-database /usr/share/mime' ,
@@ -575,7 +585,7 @@ function release_rpm(arch, done) {
575
585
}
576
586
577
587
// Create distribution package for macOS platform
578
- function release_osx64 ( ) {
588
+ function release_osx64 ( appDirectory ) {
579
589
var appdmg = require ( 'gulp-appdmg' ) ;
580
590
581
591
// The appdmg does not generate the folder correctly, manually
@@ -585,7 +595,7 @@ function release_osx64() {
585
595
return gulp . src ( [ '.' ] )
586
596
. pipe ( appdmg ( {
587
597
target : path . join ( RELEASE_DIR , getReleaseFilename ( 'macOS' , 'dmg' ) ) ,
588
- basepath : path . join ( APPS_DIR , pkg . name , 'osx64' ) ,
598
+ basepath : path . join ( appDirectory , pkg . name , 'osx64' ) ,
589
599
specification : {
590
600
title : 'BF Blackbox Explorer' , // <= volume name; should be smaller than 27 chars.
591
601
contents : [
@@ -640,7 +650,7 @@ function createDirIfNotExists(dir) {
640
650
}
641
651
642
652
// Create a list of the gulp tasks to execute for release
643
- function listReleaseTasks ( done ) {
653
+ function listReleaseTasks ( appDirectory ) {
644
654
645
655
createDirIfNotExists ( RELEASE_DIR ) ;
646
656
@@ -653,27 +663,45 @@ function listReleaseTasks(done) {
653
663
}
654
664
655
665
if ( platforms . indexOf ( 'linux64' ) !== - 1 ) {
656
- releaseTasks . push ( function release_linux64_zip ( ) { return release_zip ( 'linux64' ) } ) ;
657
- releaseTasks . push ( function release_linux64_deb ( done ) { return release_deb ( 'linux64' , done ) } ) ;
658
- releaseTasks . push ( function release_linux64_rpm ( done ) { return release_rpm ( 'linux64' , done ) } ) ;
666
+ releaseTasks . push ( function release_linux64_zip ( ) {
667
+ return release_zip ( 'linux64' , appDirectory ) ;
668
+ } ) ;
669
+ releaseTasks . push ( function release_linux64_deb ( done ) {
670
+ return release_deb ( 'linux64' , appDirectory , done ) ;
671
+ } ) ;
672
+ releaseTasks . push ( function release_linux64_rpm ( done ) {
673
+ return release_rpm ( 'linux64' , appDirectory , done ) ;
674
+ } ) ;
659
675
}
660
676
661
677
if ( platforms . indexOf ( 'linux32' ) !== - 1 ) {
662
- releaseTasks . push ( function release_linux32_zip ( ) { return release_zip ( 'linux32' ) } ) ;
663
- releaseTasks . push ( function release_linux32_deb ( done ) { return release_deb ( 'linux32' , done ) } ) ;
664
- releaseTasks . push ( function release_linux32_rpm ( done ) { return release_rpm ( 'linux32' , done ) } ) ;
678
+ releaseTasks . push ( function release_linux32_zip ( ) {
679
+ return release_zip ( 'linux32' , appDirectory ) ;
680
+ } ) ;
681
+ releaseTasks . push ( function release_linux32_deb ( done ) {
682
+ return release_deb ( 'linux32' , appDirectory , done ) ;
683
+ } ) ;
684
+ releaseTasks . push ( function release_linux32_rpm ( done ) {
685
+ return release_rpm ( 'linux32' , appDirectory , done ) ;
686
+ } ) ;
665
687
}
666
688
667
689
if ( platforms . indexOf ( 'osx64' ) !== - 1 ) {
668
- releaseTasks . push ( release_osx64 ) ;
690
+ releaseTasks . push ( function ( ) {
691
+ return release_osx64 ( appDirectory ) ;
692
+ } ) ;
669
693
}
670
694
671
695
if ( platforms . indexOf ( 'win32' ) !== - 1 ) {
672
- releaseTasks . push ( function release_win32 ( done ) { return release_win ( 'win32' , done ) } ) ;
696
+ releaseTasks . push ( function release_win32 ( done ) {
697
+ return release_win ( 'win32' , appDirectory , done ) ;
698
+ } ) ;
673
699
}
674
700
675
701
if ( platforms . indexOf ( 'win64' ) !== - 1 ) {
676
- releaseTasks . push ( function release_win64 ( done ) { return release_win ( 'win64' , done ) } ) ;
702
+ releaseTasks . push ( function release_win64 ( done ) {
703
+ return release_win ( 'win64' , appDirectory , done ) ;
704
+ } ) ;
677
705
}
678
706
679
707
return releaseTasks ;
0 commit comments