- Added functionality to ensure the presence of DMG assets, including a volume icon and background image, using Jimp for image creation.
- Refactored the DMG building process to incorporate these assets, improving the visual presentation of the generated DMG.
- Updated the buildMacDmgWithCreateDmg function to accept additional parameters for app bundle name and DMG assets, enhancing flexibility.
- Replaced appdmg with create-dmg for macOS DMG generation in finalize-desktop-artifacts.mjs, enhancing compatibility and reliability.
- Updated electrobun.config.ts comments to reflect the new DMG creation method.
- Added Jimp dependency in package.json and bun.lock for image processing tasks, improving app icon handling.
- Refactored icon preparation script to utilize Jimp for resizing images, streamlining the icon generation process.
- Introduced appdmg dependency in package.json and bun.lock for streamlined DMG generation.
- Updated finalize-desktop-artifacts.mjs to replace the previous create-dmg method with appdmg, enhancing the DMG building process.
- Modified comments in electrobun.config.ts to reflect the new DMG creation method using appdmg.
- Introduced build-windows-msi.ps1 script for generating MSI installers, enhancing the Windows packaging process.
- Updated finalize-desktop-artifacts.mjs to include a new function for building MSI packages, ensuring proper integration with existing artifact generation workflows.
- Enhanced error handling and logging during the MSI build process for better feedback on failures.
- Introduced a new script, codesign-macos-app.mjs, to handle the code signing of macOS application bundles.
- Replaced the existing resignMacAppBundle function in finalize-desktop-artifacts.mjs with a call to the new codesignMacAppBundle function for improved clarity and maintainability.
- Enhanced error handling and logging during the code signing process to provide better feedback on failures.
- Updated the logic for resolving the app bundle path to streamline the signing process.
- Deleted the msi-wrapped.wxs file, which contained the WiX configuration for MSI packaging.
- Removed the build-windows-msi.ps1 script, responsible for generating MSI installers, from the build process.
- Updated finalize-desktop-artifacts.mjs to eliminate the call to the now-removed MSI build function, streamlining the artifact generation process.
- Replaced cpSync with ditto for copying files in expand-macos-bundle.mjs to improve reliability and error handling.
- Introduced a new copyMacAppBundle function in finalize-desktop-artifacts.mjs to streamline app bundle copying and signing processes.
- Enhanced error handling for ditto and codesign commands to provide clearer feedback on failures.
- Updated DMG creation logic to conditionally use direct source folder, optimizing the build process.
- Updated farmcontrol-server.nsi to include desktop and Start Menu shortcut creation.
- Added new macros in installer.nsh for managing shortcuts during installation and uninstallation.
- Introduced build-windows-msi.ps1 script for generating MSI installers, integrating with existing build processes.
- Modified finalize-desktop-artifacts.mjs to call the new MSI build script, ensuring proper artifact generation.
- Modified electrobun.config.ts to clarify DMG creation status in comments.
- Replaced symlink with cpSync in finalize-desktop-artifacts.mjs to improve file handling during DMG creation, ensuring proper copying of application bundles.
- Updated farmcontrol-server.nsi to simplify setup file handling by defining APP_SOURCE_DIR and removing unnecessary variables.
- Modified installer.nsh to reference the correct launcher executable path.
- Refactored build-windows-nsis.ps1 to accept APP_DIR instead of individual setup file parameters, streamlining the build process.
- Introduced expand-windows-installer.mjs for handling decompression and extraction of Windows app archives, improving artifact management.
- Enhanced finalize-desktop-artifacts.mjs to integrate the new expansion process and ensure proper cleanup of temporary files.
- Removed the dynamic search for `create-dmg` and replaced it with a fixed path for improved reliability.
- Updated the buildMacDmg function to handle staging directories more effectively and ensure cleanup after DMG creation.
- Simplified error handling for the DMG creation process, enhancing clarity and maintainability.
- Removed `create-dmg` from package.json and bun.lock as it is no longer needed.
- Updated Jenkinsfile to ensure proper installation of `create-dmg` if not found.
- Enhanced finalize-desktop-artifacts.mjs to dynamically locate the `create-dmg` command and improve error handling during DMG creation.
- Added `create-dmg` package to package.json for improved DMG creation.
- Modified Jenkinsfile to clean up staging directories correctly.
- Enhanced finalize-desktop-artifacts.mjs to utilize `create-dmg` for generating DMG files, improving artifact management and error handling.
- Updated electrobun.config.ts to disable DMG creation during the build process, streamlining artifact management.
- Enhanced Jenkinsfile with a new function to prepare the macOS build workspace, ensuring proper cleanup of previous volumes and staging directories.
- Introduced new functions in finalize-desktop-artifacts.mjs for building and cleaning macOS DMG files, improving the overall build workflow and artifact handling.
- Added a new NSIS installer script (farmcontrol-server.nsi) for packaging the Farm Control Server on Windows, replacing the previous MSI approach.
- Updated the build process to utilize the new NSIS script, including changes in the finalize-desktop-artifacts.mjs to reflect the new installer format.
- Removed the obsolete MSI build script (build-windows-msi.ps1) and related files to streamline the packaging process.
- Updated the README to reflect changes in the post-package process for Windows installers.
- Updated electrobun.config.ts to dynamically set the application version from package.json and added a release configuration for base URL.
- Modified Jenkinsfile to include the ELECTROBUN_RELEASE_BASE_URL environment variable during the build process.
- Refactored build-macos.mjs to streamline the build command execution for different architectures.
- Enhanced finalize-desktop-artifacts.mjs to improve artifact handling and introduced a new pre-build script for validation of required files and environment variables.
- Improved error handling and logging for better build process visibility.
- Updated the farmcontrol-server.wxs file to include SetupArchive and SetupMetadata files for the MSI packaging.
- Modified the build-windows-msi.ps1 script to accept new parameters for SetupArchive and SetupMetadata, enhancing the MSI build process.
- Refactored the finalize-desktop-artifacts script to find and handle multiple Windows installer files, ensuring proper artifact publication.
- Replaced the macOS build command in package.json to use a new script for better architecture handling.
- Added a new script for building macOS applications that supports both arm64 and x64 architectures.
- Enhanced the finalize-desktop-artifacts script to improve artifact discovery and cleanup, ensuring proper handling of macOS DMG and app bundles.
- Updated functions to streamline the process of finding and publishing artifacts, improving overall reliability.
- Introduced a new Windows Installer XML (WXS) file for packaging the Farm Control Server as an MSI.
- Added a PowerShell script to build the MSI from the WXS file.
- Implemented a new script to finalize desktop artifacts, handling the publication of macOS and Windows packages.
- Updated the Linux build script to improve artifact naming and organization.
- Enhanced the Electrobun configuration to include a post-package script for finalizing desktop artifacts.