From 9e55d6c52d8faa82338b6eae613cd95d112d0e2f Mon Sep 17 00:00:00 2001 From: Teemu Pöntelin Date: Mon, 29 Aug 2016 14:37:00 +0300 Subject: Generate a separate bower.json with overrides for master --- tasks/cdn.js | 28 +++++++++++++++++++++++----- tasks/config.js | 1 - tasks/docsite.js | 7 ++++--- 3 files changed, 27 insertions(+), 9 deletions(-) (limited to 'tasks') diff --git a/tasks/cdn.js b/tasks/cdn.js index 816f852..05a8bbd 100644 --- a/tasks/cdn.js +++ b/tasks/cdn.js @@ -3,6 +3,7 @@ var config = require('./config'); var common = require('./common'); var gulp = require('gulp'); var fs = require('fs-extra'); +var path = require('path'); var modify = require('gulp-modify'); var rsync = require('gulp-rsync'); var gutil = require('gulp-util'); @@ -12,16 +13,33 @@ var stagingBasePath = config.paths.staging.cdn; var version = config.version; var host = config.toolsHost; var permalink = config.permalink; -var stagingPath = stagingBasePath + '/' + version; -var testPath = process.cwd() + '/' + stagingPath + '/test'; +var stagingPath = path.join(process.cwd(), stagingBasePath, version); +var masterBowerPath = config.paths.staging.bower; gulp.task('clean:cdn', function() { fs.removeSync(stagingBasePath); }); -gulp.task('cdn:stage-bower_components', function() { +gulp.task('clean:bower', function() { + fs.removeSync(masterBowerPath); +}); + +gulp.task('cdn:stage-bower.json', function() { + // Load the bower.json, assign overrides and write back to disk. + let bowerJson = JSON.parse(fs.readFileSync('./bower.json', 'utf-8')); + bowerJson = Object.assign(bowerJson, bowerJson.masterOverrides); + delete bowerJson.masterOverrides; + + fs.mkdirSync(masterBowerPath); + fs.writeFileSync(masterBowerPath + '/bower.json', JSON.stringify(bowerJson, null, ' ')); + gutil.log('Created ' + masterBowerPath + '/bower.json with overrides applied.'); +}); + +gulp.task('cdn:stage-bower_components', ['cdn:stage-bower.json'], function() { + const bowerJsonPath = path.join(process.cwd(), (version === 'master' ? masterBowerPath : '')); return bower({ directory: stagingPath, + cwd: bowerJsonPath, forceLatest: true, cmd: 'install' }); @@ -41,10 +59,10 @@ gulp.task('cdn:stage-vaadin-core-elements', function() { return contents; } })) - .pipe(gulp.dest(stagingPath + "/vaadin-core-elements")); + .pipe(gulp.dest(stagingPath + '/vaadin-core-elements')); }); -gulp.task('stage:cdn', ['clean:cdn', 'cdn:stage-bower_components', 'cdn:stage-vaadin-core-elements']); +gulp.task('stage:cdn', ['clean:cdn', 'clean:bower', 'cdn:stage-bower_components', 'cdn:stage-vaadin-core-elements']); gulp.task('upload:cdn', ['stage:cdn'], function() { common.checkArguments(['cdnUsername', 'cdnDestination']); diff --git a/tasks/config.js b/tasks/config.js index 61d550f..521a8ce 100644 --- a/tasks/config.js +++ b/tasks/config.js @@ -4,7 +4,6 @@ var fs = require('fs'); var userhome = process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE; module.exports = { - coreElements: ['vaadin-grid', 'vaadin-combo-box', 'vaadin-date-picker', 'vaadin-upload', 'vaadin-icons'], version: args.version || 'master', permalink: args.version ? 'latest' : '', toolsHost: args.toolsHostname || 'tools.vaadin.com', diff --git a/tasks/docsite.js b/tasks/docsite.js index 50fb02e..2543662 100644 --- a/tasks/docsite.js +++ b/tasks/docsite.js @@ -19,6 +19,7 @@ var stagingPath = stagingBasePath + '/' + version; var modify = require('gulp-modify'); var rootZip = 'target/'; var fileZip = 'docsite.zip'; +var bowerJson = require('../bower.json'); gulp.task('cdn:docsite:clean', function() { fs.removeSync(docPath); @@ -56,9 +57,9 @@ gulp.task('cdn:docsite:core-elements-integrations', function() { }); gulp.task('cdn:docsite:core-elements-elements', ['cdn:docsite:bower_components'], function() { - var docsPaths = config.coreElements.map(function(c) { - return stagingPath + '/' + c + '/docs/**'; - }); + var docsPaths = Object.keys(bowerJson.dependencies).map(function(c) { + return stagingPath + '/' + c + '/docs/**'; + }); return gulp.src(docsPaths, {base: stagingPath}) .pipe(rename(function (path) { -- cgit v1.2.3 From d0c3e368202e5e55d1e7eecc7616f09f7d7d4f2e Mon Sep 17 00:00:00 2001 From: Sauli Tähkäpää Date: Tue, 30 Aug 2016 09:58:27 +0300 Subject: Remove masterBowerPath --- tasks/cdn.js | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) (limited to 'tasks') diff --git a/tasks/cdn.js b/tasks/cdn.js index 05a8bbd..0db7bb9 100644 --- a/tasks/cdn.js +++ b/tasks/cdn.js @@ -14,32 +14,30 @@ var version = config.version; var host = config.toolsHost; var permalink = config.permalink; var stagingPath = path.join(process.cwd(), stagingBasePath, version); -var masterBowerPath = config.paths.staging.bower; gulp.task('clean:cdn', function() { fs.removeSync(stagingBasePath); }); -gulp.task('clean:bower', function() { - fs.removeSync(masterBowerPath); -}); - -gulp.task('cdn:stage-bower.json', function() { +gulp.task('cdn:stage-bower.json', ['clean:cdn'], function() { // Load the bower.json, assign overrides and write back to disk. let bowerJson = JSON.parse(fs.readFileSync('./bower.json', 'utf-8')); - bowerJson = Object.assign(bowerJson, bowerJson.masterOverrides); - delete bowerJson.masterOverrides; - fs.mkdirSync(masterBowerPath); - fs.writeFileSync(masterBowerPath + '/bower.json', JSON.stringify(bowerJson, null, ' ')); - gutil.log('Created ' + masterBowerPath + '/bower.json with overrides applied.'); + if (version === 'master') { + gutil.log('Applying overrides to ' + stagingPath + '/bower.json'); + bowerJson = Object.assign(bowerJson, bowerJson.masterOverrides); + delete bowerJson.masterOverrides; + } + + fs.mkdirSync(stagingBasePath); + fs.mkdirSync(stagingPath); + fs.writeFileSync(stagingPath + '/bower.json', JSON.stringify(bowerJson, null, ' ')); }); gulp.task('cdn:stage-bower_components', ['cdn:stage-bower.json'], function() { - const bowerJsonPath = path.join(process.cwd(), (version === 'master' ? masterBowerPath : '')); return bower({ - directory: stagingPath, - cwd: bowerJsonPath, + directory: '.', + cwd: stagingPath, forceLatest: true, cmd: 'install' }); @@ -62,7 +60,7 @@ gulp.task('cdn:stage-vaadin-core-elements', function() { .pipe(gulp.dest(stagingPath + '/vaadin-core-elements')); }); -gulp.task('stage:cdn', ['clean:cdn', 'clean:bower', 'cdn:stage-bower_components', 'cdn:stage-vaadin-core-elements']); +gulp.task('stage:cdn', ['clean:cdn', 'cdn:stage-bower_components', 'cdn:stage-vaadin-core-elements']); gulp.task('upload:cdn', ['stage:cdn'], function() { common.checkArguments(['cdnUsername', 'cdnDestination']); -- cgit v1.2.3 From 46717c831bbbc19b9b0c29512e17b230c775f48b Mon Sep 17 00:00:00 2001 From: Teemu Pöntelin Date: Tue, 30 Aug 2016 12:13:49 +0300 Subject: Use correct bower.json depending on version --- tasks/docsite.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tasks') diff --git a/tasks/docsite.js b/tasks/docsite.js index 2543662..4c18233 100644 --- a/tasks/docsite.js +++ b/tasks/docsite.js @@ -19,7 +19,6 @@ var stagingPath = stagingBasePath + '/' + version; var modify = require('gulp-modify'); var rootZip = 'target/'; var fileZip = 'docsite.zip'; -var bowerJson = require('../bower.json'); gulp.task('cdn:docsite:clean', function() { fs.removeSync(docPath); @@ -57,6 +56,7 @@ gulp.task('cdn:docsite:core-elements-integrations', function() { }); gulp.task('cdn:docsite:core-elements-elements', ['cdn:docsite:bower_components'], function() { + const bowerJson = require('../' + stagingPath + '/bower.json'); var docsPaths = Object.keys(bowerJson.dependencies).map(function(c) { return stagingPath + '/' + c + '/docs/**'; }); -- cgit v1.2.3