2016-05-13 12:47:30 -07:00
|
|
|
#!/usr/bin/env node
|
|
|
|
|
2016-08-29 14:40:11 -07:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const createWindowsInstaller = require('electron-winstaller').createWindowsInstaller;
|
|
|
|
const path = require('path');
|
|
|
|
const rimraf = require('rimraf');
|
2016-05-13 12:47:30 -07:00
|
|
|
|
2016-06-14 07:31:21 -07:00
|
|
|
const archList = ['ia32', 'x64'];
|
|
|
|
archList.forEach((arch) => {
|
|
|
|
deleteOutputFolder(arch)
|
|
|
|
.then(getInstallerConfig)
|
|
|
|
.then(createWindowsInstaller)
|
|
|
|
.catch((error) => {
|
2016-08-29 14:40:11 -07:00
|
|
|
console.error(error.message || error);
|
|
|
|
process.exit(1);
|
|
|
|
});
|
|
|
|
});
|
2016-05-13 12:47:30 -07:00
|
|
|
|
2016-06-14 07:21:16 -07:00
|
|
|
function getInstallerConfig(arch) {
|
2016-08-29 14:40:11 -07:00
|
|
|
const rootPath = path.join(__dirname, '..');
|
|
|
|
const outPath = path.join(rootPath, 'release');
|
2016-05-13 12:47:30 -07:00
|
|
|
|
|
|
|
return Promise.resolve({
|
2016-06-14 07:21:16 -07:00
|
|
|
appDirectory: path.join(outPath, `Mattermost-win32-${arch}`),
|
2016-06-14 08:19:41 -07:00
|
|
|
authors: 'Mattermost, Inc.',
|
|
|
|
owners: 'Mattermost, Inc.',
|
2016-05-13 12:47:30 -07:00
|
|
|
iconUrl: 'https://raw.githubusercontent.com/mattermost/desktop/master/resources/icon.ico',
|
|
|
|
//loadingGif: path.join(rootPath, 'assets', 'img', 'loading.gif'),
|
|
|
|
noMsi: true,
|
2016-06-14 07:21:16 -07:00
|
|
|
outputDirectory: path.join(outPath, `windows-installer-${arch}`),
|
|
|
|
setupExe: `mattermost-setup-${arch}.exe`,
|
2016-05-13 12:47:30 -07:00
|
|
|
setupIcon: path.join(rootPath, 'resources', 'icon.ico'),
|
|
|
|
skipUpdateIcon: true,
|
|
|
|
exe: 'Mattermost.exe'
|
2016-08-29 14:40:11 -07:00
|
|
|
});
|
2016-05-13 12:47:30 -07:00
|
|
|
}
|
|
|
|
|
2016-06-14 07:21:16 -07:00
|
|
|
function deleteOutputFolder(arch) {
|
2016-05-13 12:47:30 -07:00
|
|
|
return new Promise((resolve, reject) => {
|
2016-06-14 07:21:16 -07:00
|
|
|
rimraf(path.join(__dirname, '..', 'out', `windows-installer-${arch}`), (error) => {
|
2016-08-29 14:40:11 -07:00
|
|
|
error ? reject(error) : resolve(arch);
|
|
|
|
});
|
|
|
|
});
|
2016-05-13 12:47:30 -07:00
|
|
|
}
|