This commit is contained in:
Jeffrey Morgan 2015-06-09 23:17:49 -07:00
parent c53400fb90
commit 5048d16e22
2 changed files with 23 additions and 12 deletions

View File

@ -13,6 +13,7 @@ var BOOT2DOCKER_ISO_URL = 'https://github.com/boot2docker/boot2docker/releases/d
module.exports = function (grunt) { module.exports = function (grunt) {
require('load-grunt-tasks')(grunt); require('load-grunt-tasks')(grunt);
var target = grunt.option('target') || 'development'; var target = grunt.option('target') || 'development';
var beta = grunt.option('beta') || false;
var env = process.env; var env = process.env;
env.NODE_ENV = target; env.NODE_ENV = target;
@ -35,16 +36,22 @@ module.exports = function (grunt) {
}); });
}); });
var APPNAME = beta ? 'Kitematic (Beta)' : 'Kitematic';
var OSX_OUT = './dist/osx';
var OSX_FILENAME = OSX_OUT + '/' + APPNAME + '.app';
grunt.initConfig({ grunt.initConfig({
IDENTITY: '"Developer ID Application: Docker Inc"', IDENTITY: 'Developer ID Application: Docker Inc',
OSX_OUT: './dist/osx', APPNAME: APPNAME,
OSX_FILENAME: path.join('<%= OSX_OUT %>', 'Kitematic.app'), OSX_OUT: OSX_OUT,
OSX_FILENAME: OSX_FILENAME,
OSX_FILENAME_ESCAPED: OSX_FILENAME.replace(' ', '\\ ').replace('(','\\(').replace(')','\\)'),
// electron // electron
electron: { electron: {
windows: { windows: {
options: { options: {
name: 'Kitematic', name: '<%= APPNAME %>',
dir: 'build/', dir: 'build/',
out: 'dist/', out: 'dist/',
version: packagejson['electron-version'], version: packagejson['electron-version'],
@ -55,7 +62,7 @@ module.exports = function (grunt) {
}, },
osx: { osx: {
options: { options: {
name: 'Kitematic', name: '<%= APPNAME %>',
dir: 'build/', dir: 'build/',
out: '<%= OSX_OUT %>', out: '<%= OSX_OUT %>',
version: packagejson['electron-version'], version: packagejson['electron-version'],
@ -211,11 +218,14 @@ module.exports = function (grunt) {
failOnError: false, failOnError: false,
}, },
command: [ command: [
'codesign --deep -v -f -s <%= IDENTITY %> <%= OSX_FILENAME %>/Contents/Frameworks/*', 'codesign --deep -v -f -s "<%= IDENTITY %>" <%= OSX_FILENAME_ESCAPED %>/Contents/Frameworks/*',
'codesign -v -f -s <%= IDENTITY %> <%= OSX_FILENAME %>', 'codesign -v -f -s "<%= IDENTITY %>" <%= OSX_FILENAME_ESCAPED %>',
'codesign -vvv --display <%= OSX_FILENAME %>', 'codesign -vvv --display <%= OSX_FILENAME_ESCAPED %>',
'codesign -v --verify <%= OSX_FILENAME %>', 'codesign -v --verify <%= OSX_FILENAME_ESCAPED %>',
].join(' && '), ].join(' && '),
},
zip: {
command: 'ditto -c -k --sequesterRsrc --keepParent <%= OSX_FILENAME_ESCAPED %> <%= OSX_OUT %>/Kitematic-' + packagejson.version + '.zip',
} }
}, },
@ -252,7 +262,7 @@ module.exports = function (grunt) {
if (process.platform === 'win32') { if (process.platform === 'win32') {
grunt.registerTask('release', ['clean:dist', 'clean:build', 'download-binary', 'babel', 'less', 'copy:dev', 'electron:windows', 'copy:windows', 'copy:osx']); grunt.registerTask('release', ['clean:dist', 'clean:build', 'download-binary', 'babel', 'less', 'copy:dev', 'electron:windows', 'copy:windows', 'copy:osx']);
} else { } else {
grunt.registerTask('release', ['clean:dist', 'clean:build', 'download-binary', 'babel', 'less', 'copy:dev', 'electron:osx', 'copy:osx', 'shell:sign']); grunt.registerTask('release', ['clean:dist', 'clean:build', 'download-binary', 'babel', 'less', 'copy:dev', 'electron:osx', 'copy:osx', 'shell:sign', 'shell:zip']);
} }
process.on('SIGINT', function () { process.on('SIGINT', function () {

View File

@ -14,8 +14,8 @@
"start": "gulp", "start": "gulp",
"test": "jest -c jest-unit.json", "test": "jest -c jest-unit.json",
"integration": "jest -c jest-integration.json", "integration": "jest -c jest-integration.json",
"release": "gulp release", "release": "grunt release",
"release:beta": "gulp release --beta", "release:beta": "grunt release --beta=true",
"lint": "jsxhint src", "lint": "jsxhint src",
"reset": "gulp reset" "reset": "gulp reset"
}, },
@ -88,6 +88,7 @@
"minimist": "^1.1.1", "minimist": "^1.1.1",
"react-tools": "^0.13.1", "react-tools": "^0.13.1",
"run-sequence": "^1.0.2", "run-sequence": "^1.0.2",
"shell-escape": "^0.2.0",
"source-map-support": "^0.2.10" "source-map-support": "^0.2.10"
} }
} }