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/docker*
resources/boot2docker-*
resources/boot2docker*
# Cache
cache

View File

@ -1,4 +1,5 @@
var path = require('path');
var fs = require('fs');
var execFile = require('child_process').execFile;
var packagejson = require('./package.json');
var electron = require('electron-prebuilt');
@ -27,6 +28,19 @@ module.exports = function (grunt) {
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 () {
var target = grunt.task.current.target;
var done = this.async();
@ -213,7 +227,7 @@ module.exports = function (grunt) {
},
'boot2docker-iso': {
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: {
release: ['build/', 'dist/', 'installer/'],
isos: ['resources/boot2docker*']
},
// 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') {
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 {
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 () {

View File

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

View File

@ -56,11 +56,10 @@ var DockerMachine = {
});
},
create: function () {
var dockerversion = util.packagejson()['docker-version'];
if (util.isWindows()) {
return util.exec([this.command(), '-D', 'create', '-d', 'virtualbox', '--virtualbox-memory', '2048', NAME]);
} 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 () {