Flow.Launcher
Flow.Launcher copied to clipboard
Build script fixed + enhanced
Main issues: redundant 95MB file removed from portable zip; fixed plugin build logic so that we always get the latest version and not an obsolete DLL.
-
Fixed Portable Package Creation
- The portable build process was including the temporary
packagesdirectory in the final archive. This addedFlowLauncher-x.x.x-full.nupkgfile, increasing zip size by ~95MB. We now explicitly remove this directory before compression. - We now use a staging directory to assemble the portable version by running a silent install which ensures package structure is correct and contains no unnecessary build artifacts.
- The portable build process was including the temporary
-
Enhanced Build Process Reliability
- Dynamic Squirrel Path: The script no longer uses a hardcoded path to
squirrel.windows. - Improved Dependency Handling: By changing
<Private>fromfalsetotrueinDirectory.Build.targets, project-to-project dependencies are now correctly copied to the output directory. This prevents "missing assembly" errors, especially for plugins. - Safer File Deletion: The
Remove-UnusedFilesfunction now includes a safety check to prevent accidentally deleting a plugin's main DLL if it shares a name with a common dependency. - Structured Build Flow: The main build logic has been restructured to follow a sequence of building the solution, publishing to a temporary directory, and then merging into the final release folder, which prevents interference from old build artifacts.
- More Reliable Version Retrieval: The
Build-Versionfunction was updated to use(Get-Item).VersionInfo.ProductVersioninstead ofGet-Command. This is more reliable for retrieving file version in PowerShell and aligns withAssemblyInformationalVersion.
- Dynamic Squirrel Path: The script no longer uses a hardcoded path to
-
Modernized NuGet Package
- The
.nuspecfile has been updated to use the modern<icon>and<readme>tags (note - I failed to get rid of the deprecated<iconUrl>due to Squirrel).
- The
[!NOTE] I've been playing with https://github.com/velopack/velopack for https://github.com/dcog989/Cliptoo - would there be interest in converting Flow to use this given that Squirrel was abandoned long ago? (Velopack originates from a fork of Squirrel).