diff --git a/Gruntfile.js b/Gruntfile.js index a990ace9f6..408d569df9 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,6 +1,7 @@ var path = require('path'); var execFile = require('child_process').execFile; var packagejson = require('./package.json'); +var electron = require('electron-prebuilt'); var WINDOWS_DOCKER_URL = 'https://get.docker.com/builds/Windows/x86_64/docker-1.6.2.exe'; var DARWIN_DOCKER_URL = 'https://get.docker.com/builds/Darwin/x86_64/docker-' + packagejson['docker-version']; @@ -36,9 +37,35 @@ module.exports = function (grunt) { grunt.initConfig({ // electron - 'download-electron': { - version: packagejson['electron-version'], - outputDir: 'cache' + electron: { + windows: { + options: { + name: 'Kitematic', + dir: 'build/', + out: 'dist/', + version: packagejson['electron-version'], + platform: 'win32', + arch: 'x64', + asar: true + } + }, + osx: { + options: { + name: 'Kitematic', + dir: 'build/', + out: 'dist/osx/', + version: packagejson['electron-version'], + platform: 'darwin', + arch: 'x64', + asar: true + } + } + }, + + 'create-windows-installer': { + appDirectory: 'dist/Kitematic-win32/', + outputDirectory: 'installer/', + authors: 'Docker Inc.' }, // docker binaries @@ -55,27 +82,6 @@ module.exports = function (grunt) { } }, - // electron - electron: { - windows: { - options: { - name: 'Kitematic', - dir: 'build/', - out: 'dist/', - version: packagejson['electron-version'], - platform: 'win32', - arch: 'x64', - asar: true - } - } - }, - - 'create-windows-installer': { - appDirectory: 'dist/Kitematic-win32/', - outputDirectory: 'installer/', - authors: 'Docker Inc.' - }, - // images copy: { dev: { @@ -101,12 +107,20 @@ module.exports = function (grunt) { expand: true }] }, - release: { + windows: { + files: [{ + expand: true, + cwd: 'resources', + src: ['docker*', 'boot2docker.iso'], + dest: 'dist/Kitematic-win32/resources/resources/' + }] + }, + osx: { files: [{ expand: true, cwd: 'resources', src: ['**/*'], - dest: 'dist/Kitematic-win32/resources/resources/' + dest: 'dist/osx/Kitematic.app/resources/' }] } }, @@ -170,7 +184,7 @@ module.exports = function (grunt) { shell: { electron: { - command: path.join('cache', 'electron') + ' ' + 'build', + command: electron + ' ' + 'build', options: { async: true, execOptions: { @@ -205,6 +219,6 @@ module.exports = function (grunt) { } } }); - grunt.registerTask('default', ['download-electron', 'download-binary', 'babel', 'less', 'copy:dev', 'shell:electron', 'watchChokidar']); - grunt.registerTask('release', ['clean:dist', 'clean:build', 'download-binary', 'babel', 'less', 'copy:dev', 'electron', 'copy:release']); + grunt.registerTask('default', ['download-binary', 'babel', 'less', 'copy:dev', 'shell:electron', 'watchChokidar']); + grunt.registerTask('release', ['clean:dist', 'clean:build', 'download-binary', 'babel', 'less', 'copy:dev', 'electron', 'copy:windows', 'copy:mac']); }; diff --git a/package.json b/package.json index fa9eb1f856..6cf571e0ed 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,7 @@ "devDependencies": { "babel": "^5.1.10", "babel-jest": "^5.2.0", + "electron-prebuilt": "^0.27.3", "grunt": "^0.4.5", "grunt-babel": "^5.0.1", "grunt-chmod": "^1.0.3",