@@ -16,38 +16,42 @@ const {
16
16
17
17
const libraries = getLibraries ( ) ;
18
18
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 ;
25
27
26
28
const templateData = {
27
29
version : library . version ,
28
30
versionFolder : formatVersionFolder ( library . version ) ,
29
31
} ;
30
- const packageFilesStream = gulp
32
+ const filesStream = gulp
31
33
. src ( [ 'LICENSE.htm' , 'CHANGES.htm' , '*.dnn' ] , {
32
34
cwd : library . path ,
33
35
} )
34
- . pipe ( ejs ( templateData , { delimiter : '~' } ) ) ;
36
+ . pipe ( ejs ( templateData , { delimiter : '~' } ) )
37
+ . pipe ( gulp . src ( library . manifest . files ) ) ;
35
38
36
- return mergeStream (
37
- mainFileStream ,
38
- resourceZipStream ,
39
- packageFilesStream
40
- )
39
+ const packageStream = resourceZipStream
40
+ ? mergeStream ( filesStream , resourceZipStream )
41
+ : filesStream ;
42
+
43
+ return packageStream
41
44
. pipe ( zip ( `${ library . name } _${ library . version } .zip` ) )
42
45
. pipe ( gulp . dest ( './_InstallPackages/' ) ) ;
43
- } )
44
- ) ;
46
+ } ;
45
47
46
- const libraryTaskNames = libraries . map ( library => library . path ) ;
48
+ packageFn . displayName = `Generate ${ library . name } _${ library . version } .zip` ;
49
+ return packageFn ;
50
+ }
47
51
48
- gulp . task ( 'default' , libraryTaskNames ) ;
52
+ const defaultTask = gulp . parallel ( ... libraries . map ( makePackageTask ) ) ;
49
53
50
- gulp . task ( 'outdated' , ( ) => {
54
+ function outdated ( ) {
51
55
const allUpgradesPromises = libraries . map ( library =>
52
56
getUpgradeVersions ( library ) . then ( upgrades =>
53
57
Object . assign ( library , { upgrades } )
@@ -70,10 +74,10 @@ gulp.task('outdated', () => {
70
74
log . info ( `
71
75
${ formatPackageUpgrades ( validUpgrades ) } `) ;
72
76
} ) ;
73
- } ) ;
77
+ }
74
78
75
- [ 'patch' , 'minor' , 'major' ] . forEach ( upgradeType =>
76
- gulp . task ( `upgrade- ${ upgradeType } ` , ( ) => {
79
+ function makeUpgradeTask ( upgradeType ) {
80
+ const upgradeFn = function ( ) {
77
81
const allUpgradesPromises = libraries . map ( library =>
78
82
getUpgradeVersions ( library ) . then ( upgrades =>
79
83
Object . assign ( library , { upgrades } )
@@ -152,5 +156,23 @@ ${formatPackageUpgrades(validUpgrades)}`);
152
156
)
153
157
) ;
154
158
} ) ;
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