diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cd8ec49c3b..21febb49bd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,7 +20,8 @@ Before you file an issue or a pull request, read the following tips on how to ke ### Prerequisites for developing Kitematic on Mac You will need to install: - The [Docker Toolbox](https://docker.com/toolbox) -- [Node.js](https://nodejs.org/) +- [Node.js](https://nodejs.org/) +- Wine `brew install wine` (only if you want to generate a Windows release on OS X) - The latest Xcode from the Apple App Store. ### Prerequisites for developing Kitematic on Windows @@ -30,7 +31,6 @@ You will need to install: - Open a command prompt (`cmd`) and run the command `mkdir ~/AppData/Roaming/npm` - [Visual Studio 2013 Community](https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx) (or similar) - You do not need to install any optional packages during install. - [Python](https://www.python.org/downloads/release/python-2710/) -- [Temporary] Set the `DOCKER_TOOLBOX_INSTALL_PATH` environment variable as follows: ![Toolbox Env Var](https://cloud.githubusercontent.com/assets/251292/10656552/adaedb20-7834-11e5-8881-d5402d3fee37.png) diff --git a/Gruntfile.js b/Gruntfile.js index eba8dbb4b7..ee2afeadc6 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -20,25 +20,14 @@ module.exports = function (grunt) { }; var BASENAME = 'Kitematic'; - var APPNAME = BASENAME; - - if (alpha) { - APPNAME += ' (Alpha)'; - } else if (beta) { - APPNAME += ' (Beta)'; - } - + var OSX_APPNAME = BASENAME + ' (Beta)'; + var WINDOWS_APPNAME = BASENAME + ' (Alpha)'; var OSX_OUT = './dist'; - var OSX_OUT_X64 = OSX_OUT + '/' + APPNAME + '-darwin-x64'; - var OSX_FILENAME = OSX_OUT_X64 + '/' + APPNAME + '.app'; + var OSX_OUT_X64 = OSX_OUT + '/' + OSX_APPNAME + '-darwin-x64'; + var OSX_FILENAME = OSX_OUT_X64 + '/' + OSX_APPNAME + '.app'; grunt.initConfig({ IDENTITY: 'Developer ID Application: Docker Inc', - APPNAME: APPNAME, - APPNAME_ESCAPED: APPNAME.replace(/ /g, '\\ ').replace(/\(/g,'\\(').replace(/\)/g,'\\)'), - OSX_OUT: OSX_OUT, - OSX_OUT_ESCAPED: OSX_OUT.replace(/ /g, '\\ ').replace(/\(/g,'\\(').replace(/\)/g,'\\)'), - OSX_OUT_X64: OSX_OUT_X64, OSX_FILENAME: OSX_FILENAME, OSX_FILENAME_ESCAPED: OSX_FILENAME.replace(/ /g, '\\ ').replace(/\(/g,'\\(').replace(/\)/g,'\\)'), @@ -58,7 +47,7 @@ module.exports = function (grunt) { }, osx: { options: { - name: APPNAME, + name: OSX_APPNAME, dir: 'build/', out: 'dist', version: packagejson['electron-version'], @@ -85,8 +74,8 @@ module.exports = function (grunt) { 'version-string': { 'CompanyName': 'Docker', 'ProductVersion': packagejson.version, - 'ProductName': APPNAME, - 'FileDescription': APPNAME, + 'ProductName': WINDOWS_APPNAME, + 'FileDescription': WINDOWS_APPNAME, 'InternalName': BASENAME + '.exe', 'OriginalFilename': BASENAME + '.exe', 'LegalCopyright': 'Copyright 2015 Docker Inc. All rights reserved.' @@ -95,21 +84,6 @@ module.exports = function (grunt) { } }, - 'create-windows-installer': { - config: { - appDirectory: path.join(__dirname, 'dist/' + BASENAME + '-win32-x64'), - outputDirectory: path.join(__dirname, 'dist'), - authors: 'Docker Inc.', - loadingGif: 'util/loading.gif', - setupIcon: 'util/setup.ico', - iconUrl: 'https://raw.githubusercontent.com/kitematic/kitematic/master/util/kitematic.ico', - description: APPNAME, - title: APPNAME, - exe: BASENAME + '.exe', - version: packagejson.version - } - }, - // images copy: { dev: { @@ -269,12 +243,7 @@ module.exports = function (grunt) { }); grunt.registerTask('default', ['newer:babel', 'less', 'newer:copy:dev', 'shell:electron', 'watchChokidar']); - - if (process.platform === 'win32') { - grunt.registerTask('release', ['clean:release', 'babel', 'less', 'copy:dev', 'electron:windows', 'copy:windows', 'rcedit:exes', 'compress']); - } else { - grunt.registerTask('release', ['clean:release', 'babel', 'less', 'copy:dev', 'electron:osx', 'copy:osx', 'shell:sign', 'shell:zip']); - } + grunt.registerTask('release', ['clean:release', 'babel', 'less', 'copy:dev', 'electron', 'copy:osx', 'shell:sign', 'shell:zip', 'copy:windows', 'rcedit:exes', 'compress']); process.on('SIGINT', function () { grunt.task.run(['shell:electron:kill']);