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 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 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) {
require('load-grunt-tasks')(grunt);
@ -143,20 +138,10 @@ module.exports = function (grunt) {
// docker binaries
'download-binary': {
docker: {
version: packagejson['docker-version'],
binary: path.join('resources', 'docker'),
download: 'curl:docker'
},
'docker-machine': {
version: packagejson['docker-machine-version'],
binary: path.join('resources', '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
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': {
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')
},
'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: {
addBundleURLTypes: {
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: {
electron: {
command: electron + ' ' + 'build',
@ -361,14 +338,10 @@ module.exports = function (grunt) {
}
});
if (process.platform === 'win32') {
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']);
}
grunt.registerTask('default', ['download-binary', 'newer:babel', 'less', 'newer:copy:dev', 'shell:electron', 'watchChokidar']);
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 {
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"
}
],
"docker-version": "1.8.0-rc1",
"docker-machine-version": "0.4.0-rc1",
"docker-compose-version": "1.4.0rc2",
"docker-version": "1.8.0-rc2",
"docker-machine-version": "0.4.0-rc2",
"electron-version": "0.27.2",
"virtualbox-version": "5.0.0",
"virtualbox-filename": "VirtualBox-5.0.0.pkg",

View File

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

View File

@ -73,7 +73,8 @@ var _steps = [{
var isoversion = machine.isoversion();
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.upgrade();
}

View File

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