]> source.dussan.org Git - vaadin-core.git/commitdiff
Adding command to make a remote symlink pr4/r6
authorManolo Carrasco <manolo@apache.org>
Thu, 17 Sep 2015 18:39:12 +0000 (20:39 +0200)
committerManolo Carrasco <manolo@apache.org>
Thu, 17 Sep 2015 19:18:23 +0000 (21:18 +0200)
tasks/cdn.js
tasks/config.js
tasks/zip.js

index 481a3c9b69db77dad7363bfb6f1822d7566f01e4..d81eef7e53ca268cea8c098c8a73a59d0863d6f2 100644 (file)
@@ -12,7 +12,9 @@ var args = require('yargs').argv;
 var git = require('gulp-git');
 
 var stagingBasePath = config.paths.staging.cdn;
-var version = args.release || args.preRelease || args.autoRevert ? config.version : config.snapshotVersion;
+var version = config.version;
+var host = config.cdnHost;
+var permalink = config.permalink;
 var stagingPath = stagingBasePath + '/' + version;
 var testPath = process.cwd() + '/' + stagingPath + '/test';
 
@@ -36,16 +38,13 @@ gulp.task('cdn:stage-vaadin-components', function() {
 
 gulp.task('stage:cdn', [ 'clean:cdn', 'cdn:stage-bower_components', 'cdn:stage-vaadin-components' ]);
 
-gulp.task('deploy:cdn', ['stage:cdn'], function() {
+gulp.task('upload:cdn', ['stage:cdn'], function() {
   common.checkArguments(['cdnUsername', 'cdnDestination']);
-  var hostName = args.cdnHostname || 'cdn.vaadin.com';
-
-  gutil.log('Uploading to cdn (rsync): ' + stagingPath + ' -> '+ args.cdnUsername + '@' + hostName + ':' + args.cdnDestination + version);
-
+  gutil.log('Uploading to cdn (rsync): ' + stagingPath + ' -> '+ args.cdnUsername + '@' + host + ':' + args.cdnDestination + version);
   return gulp.src(stagingPath)
     .pipe(rsync({
       username: args.cdnUsername,
-      hostname: hostName,
+      hostname: host,
       root: stagingPath,
       emptyDirectories: false,
       recursive: true,
@@ -55,6 +54,26 @@ gulp.task('deploy:cdn', ['stage:cdn'], function() {
     }));
 });
 
+gulp.task('deploy:cdn', ['upload:cdn'], function(done) {
+  if (permalink) {
+    var cmd = 'rm -f ' + args.cdnDestination + permalink + '; ln -s ' + version + ' ' +  args.cdnDestination + permalink + '; ls -l ' + args.cdnDestination;
+    gutil.log('Deploying CDN : ssh ' + args.cdnUsername + '@' + host + ' ' +  cmd);
+    require('node-ssh-exec')({
+      host: host,
+      username: args.cdnUsername,
+      privateKey: config.paths.privateKey()
+    }, cmd, function (error, response) {
+      if (error) {
+        throw error;
+      }
+      gutil.log(response);
+      done();
+    });
+  } else {
+    done();
+  }
+});
+
 gulp.task('cdn-test:clean', function() {
   fs.removeSync(stagingPath + '/test');
 });
@@ -100,7 +119,7 @@ gulp.task('verify:cdn', ['cdn-test:stage'], function(done) {
         gutil.log('Deleting folder ' + args.cdnDestination + version);
 
         require('node-ssh-exec')({
-          host: 'cdn.vaadin.com',
+          host: host,
           username: args.cdnUsername,
           privateKey: config.paths.privateKey()
         }, 'rm -rf ' + args.cdnDestination + version, function (error, response) {
index 248a927695e9763ec80657ba2c1775ee89424ac5..dc48921ed60c6e14f31397dbc3825c6b95acd36f 100644 (file)
@@ -5,8 +5,10 @@ var userhome = process.env.HOME || process.env.HOMEPATH || process.env.USERPROFI
 
 module.exports = {
   components: ['vaadin-grid'],
-  snapshotVersion: 'master',
-  version: args.version || this.snapshotVersion,
+  version: args.version || 'master',
+  permalink: args.version ? 'latest' : '',
+  cdnHost: args.cdnHostname || 'cdn.vaadin.com',
+  zipHost: args.zipHostname || 'vaadin.com',
   paths: {
     staging: {
       bower: 'target/bower',
index fc0f85449d08546e0f6fd659a4468fe282b93028..f649d985a75810567cbdae3118c4f3a57a46d129 100644 (file)
@@ -12,7 +12,8 @@ var unzip = require('gulp-unzip');
 var zip = require('gulp-zip');
 
 var stagingPath = config.paths.staging.zip;
-var version = args.release || args.preRelease ? config.version : config.snapshotVersion;
+var version = config.version;
+var host = config.zipHost;
 var filename = 'vaadin-components-' + version + '.zip';
 var majorMinorVersion = version.replace(/(\d+\.\d+)(\.|-)(.*)/, '$1');
 
@@ -29,13 +30,12 @@ gulp.task('stage:zip', ['clean:zip', 'stage:cdn'], function() {
 
 gulp.task('zip:upload', ['stage:zip'], function(done) {
   common.checkArguments(['zipUsername', 'zipDestination']);
-  var hostName = args.zipHostname || 'vaadin.com';
   var path = args.zipDestination + majorMinorVersion + '/' + version + '/' + filename;
 
-  gutil.log('Uploading zip package (scp): ' + stagingPath + '/' + filename + ' -> ' + args.zipUsername + '@' + hostName + ':' + path);
+  gutil.log('Uploading zip package (scp): ' + stagingPath + '/' + filename + ' -> ' + args.zipUsername + '@' + host + ':' + path);
 
   require('scp2').scp(stagingPath + '/' + filename, {
-    host: hostName,
+    host: host,
     username: args.zipUsername,
     privateKey: config.paths.privateKey(),
     path: path
@@ -45,11 +45,10 @@ gulp.task('zip:upload', ['stage:zip'], function(done) {
 });
 
 function ssh(command, done) {
-  var hostName = args.sshHostname || 'vaadin.com';
-  gutil.log('SSH: ' + hostName + ' -> ' + command);
+  gutil.log('SSH: ' + host + ' -> ' + command);
 
   require('node-ssh-exec')({
-      host: hostName,
+      host: host,
       username: args.zipUsername,
       privateKey: config.paths.privateKey()
     }, command,