-
Notifications
You must be signed in to change notification settings - Fork 1
/
DEPRECATED.gulpfile.js
84 lines (68 loc) · 2.11 KB
/
DEPRECATED.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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
var gulp = require("gulp"),
del = require('del'),
runSequence = require('run-sequence'),
convertEncoding = require('gulp-convert-encoding'),
zip = require('gulp-zip');
var build_dir = '_build';
var build_files = [
'**',
'!' + build_dir,
'!' + build_dir + '/**',
'!node_modules',
'!node_modules/**',
'!.git',
'!.git/**',
'!package.json',
'!package-lock.json',
'!**/*.arj',
'!**/*.rar',
'!**/*.zip',
'!.gitignore',
'!gulpfile.js',
'!LICENSE',
'!README.md'
];
//
// Предварительная очистка каталога сборки
//
gulp.task( 'build-clean', function() {
return del.sync( build_dir );
});
//
// Копирование файлов сборки
//
gulp.task( 'build-copy', function() {
return gulp.src( build_files )
.pipe( gulp.dest( build_dir + '/utf8' ) );
} );
//
// Изменение кодировки решения в win-1251 для загрузки в Marketplace 1C-Bitrix
//
gulp.task( 'build-encode', function () {
return gulp.src( build_dir + '/utf8/**' )
.pipe( convertEncoding({to: 'win-1251'}) )
.pipe( gulp.dest( build_dir + '/win1251') );
});
//
// Упаковка релизов в разных кодировках
//
gulp.task( 'build-zip', function () {
// Получение данных из файла пакета
var fs = require('fs');
var json = JSON.parse(fs.readFileSync("./package.json"));
var packageName = json.name + '.' + json.version;
var authorId = 'msavru.';
var resUtf8 = gulp.src( build_dir + '/utf8/**' )
.pipe( zip(authorId + packageName + '.utf8.zip') )
.pipe( gulp.dest(build_dir + '/dest') );
var resWin = gulp.src( build_dir + '/win1251/**' )
.pipe( zip(authorId + packageName + '.zip') )
.pipe( gulp.dest(build_dir + '/dest') );
return resUtf8 && resWin;
});
//
// Запуск процесса сборки пакета
//
gulp.task( 'build', function() {
return runSequence( 'build-clean', 'build-copy', 'build-encode', 'build-zip' );
} );