2015-11-07 08:55:45 +01:00
|
|
|
'use strict';
|
|
|
|
|
2016-04-16 22:34:16 +02:00
|
|
|
var builder = require('electron-builder');
|
2016-07-11 20:32:44 +02:00
|
|
|
var macPackager = require('electron-builder/out/macPackager');
|
2016-04-16 22:34:16 +02:00
|
|
|
var linuxPackager = require('electron-builder/out/linuxPackager');
|
|
|
|
|
|
|
|
var version;
|
|
|
|
|
|
|
|
// workaround for https://github.com/electron-userland/electron-builder/issues/323
|
2016-07-11 20:32:44 +02:00
|
|
|
macPackager.default.prototype._origPrepareAppInfo = macPackager.default.prototype.prepareAppInfo;
|
|
|
|
macPackager.default.prototype.prepareAppInfo = function(appInfo) {
|
|
|
|
this.platformSpecificBuildOptions.bundleVersion = version;
|
|
|
|
return this._origPrepareAppInfo(appInfo);
|
2016-04-16 22:34:16 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
// we don't have 512x512 icon
|
|
|
|
var createFromIcns = linuxPackager.LinuxPackager.prototype.createFromIcns;
|
|
|
|
linuxPackager.LinuxPackager.prototype.createFromIcns = function() {
|
|
|
|
return createFromIcns.apply(this, arguments).then(function(res) {
|
|
|
|
return res.filter(function(item) { return item.indexOf('512x512') < 0; });
|
|
|
|
});
|
|
|
|
};
|
2015-11-07 08:55:45 +01:00
|
|
|
|
|
|
|
module.exports = function (grunt) {
|
2016-04-03 09:47:34 +02:00
|
|
|
grunt.registerMultiTask('electron-builder', 'Create app installer with electron-builder', function () {
|
2016-04-16 22:34:16 +02:00
|
|
|
version = grunt.config.get('gitinfo.local.branch.current.shortSHA');
|
2015-11-07 08:55:45 +01:00
|
|
|
var done = this.async();
|
2016-04-16 22:34:16 +02:00
|
|
|
builder.build(this.options())
|
|
|
|
.then(function () { done(); })
|
|
|
|
.catch(function (err) { grunt.warn(err || 'electron-builder error'); });
|
2015-11-07 08:55:45 +01:00
|
|
|
});
|
|
|
|
};
|