Add gulp task to generate a standalone release zip from brouter repo

This commit is contained in:
Norbert Renner 2019-12-19 21:27:31 +01:00
parent 502735cb8e
commit 057fd85a32
4 changed files with 69 additions and 2 deletions

2
.gitignore vendored
View file

@ -5,6 +5,6 @@ nbproject/
/config.js
/keys.js
/dist
brouter-web.*.zip
brouter-web*.zip
yarn-error.log
package-lock.json

View file

@ -26,6 +26,7 @@ var scanner = require('i18next-scanner');
var jsonConcat = require('gulp-json-concat');
var rename = require('gulp-rename');
var browserSync = require('browser-sync');
var merge = require('merge-stream');
const server = browserSync.create();
@ -73,6 +74,7 @@ var paths = {
'layers/config/geometry.js'
],
layersConfigDestName: 'layersConf.js',
zip: ['dist/**', 'index.html', 'config.template.js', 'keys.template.js'],
dest: 'dist',
destName: 'brouter-web'
};
@ -336,16 +338,75 @@ gulp.task(
cb();
})
);
gulp.task('release:zip', function() {
gutil.log(gutil.colors.green('Build brouter-web.' + nextVersion + '.zip'));
return gulp
.src(['dist/**', 'index.html', 'config.template.js', 'keys.template.js'], {
.src(paths.zip, {
base: '.'
})
.pipe(zip('brouter-web.' + nextVersion + '.zip'))
.pipe(gulp.dest('.'));
});
gulp.task('release:zip_standalone', function() {
var version = pkg.version;
var destName = 'brouter-web-standalone.' + version + '.zip';
gutil.log(gutil.colors.green('Build ' + destName));
var brouterWeb = gulp
.src(paths.zip, {
base: '.'
})
.pipe(
rename(function(path) {
path.dirname = 'brouter-web/' + path.dirname;
})
);
var serverRoot = gulp
.src(
[
'misc/readmes/profile_developers_guide.txt',
'brouter-server/target/brouter-server-*-jar-with-dependencies.jar'
],
{
cwd: path.join(process.cwd(), '../brouter')
}
)
.pipe(
rename(function(path) {
if (path.basename.startsWith('brouter-server-')) {
path.basename = 'brouter';
}
})
);
var serverProfiles = gulp.src(
[
'profiles2/**',
'!profiles2/all.brf',
'!profiles2/car-eco-suspect_scan.brf',
'!profiles2/car-traffic_analysis.brf',
'!profiles2/softaccess.brf'
],
{
cwd: path.join(process.cwd(), '../brouter/misc/'),
base: '../brouter/misc/'
}
);
var serverScripts = gulp.src(['standalone/**'], {
cwd: path.join(process.cwd(), '../brouter/misc/scripts/'),
base: '../brouter/misc/scripts/'
});
return merge(brouterWeb, serverRoot, serverProfiles, serverScripts)
.pipe(zip(destName))
.pipe(gulp.dest('.'));
});
gulp.task('release:publish', function() {
return gulp.src('./brouter-web.' + nextVersion + '.zip').pipe(
release({

View file

@ -105,6 +105,7 @@
"gulp-zip": "^4.0.0",
"husky": "^2.3.0",
"i18next-scanner": "^2.9.1",
"merge-stream": "^2.0.0",
"node-fetch": "^2.3.0",
"npmfiles": "^0.1.1",
"prettier": "^1.17.1",

View file

@ -5278,6 +5278,11 @@ merge-stream@^1.0.0:
dependencies:
readable-stream "^2.0.1"
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4:
version "3.1.10"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"