mirror of https://github.com/docker/docs.git
OS X zip
This commit is contained in:
parent
c53400fb90
commit
5048d16e22
30
Gruntfile.js
30
Gruntfile.js
|
@ -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 () {
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue