mirror of https://github.com/moparisthebest/mail
create release zip files via grunt job
This commit is contained in:
parent
6ea815221c
commit
082a12ed19
|
@ -5,7 +5,7 @@ test/lib/
|
||||||
.sass-cache
|
.sass-cache
|
||||||
src/css/
|
src/css/
|
||||||
dist/
|
dist/
|
||||||
dist.zip
|
*.zip
|
||||||
test/integration/src/
|
test/integration/src/
|
||||||
src/lib/*.js
|
src/lib/*.js
|
||||||
src/js/crypto/aes-cbc.js
|
src/js/crypto/aes-cbc.js
|
||||||
|
|
59
Gruntfile.js
59
Gruntfile.js
|
@ -1,6 +1,8 @@
|
||||||
module.exports = function(grunt) {
|
module.exports = function(grunt) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
var version = grunt.option('release');
|
||||||
|
|
||||||
// Project configuration.
|
// Project configuration.
|
||||||
grunt.initConfig({
|
grunt.initConfig({
|
||||||
connect: {
|
connect: {
|
||||||
|
@ -199,6 +201,18 @@ module.exports = function(grunt) {
|
||||||
src: ['**'],
|
src: ['**'],
|
||||||
dest: 'test/integration/src/'
|
dest: 'test/integration/src/'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
compress: {
|
||||||
|
main: {
|
||||||
|
options: {
|
||||||
|
mode: 'zip',
|
||||||
|
archive: (version) ? version + '.zip' : 'release.zip'
|
||||||
|
},
|
||||||
|
expand: true,
|
||||||
|
cwd: 'dist/',
|
||||||
|
src: ['**/*'],
|
||||||
|
dest: 'release/'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -213,6 +227,7 @@ module.exports = function(grunt) {
|
||||||
grunt.loadNpmTasks('grunt-autoprefixer');
|
grunt.loadNpmTasks('grunt-autoprefixer');
|
||||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||||
grunt.loadNpmTasks('grunt-contrib-copy');
|
grunt.loadNpmTasks('grunt-contrib-copy');
|
||||||
|
grunt.loadNpmTasks('grunt-contrib-compress');
|
||||||
|
|
||||||
// Build tasks
|
// Build tasks
|
||||||
grunt.registerTask('dist-npm', ['copy:npm', 'copy:npmDev', 'copy:cryptoLib']);
|
grunt.registerTask('dist-npm', ['copy:npm', 'copy:npmDev', 'copy:cryptoLib']);
|
||||||
|
@ -226,4 +241,48 @@ module.exports = function(grunt) {
|
||||||
grunt.registerTask('test', ['jshint', 'connect:test', 'mocha', 'qunit']);
|
grunt.registerTask('test', ['jshint', 'connect:test', 'mocha', 'qunit']);
|
||||||
grunt.registerTask('prod', ['connect:prod']);
|
grunt.registerTask('prod', ['connect:prod']);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Release tasks for Chrome App Release Channels
|
||||||
|
//
|
||||||
|
|
||||||
|
grunt.registerTask('manifest-dev', function() {
|
||||||
|
patchManifest({
|
||||||
|
suffix: ' (DEV)',
|
||||||
|
client_id: '440907777130-bfpgo5fbo4f7hetrg3hn57qolrtubs0u.apps.googleusercontent.com'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
grunt.registerTask('manifest-test', function() {
|
||||||
|
patchManifest({
|
||||||
|
suffix: ' (Alpha)'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
grunt.registerTask('manifest-stable', function() {
|
||||||
|
patchManifest({});
|
||||||
|
});
|
||||||
|
|
||||||
|
function patchManifest(options) {
|
||||||
|
var fs = require('fs'),
|
||||||
|
path = './dist/manifest.json',
|
||||||
|
manifest = require(path);
|
||||||
|
|
||||||
|
if (!version) {
|
||||||
|
throw new Error('You must specify the version: "--release=1.0"');
|
||||||
|
}
|
||||||
|
|
||||||
|
manifest.version = version;
|
||||||
|
if (options.suffix) {
|
||||||
|
manifest.name += options.suffix;
|
||||||
|
}
|
||||||
|
if (options.client_id) {
|
||||||
|
manifest.oauth2.client_id = options.client_id;
|
||||||
|
}
|
||||||
|
delete manifest.key;
|
||||||
|
|
||||||
|
fs.writeFileSync(path, JSON.stringify(manifest, null, 2));
|
||||||
|
}
|
||||||
|
|
||||||
|
grunt.registerTask('release-dev', ['dist', 'manifest-dev', 'compress']);
|
||||||
|
grunt.registerTask('release-test', ['dist', 'manifest-test', 'compress']);
|
||||||
|
grunt.registerTask('release-stable', ['dist', 'manifest-stable', 'compress']);
|
||||||
|
|
||||||
};
|
};
|
|
@ -30,6 +30,7 @@
|
||||||
"grunt-contrib-sass": "0.5.0",
|
"grunt-contrib-sass": "0.5.0",
|
||||||
"grunt-autoprefixer": "0.3.0",
|
"grunt-autoprefixer": "0.3.0",
|
||||||
"grunt-contrib-watch": "0.5.3",
|
"grunt-contrib-watch": "0.5.3",
|
||||||
"grunt-contrib-copy": "0.4.1"
|
"grunt-contrib-copy": "0.4.1",
|
||||||
|
"grunt-contrib-compress": "0.5.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "Whiteout Mail (DEV)",
|
"name": "Whiteout Mail",
|
||||||
"description": "Simple & elegant email client with integrated end-to-end encryption. Keeping your emails safe has never been so easy.",
|
"description": "Simple & elegant email client with integrated end-to-end encryption. Keeping your emails safe has never been so easy.",
|
||||||
"version": "0.1.9.1",
|
"version": "9999.9999.9999.9999",
|
||||||
"manifest_version": 2,
|
"manifest_version": 2,
|
||||||
"offline_enabled": true,
|
"offline_enabled": true,
|
||||||
"icons": {
|
"icons": {
|
||||||
|
|
Loading…
Reference in New Issue