diff --git a/pom.xml b/pom.xml index 55e817097f..f7a9e657ed 100644 --- a/pom.xml +++ b/pom.xml @@ -30,9 +30,9 @@ pom - v8.9.1 - v1.19.1 - 1.8.0 + v16.14.0 + v1.22.17 + 1.12.0 serve localhost diff --git a/src/main/assets/gulp/build.js b/src/main/assets/gulp/build.js index d7919c7b67..4b0ddeae6e 100755 --- a/src/main/assets/gulp/build.js +++ b/src/main/assets/gulp/build.js @@ -19,9 +19,16 @@ const gulp = require("gulp"); const reload = require("browser-sync").reload; +require("./reference.js"); -gulp.task('build:content', ['reference:content'], reload); +gulp.task('build:content', gulp.series('reference:content', function (done) { + reload(); + done(); + })); -gulp.task('build:all', ['reference:all'], reload); +gulp.task('build:all', gulp.series('reference:all', function (done) { + reload(); + done(); + })); -gulp.task('build:publish', ['reference:publish']); +gulp.task('build:publish', gulp.series('reference:publish')); diff --git a/src/main/assets/gulp/bundle.js b/src/main/assets/gulp/bundle.js index 89ffe0d17d..7d000cd00e 100755 --- a/src/main/assets/gulp/bundle.js +++ b/src/main/assets/gulp/bundle.js @@ -18,5 +18,6 @@ */ const gulp = require("gulp"); +require("./build.js"); -gulp.task('bundle', ['build:publish']); +gulp.task('bundle', gulp.series('build:publish')); diff --git a/src/main/assets/gulp/default.js b/src/main/assets/gulp/default.js index ee0cb524d4..c23a7e0b94 100755 --- a/src/main/assets/gulp/default.js +++ b/src/main/assets/gulp/default.js @@ -18,5 +18,6 @@ */ const gulp = require('gulp'); +require('./serve.js'); -gulp.task('default', ['serve']); +gulp.task('default', gulp.series('serve')); diff --git a/src/main/assets/gulp/fonts.js b/src/main/assets/gulp/fonts.js index c05116e5ad..cce88d0970 100644 --- a/src/main/assets/gulp/fonts.js +++ b/src/main/assets/gulp/fonts.js @@ -18,8 +18,9 @@ */ const gulp = require('gulp'); +require("./util.js"); -gulp.task('fonts', ['clean-static'], function() { - return gulp.src(['styles/fonts/*', 'node_modules/font-awesome/fonts/*']) +gulp.task('fonts', gulp.series('clean-static', function() { + return gulp.src(['styles/fonts/*', 'node_modules/@fortawesome/fontawesome-free/webfonts/*']) .pipe(gulp.dest('../site/static/css/fonts')); -}); \ No newline at end of file +})); \ No newline at end of file diff --git a/src/main/assets/gulp/hugo.js b/src/main/assets/gulp/hugo.js index 4c7c06707b..b4561e108b 100755 --- a/src/main/assets/gulp/hugo.js +++ b/src/main/assets/gulp/hugo.js @@ -16,35 +16,40 @@ * specific language governing permissions and limitations * under the License. */ - const gulp = require('gulp'); const childProcess = require('child_process'); -const hugo = require('hugo-bin'); - -function runHugo(publish) { - const src = global.hugoConfig.srcDir; - const dst = global.hugoConfig.publicDir; - const conf = global.hugoConfig.srcDir + 'config.yaml'; - const argv = require('yargs').argv; - - let cmd = hugo + ' --config=' + conf + ' -s ' + src + ' -d ' + dst; - - if (publish) { - cmd += ' --baseUrl="' + argv.prod_host + '" '; - } else { - cmd += ' --baseUrl="http://' + argv.host + ':' + argv.port + '/" ' - + ' --buildDrafts=true --verbose=true --buildFuture'; - } - - console.log("Running " + cmd); - const result = childProcess.execSync(cmd, {encoding: 'utf-8'}); - console.log('hugo out: \n' + result); +require("./revision.js"); + +async function runHugo(publish) { + return new Promise(async (resolve, reject) => { + const hugo = await import('hugo-bin'); + + const src = global.hugoConfig.srcDir; + const dst = global.hugoConfig.publicDir; + const conf = global.hugoConfig.srcDir + 'config.yaml'; + const argv = require('yargs').argv; + + let cmd = hugo.default + ' --config=' + conf + ' -s ' + src + ' -d ' + dst; + + if (publish) { + cmd += ' --baseUrl="' + argv.prod_host + '" '; + } else { + cmd += ' --baseUrl="http://' + argv.host + ':' + argv.port + '/" ' + + ' --buildDrafts=true --verbose=true --buildFuture'; + } + + console.log("Running " + cmd); + const result = childProcess.execSync(cmd, {encoding: 'utf-8'}); + console.log('hugo out: \n' + result); + + resolve(); + }) } -gulp.task('hugo:all', ['revision'], function() { - runHugo(false); -}); +gulp.task('hugo:all', gulp.series('revision:all', function(done) { + runHugo(false).then(function () { done(); }) +})); -gulp.task('hugo:publish', ['revision'], function() { - runHugo(true); -}); +gulp.task('hugo:publish', gulp.series('revision:publish', function(done) { + runHugo(true).then(function () { done(); }) +})); diff --git a/src/main/assets/gulp/images.js b/src/main/assets/gulp/images.js index 59afa3c804..ee638aa9e5 100755 --- a/src/main/assets/gulp/images.js +++ b/src/main/assets/gulp/images.js @@ -18,12 +18,20 @@ */ const gulp = require('gulp'); -const imagemin = require('gulp-imagemin'); const changed = require('gulp-changed'); +require("./util.js"); -gulp.task('images', ['clean-static'], function () { - return gulp.src('images/**/*.*') - .pipe(changed(global.hugoConfig.stagingDir + '/img')) - .pipe(imagemin()) - .pipe(gulp.dest(global.hugoConfig.stagingDir + '/img')); -}); +async function configImage() { + const imagemin = (await import("gulp-imagemin")).default; + return new Promise(function (resolve, reject) { + gulp.src('images/**/*.*') + .pipe(changed(global.hugoConfig.stagingDir + '/img')) + .pipe(imagemin()) + .pipe(gulp.dest(global.hugoConfig.stagingDir + '/img')) + .on('finish', resolve) + .on('error', reject); + });} + +gulp.task('images', gulp.series('clean-static', function(done) { + configImage().then(function () { done();}) + })); diff --git a/src/main/assets/gulp/publish.js b/src/main/assets/gulp/publish.js index 8d9d43752f..39b02095cc 100755 --- a/src/main/assets/gulp/publish.js +++ b/src/main/assets/gulp/publish.js @@ -18,5 +18,6 @@ */ const gulp = require("gulp"); +require("./build.js"); -gulp.task('publish', ['build:publish']); +gulp.task('publish', gulp.series('build:publish')); diff --git a/src/main/assets/gulp/reference.js b/src/main/assets/gulp/reference.js index 29e9c79232..3f1c9074f2 100755 --- a/src/main/assets/gulp/reference.js +++ b/src/main/assets/gulp/reference.js @@ -21,6 +21,8 @@ const gulp = require("gulp"); const replace = require("gulp-rev-replace"); const size = require('gulp-size'); const del = require('del'); +require('./revision.js'); +require('./hugo.js'); // replace references to generated resources inside content, // like