From f5d10e2e3be9279e21c9b5b21cf0889ab6ae5d82 Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Thu, 18 Jun 2015 14:15:19 -0700 Subject: [PATCH 1/4] Add boot2docker.iso to gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 36a1b17492..7de51eecbc 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,7 @@ integration # Resources resources/docker* -resources/boot2docker-* +resources/boot2docker* # Cache cache From 2109b5912464eab9125d9a3587e3960c740e6954 Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Thu, 18 Jun 2015 14:15:53 -0700 Subject: [PATCH 2/4] Fixed bug where old boot2docker.iso versions would be left in the resources directory --- Gruntfile.js | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 30bc6d3a25..8027ba9647 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -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 () { From f4baa9a155866d710b4e323e64f25c038ee4dec4 Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Thu, 18 Jun 2015 14:16:09 -0700 Subject: [PATCH 3/4] Bumping to newest docker binaries --- package.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 3040ad9960..0d41db8c2b 100644 --- a/package.json +++ b/package.json @@ -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", From 3682961c1d73aee2ff0df2cd6db8d4e01444dde6 Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Thu, 18 Jun 2015 14:16:30 -0700 Subject: [PATCH 4/4] Use vanilla boot2docker.iso filename --- src/utils/DockerMachineUtil.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/utils/DockerMachineUtil.js b/src/utils/DockerMachineUtil.js index 8006e49bf7..fbbe70956c 100644 --- a/src/utils/DockerMachineUtil.js +++ b/src/utils/DockerMachineUtil.js @@ -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 () {