fix #784, fix #572, fix #450: more linux releases: AppImage, RPM, Snap

This commit is contained in:
antelle 2020-03-17 22:46:21 +01:00
parent 3bfa95a032
commit be3c7a8314
6 changed files with 981 additions and 8 deletions

View File

@ -159,6 +159,21 @@ module.exports = function(grunt) {
src: 'tmp/desktop/KeeWeb.win.ia32.exe',
dest: `dist/desktop/KeeWeb-${pkg.version}.win.ia32.exe`,
nonull: true
},
'electron-builder-dist-linux-rpm': {
src: `tmp/desktop/electron-builder/KeeWeb-${pkg.version}.x86_64.rpm`,
dest: `dist/desktop/KeeWeb-${pkg.version}.linux.x86_64.rpm`,
nonull: true
},
'electron-builder-dist-linux-snap': {
src: `tmp/desktop/electron-builder/KeeWeb_${pkg.version}_amd64.snap`,
dest: `dist/desktop/KeeWeb-${pkg.version}.linux.amd64.snap`,
nonull: true
},
'electron-builder-dist-linux-appimage': {
src: `tmp/desktop/electron-builder/KeeWeb-${pkg.version}.AppImage`,
dest: `dist/desktop/KeeWeb-${pkg.version}.linux.AppImage`,
nonull: true
}
},
eslint: {
@ -352,6 +367,31 @@ module.exports = function(grunt) {
}
}
},
'electron-builder': {
linux: {
options: {
targets: 'linux',
prepackaged: 'tmp/desktop/KeeWeb-linux-x64',
config: {
appId: 'net.antelle.keeweb',
productName: 'KeeWeb',
copyright: `Copyright © ${year} Antelle`,
directories: {
output: 'tmp/desktop/electron-builder',
app: 'desktop',
buildResources: 'graphics'
},
linux: {
target: ['AppImage', 'snap', 'rpm'],
category: 'Utility'
},
rpm: {
depends: ['libappindicator1', 'libgconf-2-4']
}
}
}
}
},
compress: {
options: {
level: 6

View File

@ -0,0 +1,20 @@
module.exports = function(grunt) {
grunt.registerMultiTask('electron-builder', 'Runs electron-builder', function() {
const done = this.async();
const opt = this.options();
const builder = require('electron-builder');
const Platform = builder.Platform;
builder
.build({
...opt,
targets: Platform[opt.targets.toUpperCase()].createTarget()
})
.then(done)
.catch(error => {
return grunt.warn('electron-builder returned an error: \n' + error);
});
});
};

View File

@ -62,7 +62,13 @@ module.exports = function(grunt) {
'copy:desktop-win32-dist-ia32'
]);
grunt.registerTask('build-desktop-dist-linux', ['deb:linux-x64']);
grunt.registerTask('build-desktop-dist-linux', [
'deb:linux-x64',
'electron-builder:linux',
'copy:electron-builder-dist-linux-rpm',
'copy:electron-builder-dist-linux-snap',
'copy:electron-builder-dist-linux-appimage'
]);
grunt.registerTask('build-desktop-dist', [
'build-desktop-dist-darwin',

917
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -27,6 +27,7 @@
"cross-env": "^7.0.2",
"dompurify": "^2.0.8",
"electron": "^8.1.1",
"electron-builder": "^22.4.1",
"eslint": "^6.8.0",
"eslint-config-prettier": "^6.10.0",
"eslint-config-standard": "^14.1.0",

View File

@ -13,6 +13,9 @@ Release notes
`+` #411: option to automatically use group icon for new entries
`+` #615: translated shortcut modifier keys
`*` #1029: fixed syncing files by timeout when there are no changes
`+` #784: AppImage distributable
`+` #572: RPM distributable
`+` #450: Snap distributable
`-` fix #1396: fixed hyperlinks in notes
`-` fix #1323: version in the About dialog
`-` fix #734: OTP secrets with spaces