This repository was archived by the owner on Jan 22, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathgulpfile.js
More file actions
69 lines (57 loc) · 2.3 KB
/
gulpfile.js
File metadata and controls
69 lines (57 loc) · 2.3 KB
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
/*
* Copyright 2015 IBM Corp.
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
var gulp = require("gulp");
var map = require("map-stream");
var tar = require("gulp-tar");
var gzip = require("gulp-gzip");
const WCM_DESIGNS = "./digexp-wcm-design";
const DASHBOARD = "./digexp-dashboard";
const SP_SERVER = "./digexp-sp-server";
var getFileList = function(folder) {
// todo read gitignore, npmignore
return [folder + "/**", "!" + folder + "/.git/**", "!" + folder + "/node_modules/**",
"!" + folder + "/node_modules/", "!" + folder + "/.idea/**", "!" + folder + "/user-settings.json", + "!" + folder + "/**.*~"];
};
var npm_pack = function(folder, dest) {
return gulp.src(getFileList(folder), { base: folder })
.pipe(map(function(file, cb) {
// this makes sure the root folders are not included in the tar
if(file.stat.isDirectory())
file.path = "package/";
else
file.path = file.path.replace(file.relative, "package/" + file.relative);
//console.log(file.path);
cb(null, file);
}))
.pipe(tar(dest + ".tar"))
.pipe(gzip())
.pipe(gulp.dest("./"));
};
gulp.task("pack_dashboard", function() {
return npm_pack(DASHBOARD, "dashboard");
});
gulp.task("pack_wcm", function() {
return npm_pack(WCM_DESIGNS, "wcm-design");
});
gulp.task("pack_sp_server", function() {
return npm_pack(SP_SERVER, "sp-server");
});
gulp.task('pack', ['pack_wcm', 'pack_dashboard', 'pack_sp_server']);
gulp.task("watch_wcm", function() {
gulp.watch(getFileList(WCM_DESIGNS), ["pack_wcm"]);
});
gulp.task("watch_dashboard", function() {
gulp.watch(getFileList(DASHBOARD), ["pack_dashboard"]);
});
gulp.task("watch_sp-server", function() {
gulp.watch(getFileList(SP_SERVER), ["pack_sp_server"]);
});
gulp.task("watch", ['watch_wcm', 'watch_sp-server', 'watch_dashboard'])
gulp.task('default', ['pack', 'watch']);