Merge pull request #663 from kitematic/upgrade-docker

Upgrade to Docker 1.7.0 binaries & boot2docker.iso
This commit is contained in:
Jeffrey Morgan 2015-06-18 14:21:59 -07:00
commit fcd0244180
4 changed files with 25 additions and 10 deletions

2
.gitignore vendored
View File

@ -12,7 +12,7 @@ integration
# Resources # Resources
resources/docker* resources/docker*
resources/boot2docker-* resources/boot2docker*
# Cache # Cache
cache cache

View File

@ -1,4 +1,5 @@
var path = require('path'); var path = require('path');
var fs = require('fs');
var execFile = require('child_process').execFile; var execFile = require('child_process').execFile;
var packagejson = require('./package.json'); var packagejson = require('./package.json');
var electron = require('electron-prebuilt'); var electron = require('electron-prebuilt');
@ -27,6 +28,19 @@ module.exports = function (grunt) {
return match ? match[1] : null; return match ? match[1] : null;
}; };
grunt.registerTask('download-boot2docker-iso', 'Downloads provided boot2docker version', function () {
var version = grunt.config('version');
try {
var data = fs.readFileSync(path);
var match = data.match(/Boot2Docker-v(\d+\.\d+\.\d+)/);
if (match && match[1] !== version) {
grunt.task.run('curl:boot2docker-iso');
}
} catch (err) {
grunt.task.run('curl:boot2docker-iso');
}
});
grunt.registerMultiTask('download-binary', 'Downloads binary unless version up to date', function () { grunt.registerMultiTask('download-binary', 'Downloads binary unless version up to date', function () {
var target = grunt.task.current.target; var target = grunt.task.current.target;
var done = this.async(); var done = this.async();
@ -213,7 +227,7 @@ module.exports = function (grunt) {
}, },
'boot2docker-iso': { 'boot2docker-iso': {
src: BOOT2DOCKER_ISO_URL, src: BOOT2DOCKER_ISO_URL,
dest: path.join('resources', 'boot2docker-' + packagejson['docker-version']) dest: path.join('resources', 'boot2docker.iso')
} }
}, },
@ -282,6 +296,7 @@ module.exports = function (grunt) {
clean: { clean: {
release: ['build/', 'dist/', 'installer/'], release: ['build/', 'dist/', 'installer/'],
isos: ['resources/boot2docker*']
}, },
// livereload // livereload
@ -307,12 +322,12 @@ module.exports = function (grunt) {
} }
} }
}); });
grunt.registerTask('default', ['download-binary', 'newer:babel', 'less', 'newer:copy:dev', 'shell:electron', 'watchChokidar']); grunt.registerTask('default', ['download-binary', 'if-missing:curl:boot2docker-iso', 'newer:babel', 'less', 'newer:copy:dev', 'shell:electron', 'watchChokidar']);
if (process.platform === 'win32') { if (process.platform === 'win32') {
grunt.registerTask('release', ['clean', 'download-binary', 'babel', 'less', 'copy:dev', 'electron:windows', 'copy:windows', 'rcedit:exes', 'create-windows-installer', 'rename:installer']); grunt.registerTask('release', ['clean', 'download-binary', 'if-missing:curl:boot2docker-iso', 'babel', 'less', 'copy:dev', 'electron:windows', 'copy:windows', 'rcedit:exes', 'create-windows-installer', 'rename:installer']);
} else { } else {
grunt.registerTask('release', ['clean', 'download-binary', 'babel', 'less', 'copy:dev', 'electron:osx', 'copy:osx', 'shell:sign', 'shell:zip']); grunt.registerTask('release', ['clean', 'download-binary', 'if-missing:curl:boot2docker-iso', 'babel', 'less', 'copy:dev', 'electron:osx', 'copy:osx', 'shell:sign', 'shell:zip']);
} }
process.on('SIGINT', function () { process.on('SIGINT', function () {

View File

@ -22,9 +22,9 @@
"url": "http://www.apache.org/licenses/LICENSE-2.0.html" "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
} }
], ],
"docker-version": "1.6.2", "docker-version": "1.7.0",
"docker-machine-version": "0.3.0-rc3", "docker-machine-version": "0.3.0",
"docker-compose-version": "1.2.0", "docker-compose-version": "1.3.0",
"electron-version": "0.27.2", "electron-version": "0.27.2",
"virtualbox-version": "4.3.28", "virtualbox-version": "4.3.28",
"virtualbox-filename": "VirtualBox-4.3.28.pkg", "virtualbox-filename": "VirtualBox-4.3.28.pkg",
@ -78,6 +78,7 @@
"grunt-download-electron": "^2.1.1", "grunt-download-electron": "^2.1.1",
"grunt-electron": "^1.0.0", "grunt-electron": "^1.0.0",
"grunt-electron-installer": "^0.33.0", "grunt-electron-installer": "^0.33.0",
"grunt-if-missing": "^1.0.0",
"grunt-newer": "^1.1.1", "grunt-newer": "^1.1.1",
"grunt-rcedit": "^0.3.1", "grunt-rcedit": "^0.3.1",
"grunt-rename": "^0.1.4", "grunt-rename": "^0.1.4",

View File

@ -56,11 +56,10 @@ var DockerMachine = {
}); });
}, },
create: function () { create: function () {
var dockerversion = util.packagejson()['docker-version'];
if (util.isWindows()) { if (util.isWindows()) {
return util.exec([this.command(), '-D', 'create', '-d', 'virtualbox', '--virtualbox-memory', '2048', NAME]); return util.exec([this.command(), '-D', 'create', '-d', 'virtualbox', '--virtualbox-memory', '2048', NAME]);
} else { } else {
return util.exec([this.command(), '-D', 'create', '-d', 'virtualbox' ,'--virtualbox-boot2docker-url', path.join(process.cwd(), 'resources', 'boot2docker-' + dockerversion + '.iso'), '--virtualbox-memory', '2048', NAME]); return util.exec([this.command(), '-D', 'create', '-d', 'virtualbox' ,'--virtualbox-boot2docker-url', path.join(process.cwd(), 'resources', 'boot2docker.iso'), '--virtualbox-memory', '2048', NAME]);
} }
}, },
start: function () { start: function () {