Merge branch 'master' of https://github.com/RoPP/brouter-web into RoPP-master
This commit is contained in:
commit
e658cce42d
6 changed files with 103 additions and 4 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -6,3 +6,4 @@ bingkey.txt
|
||||||
/.project
|
/.project
|
||||||
/keys.js
|
/keys.js
|
||||||
/dist
|
/dist
|
||||||
|
brouter-web.*.zip
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "brouter-web",
|
"name": "brouter-web",
|
||||||
"version": "0.5.0",
|
"version": "0.6.3",
|
||||||
"main": "dist/**/*",
|
"main": "dist/**/*",
|
||||||
"ignore": [
|
"ignore": [
|
||||||
"**/.*",
|
"**/.*",
|
||||||
|
|
|
||||||
94
gulpfile.js
94
gulpfile.js
|
|
@ -14,6 +14,12 @@ var remember = require('gulp-remember');
|
||||||
var inject = require('gulp-inject');
|
var inject = require('gulp-inject');
|
||||||
var gulpif = require('gulp-if');
|
var gulpif = require('gulp-if');
|
||||||
var gutil = require('gulp-util');
|
var gutil = require('gulp-util');
|
||||||
|
var zip = require('gulp-zip');
|
||||||
|
var bump = require('gulp-bump');
|
||||||
|
var semver = require('semver');
|
||||||
|
var git = require('gulp-git');
|
||||||
|
var replace = require('gulp-replace');
|
||||||
|
var release = require('gulp-github-release');
|
||||||
|
|
||||||
var debug = false;
|
var debug = false;
|
||||||
|
|
||||||
|
|
@ -142,4 +148,90 @@ gulp.task('default', ['clean', 'scripts_config', 'scripts', 'styles', 'images',
|
||||||
gulp.task('debug', function() {
|
gulp.task('debug', function() {
|
||||||
debug = true;
|
debug = true;
|
||||||
gulp.start('default');
|
gulp.start('default');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var pkg = require('./package.json');
|
||||||
|
var tags = {patch: 'patch', minor: 'minor', major: 'major'};
|
||||||
|
var nextVersion;
|
||||||
|
var ghToken;
|
||||||
|
|
||||||
|
gulp.task('release:init', function() {
|
||||||
|
var tag = gutil.env.tag;
|
||||||
|
if (!tag) {
|
||||||
|
gutil.log(gutil.colors.red('--tag is required'));
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
if (['major', 'minor', 'patch'].indexOf(tag) < 0) {
|
||||||
|
gutil.log(gutil.colors.red('--tag must be major, minor or patch'));
|
||||||
|
process.exit(2);
|
||||||
|
}
|
||||||
|
ghToken = gutil.env.token;
|
||||||
|
if (!ghToken) {
|
||||||
|
gutil.log(gutil.colors.red('--token is required (github personnal access token)'));
|
||||||
|
process.exit(3);
|
||||||
|
}
|
||||||
|
if (ghToken.length != 40) {
|
||||||
|
gutil.log(gutil.colors.red('--token length must be 40'));
|
||||||
|
process.exit(4);
|
||||||
|
}
|
||||||
|
git.status({args: '--porcelain', quiet: true}, function(err, stdout) {
|
||||||
|
if (err) throw err;
|
||||||
|
if (stdout.length > 0) {
|
||||||
|
gutil.log(gutil.colors.red('Repository is not clean. Please commit or stash your pending modification'));
|
||||||
|
process.exit(5);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
nextVersion = semver.inc(pkg.version, tag);
|
||||||
|
return;
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('bump', ['bump:json', 'bump:html']);
|
||||||
|
|
||||||
|
gulp.task('bump:json', ['release:init'], function() {
|
||||||
|
gutil.log(gutil.colors.green('Bump to '+nextVersion));
|
||||||
|
return(gulp.src(['./package.json', './bower.json'])
|
||||||
|
.pipe(bump({version: nextVersion}))
|
||||||
|
.pipe(gulp.dest('./')));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('bump:html', ['release:init'], function() {
|
||||||
|
return(gulp.src('./index.html')
|
||||||
|
.pipe(replace(/<sup class="version">(.*)<\/sup>/, '<sup class="version">'+nextVersion+'</sup>'))
|
||||||
|
.pipe(gulp.dest('.')));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('release:commit', ['bump'], function() {
|
||||||
|
gulp.src(['./index.html', './package.json', './bower.json'])
|
||||||
|
.pipe(git.commit('release: '+nextVersion));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('release:tag', ['release:commit'], function() {
|
||||||
|
return(git.tag(nextVersion, '', function(err) {
|
||||||
|
if (err) throw err;
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('release:push', ['release:tag'], function() {
|
||||||
|
git.push('origin', 'master', {args: '--tags'}, function(err) {
|
||||||
|
if (err) throw err;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('release:zip', ['release:tag', 'default'], function() {
|
||||||
|
gutil.log(gutil.colors.green('Build brouter-web.'+nextVersion+'.zip'));
|
||||||
|
return(gulp.src(['dist/**', 'index.html', 'config.template.js', 'keys.template.js'], {'base': '.'})
|
||||||
|
.pipe(zip('brouter-web.'+nextVersion+'.zip'))
|
||||||
|
.pipe(gulp.dest('.')));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('release:publish', ['release:zip'], function() {
|
||||||
|
gulp.src('./brouter-web.'+nextVersion+'.zip')
|
||||||
|
.pipe(release({
|
||||||
|
tag: nextVersion,
|
||||||
|
token: ghToken,
|
||||||
|
manifeste: pkg,
|
||||||
|
}))
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('release', ['release:init', 'bump', 'release:commit', 'release:tag',
|
||||||
|
'release:push', 'release:zip', 'release:publish']);
|
||||||
10
package.json
10
package.json
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "brouter-web",
|
"name": "brouter-web",
|
||||||
"version": "0.5.0",
|
"version": "0.6.3",
|
||||||
"description": "Web client for BRouter",
|
"description": "Web client for BRouter",
|
||||||
"main": "js/index.js",
|
"main": "js/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
@ -14,19 +14,25 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"del": "^1.1.1",
|
"del": "^1.1.1",
|
||||||
"gulp": "^3.8.11",
|
"gulp": "^3.8.11",
|
||||||
|
"gulp-bump": "^2.7.0",
|
||||||
"gulp-cached": "^1.0.4",
|
"gulp-cached": "^1.0.4",
|
||||||
"gulp-concat": "^2.5.2",
|
"gulp-concat": "^2.5.2",
|
||||||
"gulp-concat-css": "^2.1.2",
|
"gulp-concat-css": "^2.1.2",
|
||||||
|
"gulp-confirm": "^1.0.6",
|
||||||
"gulp-debug": "^2.0.1",
|
"gulp-debug": "^2.0.1",
|
||||||
|
"gulp-git": "^2.2.0",
|
||||||
|
"gulp-github-release": "^1.2.1",
|
||||||
|
"gulp-if": "^2.0.0",
|
||||||
"gulp-inject": "^1.2.0",
|
"gulp-inject": "^1.2.0",
|
||||||
"gulp-minify-css": "^1.0.0",
|
"gulp-minify-css": "^1.0.0",
|
||||||
"gulp-remember": "^0.3.0",
|
"gulp-remember": "^0.3.0",
|
||||||
"gulp-rename": "^1.2.0",
|
"gulp-rename": "^1.2.0",
|
||||||
|
"gulp-replace": "^0.5.4",
|
||||||
"gulp-sourcemaps": "^1.5.1",
|
"gulp-sourcemaps": "^1.5.1",
|
||||||
"gulp-tap": "^0.1.3",
|
"gulp-tap": "^0.1.3",
|
||||||
"gulp-uglify": "^1.1.0",
|
"gulp-uglify": "^1.1.0",
|
||||||
"gulp-if": "^2.0.0",
|
|
||||||
"gulp-util": "^3.0.7",
|
"gulp-util": "^3.0.7",
|
||||||
|
"gulp-zip": "^4.0.0",
|
||||||
"main-bower-files": "^2.6.2"
|
"main-bower-files": "^2.6.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue