This repository has been archived by the owner on Apr 23, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathgulpfile.babel.js
91 lines (80 loc) · 2.32 KB
/
gulpfile.babel.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
85
86
87
88
89
90
91
// (C) Copyright 2014-2015 Hewlett-Packard Development Company, L.P.
import yargs from 'yargs'
const argv = yargs.argv;
import gulp from 'gulp';
import path from 'path';
import grommetToolbox, {getOptions} from 'grommet-toolbox';
import git from 'gulp-git';
import del from 'del';
import mkdirp from 'mkdirp';
const opts = getOptions();
gulp.task('set-webpack-alias', () => {
if (opts.alias && argv.useAlias) {
console.log('Using local alias for development.');
opts.webpack.resolve.alias = opts.alias;
}
});
gulp.task('release:createTmp', (done) => {
del.sync(['./tmp']);
mkdirp('./tmp', (err) => {
if (err) {
throw err;
}
done();
});
});
gulp.task('release:heroku', ['dist', 'release:createTmp'], (done) => {
if (process.env.CI) {
git.clone('https://' + process.env.GH_TOKEN + '@github.com/grommet/grommet-todo.git',
{
cwd: './tmp/'
},
(err) => {
if (err) {
throw err;
}
process.chdir('./tmp/grommet-todo');
git.checkout('heroku', (err) => {
if (err) {
throw err;
}
gulp.src([
'../../**',
'!../../.gitignore',
'!../../.travis.yml'])
.pipe(gulp.dest('./')).on('end', () => {
git.status({
args: '--porcelain'
}, (err, stdout) => {
if (err) {
throw err;
}
if (stdout && stdout !== '') {
gulp.src('./')
.pipe(git.add({
args: '--all'
}))
.pipe(git.commit('Heroku dev version update.')).on('end', () => {
git.push('origin', 'heroku', { quiet: true }, (err) => {
if (err) {
throw err;
}
process.chdir(__dirname);
done();
});
});
} else {
console.log('No difference since last commit, skipping heroku release.');
process.chdir(__dirname);
done();
}
});
});
});
}
);
} else {
console.warn('Skipping release. Release:heroku task should be executed by CI only.');
}
});
grommetToolbox(gulp);