@@ -16,38 +16,42 @@ const {
1616
1717const libraries = getLibraries ( ) ;
1818
19- libraries . forEach ( library =>
20- gulp . task ( library . path , ( ) => {
21- const mainFileStream = gulp . src ( library . manifest . files ) ;
22- const resourceZipStream = gulp
23- . src ( library . manifest . resources || [ ] )
24- . pipe ( zip ( 'Resources.zip' ) ) ;
19+ function makePackageTask ( library ) {
20+ const packageFn = function ( ) {
21+ const resourceZipStream =
22+ library . manifest . resources && library . manifest . resources . length
23+ ? gulp
24+ . src ( library . manifest . resources )
25+ . pipe ( zip ( 'Resources.zip' ) )
26+ : null ;
2527
2628 const templateData = {
2729 version : library . version ,
2830 versionFolder : formatVersionFolder ( library . version ) ,
2931 } ;
30- const packageFilesStream = gulp
32+ const filesStream = gulp
3133 . src ( [ 'LICENSE.htm' , 'CHANGES.htm' , '*.dnn' ] , {
3234 cwd : library . path ,
3335 } )
34- . pipe ( ejs ( templateData , { delimiter : '~' } ) ) ;
36+ . pipe ( ejs ( templateData , { delimiter : '~' } ) )
37+ . pipe ( gulp . src ( library . manifest . files ) ) ;
3538
36- return mergeStream (
37- mainFileStream ,
38- resourceZipStream ,
39- packageFilesStream
40- )
39+ const packageStream = resourceZipStream
40+ ? mergeStream ( filesStream , resourceZipStream )
41+ : filesStream ;
42+
43+ return packageStream
4144 . pipe ( zip ( `${ library . name } _${ library . version } .zip` ) )
4245 . pipe ( gulp . dest ( './_InstallPackages/' ) ) ;
43- } )
44- ) ;
46+ } ;
4547
46- const libraryTaskNames = libraries . map ( library => library . path ) ;
48+ packageFn . displayName = `Generate ${ library . name } _${ library . version } .zip` ;
49+ return packageFn ;
50+ }
4751
48- gulp . task ( 'default' , libraryTaskNames ) ;
52+ const defaultTask = gulp . parallel ( ... libraries . map ( makePackageTask ) ) ;
4953
50- gulp . task ( 'outdated' , ( ) => {
54+ function outdated ( ) {
5155 const allUpgradesPromises = libraries . map ( library =>
5256 getUpgradeVersions ( library ) . then ( upgrades =>
5357 Object . assign ( library , { upgrades } )
@@ -70,10 +74,10 @@ gulp.task('outdated', () => {
7074 log . info ( `
7175${ formatPackageUpgrades ( validUpgrades ) } `) ;
7276 } ) ;
73- } ) ;
77+ }
7478
75- [ 'patch' , 'minor' , 'major' ] . forEach ( upgradeType =>
76- gulp . task ( `upgrade- ${ upgradeType } ` , ( ) => {
79+ function makeUpgradeTask ( upgradeType ) {
80+ const upgradeFn = function ( ) {
7781 const allUpgradesPromises = libraries . map ( library =>
7882 getUpgradeVersions ( library ) . then ( upgrades =>
7983 Object . assign ( library , { upgrades } )
@@ -152,5 +156,23 @@ ${formatPackageUpgrades(validUpgrades)}`);
152156 )
153157 ) ;
154158 } ) ;
155- } )
156- ) ;
159+ } ;
160+
161+ upgradeFn . displayName = `Apply ${ upgradeType } upgrades` ;
162+
163+ return upgradeFn ;
164+ }
165+
166+ const upgradePatch = makeUpgradeTask ( 'patch' ) ;
167+ const upgradeMinor = makeUpgradeTask ( 'minor' ) ;
168+ const upgradeMajor = makeUpgradeTask ( 'major' ) ;
169+ const upgrade = gulp . series ( upgradePatch , upgradeMinor , upgradeMajor ) ;
170+
171+ module . exports = {
172+ outdated,
173+ upgradePatch,
174+ upgradeMinor,
175+ upgradeMajor,
176+ upgrade,
177+ default : defaultTask ,
178+ } ;
0 commit comments