Fix issues so Kitematic 0.8 works with Docker Toolbox

This commit is contained in:
Jeffrey Morgan 2015-08-04 21:27:46 -07:00
parent 2f792ce800
commit dcd8f398dd
5 changed files with 26 additions and 56 deletions

View File

@ -3,13 +3,8 @@ 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');
var dockerHostname = packagejson['docker-version'].indexOf('rc') !== -1 ? 'test.docker.com' : 'get.docker.com';
var WINDOWS_DOCKER_URL = 'https://' + dockerHostname + '/builds/Windows/x86_64/docker-' + packagejson['docker-version'] + '.exe';
var DARWIN_DOCKER_URL = 'https://' + dockerHostname + '/builds/Darwin/x86_64/docker-' + packagejson['docker-version'];
var WINDOWS_DOCKER_MACHINE_URL = 'https://github.com/docker/machine/releases/download/v' + packagejson['docker-machine-version'] + '/docker-machine_windows-amd64.exe'; var WINDOWS_DOCKER_MACHINE_URL = 'https://github.com/docker/machine/releases/download/v' + packagejson['docker-machine-version'] + '/docker-machine_windows-amd64.exe';
var DARWIN_DOCKER_MACHINE_URL = 'https://github.com/docker/machine/releases/download/v' + packagejson['docker-machine-version'] + '/docker-machine_darwin-amd64'; var DARWIN_DOCKER_MACHINE_URL = 'https://github.com/docker/machine/releases/download/v' + packagejson['docker-machine-version'] + '/docker-machine_darwin-amd64';
var DARWIN_COMPOSE_URL = 'https://github.com/docker/compose/releases/download/' + packagejson['docker-compose-version'] + '/docker-compose-Darwin-x86_64';
module.exports = function (grunt) { module.exports = function (grunt) {
require('load-grunt-tasks')(grunt); require('load-grunt-tasks')(grunt);
@ -143,20 +138,10 @@ module.exports = function (grunt) {
// docker binaries // docker binaries
'download-binary': { 'download-binary': {
docker: {
version: packagejson['docker-version'],
binary: path.join('resources', 'docker'),
download: 'curl:docker'
},
'docker-machine': { 'docker-machine': {
version: packagejson['docker-machine-version'], version: packagejson['docker-machine-version'],
binary: path.join('resources', 'docker-machine'), binary: path.join('resources', 'docker-machine'),
download: 'curl:docker-machine' download: 'curl:docker-machine'
},
'docker-compose': {
version: packagejson['docker-compose-version'],
binary: path.join('resources', 'docker-compose'),
download: 'curl:docker-compose'
} }
}, },
@ -221,17 +206,9 @@ module.exports = function (grunt) {
// download binaries // download binaries
curl: { curl: {
docker: {
src: process.platform === 'win32' ? WINDOWS_DOCKER_URL : DARWIN_DOCKER_URL,
dest: process.platform === 'win32' ? path.join('resources', 'docker.exe') : path.join('resources', 'docker')
},
'docker-machine': { 'docker-machine': {
src: process.platform === 'win32' ? WINDOWS_DOCKER_MACHINE_URL : DARWIN_DOCKER_MACHINE_URL, src: process.platform === 'win32' ? WINDOWS_DOCKER_MACHINE_URL : DARWIN_DOCKER_MACHINE_URL,
dest: process.platform === 'win32' ? path.join('resources', 'docker-machine.exe') : path.join('resources', 'docker-machine') dest: process.platform === 'win32' ? path.join('resources', 'docker-machine.exe') : path.join('resources', 'docker-machine')
},
'docker-compose': {
src: DARWIN_COMPOSE_URL,
dest: 'resources/docker-compose'
} }
}, },
@ -256,22 +233,6 @@ module.exports = function (grunt) {
} }
}, },
// javascript
babel: {
options: {
sourceMap: 'inline',
blacklist: 'regenerator'
},
dist: {
files: [{
expand: true,
cwd: 'src/',
src: ['**/*.js'],
dest: 'build/',
}]
}
},
plistbuddy: { plistbuddy: {
addBundleURLTypes: { addBundleURLTypes: {
method: 'Add', method: 'Add',
@ -307,6 +268,22 @@ module.exports = function (grunt) {
} }
}, },
// javascript
babel: {
options: {
sourceMap: 'inline',
blacklist: 'regenerator'
},
dist: {
files: [{
expand: true,
cwd: 'src/',
src: ['**/*.js'],
dest: 'build/',
}]
}
},
shell: { shell: {
electron: { electron: {
command: electron + ' ' + 'build', command: electron + ' ' + 'build',
@ -361,14 +338,10 @@ module.exports = function (grunt) {
} }
}); });
if (process.platform === 'win32') { grunt.registerTask('default', ['download-binary', 'newer:babel', 'less', 'newer:copy:dev', 'shell:electron', 'watchChokidar']);
grunt.registerTask('default', ['download-binary:docker', 'download-binary:docker-machine', 'newer:babel', 'less', 'newer:copy:dev', 'shell:electron', 'watchChokidar']);
} else {
grunt.registerTask('default', ['download-binary', 'newer:babel', 'less', 'newer:copy:dev', 'shell:electron', 'watchChokidar']);
}
if (process.platform === 'win32') { if (process.platform === 'win32') {
grunt.registerTask('release', ['clean:release', 'download-binary:docker', 'download-binary:docker-machine', 'less', 'copy:dev', 'electron:windows', 'copy:windows', 'rcedit:exes', 'prompt:create-windows-installer', 'create-windows-installer', 'rename:installer']); grunt.registerTask('release', ['clean:release', 'download-binary', 'babel', 'less', 'copy:dev', 'electron:windows', 'copy:windows', 'rcedit:exes', 'prompt:create-windows-installer', 'create-windows-installer', 'rename:installer']);
} else { } else {
grunt.registerTask('release', ['clean:release', 'download-binary', 'babel', 'less', 'copy:dev', 'electron:osx', 'copy:osx', 'plistbuddy', 'shell:sign', 'shell:zip']); grunt.registerTask('release', ['clean:release', 'download-binary', 'babel', 'less', 'copy:dev', 'electron:osx', 'copy:osx', 'plistbuddy', 'shell:sign', 'shell:zip']);
} }

View File

@ -22,9 +22,8 @@
"url": "http://www.apache.org/licenses/LICENSE-2.0.html" "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
} }
], ],
"docker-version": "1.8.0-rc1", "docker-version": "1.8.0-rc2",
"docker-machine-version": "0.4.0-rc1", "docker-machine-version": "0.4.0-rc2",
"docker-compose-version": "1.4.0rc2",
"electron-version": "0.27.2", "electron-version": "0.27.2",
"virtualbox-version": "5.0.0", "virtualbox-version": "5.0.0",
"virtualbox-filename": "VirtualBox-5.0.0.pkg", "virtualbox-filename": "VirtualBox-5.0.0.pkg",

View File

@ -1,8 +1,7 @@
#!/bin/bash #!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PATH=$DIR:$PATH CMD="clear && $*"
CMD="export PATH='$PATH' && clear && $*"
ITERM_EXISTS=`osascript <<EOF ITERM_EXISTS=`osascript <<EOF
set doesExist to false set doesExist to false

View File

@ -73,7 +73,8 @@ var _steps = [{
var isoversion = machine.isoversion(); var isoversion = machine.isoversion();
var packagejson = util.packagejson(); var packagejson = util.packagejson();
if (!isoversion || util.compareVersions(isoversion, packagejson['docker-version']) < 0) { var packagejsonVersion = packagejson['docker-version'].split('-')[0];
if (!isoversion || util.compareVersions(isoversion, packagejsonVersion) < 0) {
yield machine.start(); yield machine.start();
yield machine.upgrade(); yield machine.upgrade();
} }

View File

@ -5,19 +5,17 @@ import fs from 'fs';
import util from './Util'; import util from './Util';
import resources from './ResourcesUtil'; import resources from './ResourcesUtil';
var NAME = 'docker-vm';
var DockerMachine = { var DockerMachine = {
command: function () { command: function () {
return resources.dockerMachine(); return resources.dockerMachine();
}, },
name: function () { name: function () {
return NAME; return 'docker-vm';
}, },
isoversion: function (machineName = this.name()) { isoversion: function (machineName = this.name()) {
try { try {
var data = fs.readFileSync(path.join(util.home(), '.docker', 'machine', 'machines', machineName, 'boot2docker-virtualbox.iso'), 'utf8'); var data = fs.readFileSync(path.join(util.home(), '.docker', 'machine', 'machines', machineName, 'boot2docker.iso'), 'utf8');
var match = data.match(/Docker v(\d+\.\d+\.\d+)/); var match = data.match(/Boot2Docker-v(\d+\.\d+\.\d+)/);
if (match) { if (match) {
return match[1]; return match[1];
} else { } else {