/
gulpfile.js
44 lines (38 loc) · 1.37 KB
/
gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
var gulp = require('gulp'),
sevenBin = require('7zip-bin'),
sevenZip = require('node-7z');
var app = 'ReplaceTemplate';
var release = 'bin/Release/net5.0/';
var publish = 'bin/Publish/';
function publishToPlatform(platform) {
return gulp.src([
//include custom resources
'replacetemplate.html', 'replacetemplate.js',
//include all files from published folder
release + platform + '/publish/*',
//exclude unwanted dependencies
'!' + release + platform + '/publish/Core.dll',
'!' + release + platform + '/publish/Saber.Core.dll',
'!' + release + platform + '/publish/Saber.Vendor.dll',
'!' + release + platform + '/publish/*.deps.json'
]).pipe(gulp.dest(publish + '/' + platform + '/' + app, { overwrite: true }));
}
gulp.task('publish:win-x64', () => {
return publishToPlatform('win-x64');
});
gulp.task('publish:linux-x64', () => {
return publishToPlatform('linux-x64');
});
gulp.task('zip', () => {
setTimeout(() => {
//wait 500ms before creating zip to ensure no files are locked
process.chdir(publish);
sevenZip.add(app + '.7z', app, {
$bin: sevenBin.path7za,
recursive: true
});
process.chdir('../..');
}, 500);
return gulp.src('.');
});
gulp.task('publish', gulp.series('publish:win-x64', 'publish:linux-x64', 'zip'));