You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
3.5 KiB
JavaScript
115 lines
3.5 KiB
JavaScript
const path = require('path');
|
|
const fs = require('fs');
|
|
|
|
module.exports = {
|
|
packagerConfig: {
|
|
executableName: "inav-configurator",
|
|
asar: false,
|
|
icon: 'images/inav',
|
|
ignore: [
|
|
"^(\/\.vscode$)",
|
|
"^(\/support$)",
|
|
".gitattributes",
|
|
".gitignore",
|
|
"3D_model_creation.md",
|
|
"LICENSE",
|
|
"MAPPROXY.md",
|
|
"package-lock.json",
|
|
"README.md",
|
|
"inav_icon_128.psd",
|
|
]
|
|
},
|
|
hooks: {
|
|
// Uniform artifact file names
|
|
postMake: async (config, makeResults) => {
|
|
makeResults.forEach(result => {
|
|
var baseName = `${result.packageJSON.productName.replace(' ', '-')}_${result.platform}_${result.arch}_${result.packageJSON.version}`;
|
|
result.artifacts.forEach(artifact => {
|
|
var artifactStr = artifact.toString();
|
|
var newPath = path.join(path.dirname(artifactStr), baseName + path.extname(artifactStr));
|
|
fs.renameSync(artifactStr, newPath);
|
|
console.log('Artifact: ' + newPath);
|
|
});
|
|
});
|
|
}
|
|
},
|
|
rebuildConfig: {},
|
|
makers: [
|
|
{
|
|
name: '@electron-forge/maker-wix',
|
|
config: {
|
|
name: "INAV Configurator",
|
|
shortName: "INAV",
|
|
exe: "inav-configurator",
|
|
description: "Configurator for the open source flight controller software INAV.",
|
|
programFilesFolderName: "inav-configurator",
|
|
shortcutFolderName: "INAV",
|
|
manufacturer: "The INAV open source project",
|
|
appUserModelId: "com.inav.configurator",
|
|
icon: path.join(__dirname, "./assets/windows/inav_installer_icon.ico"),
|
|
upgradeCode: "13606ff3-b0bc-4dde-8fac-805bc8aed2f8",
|
|
ui : {
|
|
enabled: false,
|
|
chooseDirectory: true,
|
|
images: {
|
|
background: path.join(__dirname, "./assets/windows/background.jpg"),
|
|
banner: path.join(__dirname, "./assets/windows/banner.jpg")
|
|
}
|
|
},
|
|
// Standard WiX template appends the unsightly "(Machine - WSI)" to the name, so use our own template
|
|
beforeCreate: (msiCreator) => {
|
|
return new Promise((resolve, reject) => {
|
|
fs.readFile(path.join(__dirname,"./assets/windows/wix.xml"), "utf8" , (err, content) => {
|
|
if (err) {
|
|
reject (err);
|
|
}
|
|
msiCreator.wixTemplate = content;
|
|
resolve();
|
|
});
|
|
});
|
|
}
|
|
}
|
|
},
|
|
{
|
|
name: '@electron-forge/maker-dmg',
|
|
config: {
|
|
name: "INAV Configurator",
|
|
background: "./assets/osx/dmg-background.png",
|
|
icon: "./images/inav.icns"
|
|
}
|
|
},
|
|
{
|
|
name: '@electron-forge/maker-zip',
|
|
platforms: ['win32', 'linux', 'darwin'],
|
|
},
|
|
{
|
|
name: '@electron-forge/maker-deb',
|
|
config: {
|
|
options: {
|
|
name: "inav-configurator",
|
|
productName: "INAV Configurator",
|
|
categories: ["Utility"],
|
|
icon: "./assets/linux/icon/inav_icon_128.png",
|
|
description: "Configurator for the open source flight controller software INAV.",
|
|
homepage: "https://github.com/inavflight/",
|
|
|
|
}
|
|
},
|
|
},
|
|
{
|
|
name: '@electron-forge/maker-rpm',
|
|
config: {
|
|
options: {
|
|
name: "inav-configurator",
|
|
productName: "INAV Configurator",
|
|
license: "GPL-3.0",
|
|
categories: ["Utility"],
|
|
icon: "./assets/linux/icon/inav_icon_128.png",
|
|
description: "Configurator for the open source flight controller software INAV.",
|
|
homepage: "https://github.com/inavflight/",
|
|
}
|
|
},
|
|
},
|
|
],
|
|
};
|