mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
Merge 0fad9c7157 into 916b4ff091
This commit is contained in:
commit
28c4804b61
5 changed files with 86 additions and 16 deletions
16
.github/workflows/dotnet.yml
vendored
16
.github/workflows/dotnet.yml
vendored
|
|
@ -65,7 +65,14 @@ jobs:
|
||||||
with:
|
with:
|
||||||
name: Flow Installer
|
name: Flow Installer
|
||||||
path: |
|
path: |
|
||||||
Output\Packages\Flow-Launcher-*.exe
|
Output\Packages\Flow-Launcher-Setup.exe
|
||||||
|
compression-level: 0
|
||||||
|
- name: Upload Framework-Dependent Setup
|
||||||
|
uses: actions/upload-artifact@v6
|
||||||
|
with:
|
||||||
|
name: Flow Installer Framework-Dependent
|
||||||
|
path: |
|
||||||
|
Output\Packages\Flow-Launcher-Setup-FD.exe
|
||||||
compression-level: 0
|
compression-level: 0
|
||||||
- name: Upload Portable Version
|
- name: Upload Portable Version
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@v7
|
||||||
|
|
@ -74,6 +81,13 @@ jobs:
|
||||||
path: |
|
path: |
|
||||||
Output\Packages\Flow-Launcher-Portable.zip
|
Output\Packages\Flow-Launcher-Portable.zip
|
||||||
compression-level: 0
|
compression-level: 0
|
||||||
|
- name: Upload Framework-Dependent Portable Version
|
||||||
|
uses: actions/upload-artifact@v6
|
||||||
|
with:
|
||||||
|
name: Portable Version Framework-Dependent
|
||||||
|
path: |
|
||||||
|
Output\Packages\Flow-Launcher-Portable-FD.zip
|
||||||
|
compression-level: 0
|
||||||
- name: Upload Full Nupkg
|
- name: Upload Full Nupkg
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||||
|
-->
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<PublishProtocol>FileSystem</PublishProtocol>
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Any CPU</Platform>
|
||||||
|
<TargetFramework>net9.0-windows10.0.19041.0</TargetFramework>
|
||||||
|
<PublishDir>..\Output\Release-FD\</PublishDir>
|
||||||
|
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||||
|
<SelfContained>false</SelfContained>
|
||||||
|
<PublishSingleFile>False</PublishSingleFile>
|
||||||
|
<PublishReadyToRun>False</PublishReadyToRun>
|
||||||
|
<PublishTrimmed>False</PublishTrimmed>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
|
|
@ -44,6 +44,10 @@ Dedicated to making your workflow more seamless. Search everything from applicat
|
||||||
|
|
||||||
[Windows 10+ Installer](https://github.com/Flow-Launcher/Flow.Launcher/releases/latest/download/Flow-Launcher-Setup.exe) or [Portable Version](https://github.com/Flow-Launcher/Flow.Launcher/releases/latest/download/Flow-Launcher-Portable.zip)
|
[Windows 10+ Installer](https://github.com/Flow-Launcher/Flow.Launcher/releases/latest/download/Flow-Launcher-Setup.exe) or [Portable Version](https://github.com/Flow-Launcher/Flow.Launcher/releases/latest/download/Flow-Launcher-Portable.zip)
|
||||||
|
|
||||||
|
> **Note:** The default installers include the .NET runtime. If you already have .NET 9.0 runtime installed, you can download smaller framework-dependent packages:
|
||||||
|
> - [Framework-Dependent Installer](https://github.com/Flow-Launcher/Flow.Launcher/releases/latest/download/Flow-Launcher-Setup-FD.exe)
|
||||||
|
> - [Framework-Dependent Portable Version](https://github.com/Flow-Launcher/Flow.Launcher/releases/latest/download/Flow-Launcher-Portable-FD.zip)
|
||||||
|
|
||||||
#### Winget
|
#### Winget
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,11 @@ param(
|
||||||
)
|
)
|
||||||
Write-Host "Config: $config"
|
Write-Host "Config: $config"
|
||||||
|
|
||||||
|
# Constants for build configurations
|
||||||
|
$RELEASE_CONFIG = "Release"
|
||||||
|
$RELEASE_FD_CONFIG = "Release-FD"
|
||||||
|
$FD_SUFFIX = "-FD"
|
||||||
|
|
||||||
function Build-Version {
|
function Build-Version {
|
||||||
if ([string]::IsNullOrEmpty($env:flowVersion)) {
|
if ([string]::IsNullOrEmpty($env:flowVersion)) {
|
||||||
$targetPath = Join-Path $solution "Output/Release/Flow.Launcher.dll" -Resolve
|
$targetPath = Join-Path $solution "Output/Release/Flow.Launcher.dll" -Resolve
|
||||||
|
|
@ -61,20 +66,27 @@ function Validate-Directory ($output) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function Pack-Squirrel-Installer ($path, $version, $output) {
|
function Pack-Squirrel-Installer ($path, $version, $output, $inputPath = "$path\Output\Release", $suffix = "") {
|
||||||
# msbuild based installer generation is not working in appveyor, not sure why
|
# msbuild based installer generation is not working in appveyor, not sure why
|
||||||
Write-Host "Begin pack squirrel installer"
|
Write-Host "Begin pack squirrel installer"
|
||||||
|
|
||||||
$spec = "$path\Scripts\flowlauncher.nuspec"
|
$spec = "$path\Scripts\flowlauncher.nuspec"
|
||||||
$input = "$path\Output\Release"
|
|
||||||
|
|
||||||
Write-Host "Packing: $spec"
|
Write-Host "Packing: $spec"
|
||||||
Write-Host "Input path: $input"
|
Write-Host "Input path: $inputPath"
|
||||||
|
|
||||||
# dotnet pack is not used because ran into issues, need to test installation and starting up if to use it.
|
# dotnet pack is not used because ran into issues, need to test installation and starting up if to use it.
|
||||||
nuget pack $spec -Version $version -BasePath $input -OutputDirectory $output -Properties Configuration=Release
|
nuget pack $spec -Version $version -BasePath $inputPath -OutputDirectory $output -Properties Configuration=Release
|
||||||
|
|
||||||
$nupkg = "$output\FlowLauncher.$version.nupkg"
|
$nupkg = "$output\FlowLauncher.$version.nupkg"
|
||||||
|
|
||||||
|
# Rename the nupkg file if this is the framework-dependent version to avoid conflicts
|
||||||
|
if ($suffix -ne "") {
|
||||||
|
$nupkgRenamed = "$output\FlowLauncher$suffix.$version.nupkg"
|
||||||
|
Move-Item $nupkg $nupkgRenamed -Force
|
||||||
|
$nupkg = $nupkgRenamed
|
||||||
|
}
|
||||||
|
|
||||||
Write-Host "nupkg path: $nupkg"
|
Write-Host "nupkg path: $nupkg"
|
||||||
$icon = "$path\Flow.Launcher\Resources\app.ico"
|
$icon = "$path\Flow.Launcher\Resources\app.ico"
|
||||||
Write-Host "icon: $icon"
|
Write-Host "icon: $icon"
|
||||||
|
|
@ -82,13 +94,13 @@ function Pack-Squirrel-Installer ($path, $version, $output) {
|
||||||
New-Alias Squirrel $env:USERPROFILE\.nuget\packages\squirrel.windows\1.9.0\tools\Squirrel.exe -Force
|
New-Alias Squirrel $env:USERPROFILE\.nuget\packages\squirrel.windows\1.9.0\tools\Squirrel.exe -Force
|
||||||
# why we need Write-Output: https://github.com/Squirrel/Squirrel.Windows/issues/489#issuecomment-156039327
|
# why we need Write-Output: https://github.com/Squirrel/Squirrel.Windows/issues/489#issuecomment-156039327
|
||||||
# directory of releaseDir in squirrel can't be same as directory ($nupkg) in releasify
|
# directory of releaseDir in squirrel can't be same as directory ($nupkg) in releasify
|
||||||
$temp = "$output\Temp"
|
$temp = "$output\Temp$suffix"
|
||||||
|
|
||||||
Squirrel --releasify $nupkg --releaseDir $temp --setupIcon $icon --no-msi | Write-Output
|
Squirrel --releasify $nupkg --releaseDir $temp --setupIcon $icon --no-msi | Write-Output
|
||||||
Move-Item $temp\* $output -Force
|
Move-Item $temp\* $output -Force
|
||||||
Remove-Item $temp
|
Remove-Item $temp
|
||||||
|
|
||||||
$file = "$output\Flow-Launcher-Setup.exe"
|
$file = "$output\Flow-Launcher-Setup$suffix.exe"
|
||||||
Write-Host "Filename: $file"
|
Write-Host "Filename: $file"
|
||||||
|
|
||||||
Move-Item "$output\Setup.exe" $file -Force
|
Move-Item "$output\Setup.exe" $file -Force
|
||||||
|
|
@ -106,11 +118,22 @@ function Publish-Self-Contained ($p) {
|
||||||
dotnet publish -c Release $csproj /p:PublishProfile=$profile
|
dotnet publish -c Release $csproj /p:PublishProfile=$profile
|
||||||
}
|
}
|
||||||
|
|
||||||
function Publish-Portable ($outputLocation, $version) {
|
function Publish-Framework-Dependent ($p) {
|
||||||
|
|
||||||
& $outputLocation\Flow-Launcher-Setup.exe --silent | Out-Null
|
$csproj = Join-Path "$p" "Flow.Launcher/Flow.Launcher.csproj" -Resolve
|
||||||
|
$profile = Join-Path "$p" "Flow.Launcher/Properties/PublishProfiles/Net9.0-FrameworkDependent.pubxml" -Resolve
|
||||||
|
|
||||||
|
# we call dotnet publish on the main project.
|
||||||
|
# The other projects should have been built in Release at this point.
|
||||||
|
dotnet publish -c Release $csproj /p:PublishProfile=$profile
|
||||||
|
}
|
||||||
|
|
||||||
|
function Publish-Portable ($outputLocation, $version, $suffix = "") {
|
||||||
|
|
||||||
|
& "$outputLocation\Flow-Launcher-Setup$suffix.exe" --silent | Out-Null
|
||||||
mkdir "$env:LocalAppData\FlowLauncher\app-$version\UserData"
|
mkdir "$env:LocalAppData\FlowLauncher\app-$version\UserData"
|
||||||
Compress-Archive -Path $env:LocalAppData\FlowLauncher -DestinationPath $outputLocation\Flow-Launcher-Portable.zip
|
Compress-Archive -Path $env:LocalAppData\FlowLauncher -DestinationPath "$outputLocation\Flow-Launcher-Portable$suffix.zip" -Force
|
||||||
|
Remove-Item "$env:LocalAppData\FlowLauncher" -Recurse -Force
|
||||||
}
|
}
|
||||||
|
|
||||||
function Main {
|
function Main {
|
||||||
|
|
@ -118,19 +141,26 @@ function Main {
|
||||||
$v = Build-Version
|
$v = Build-Version
|
||||||
Copy-Resources $p
|
Copy-Resources $p
|
||||||
|
|
||||||
if ($config -eq "Release"){
|
if ($config -eq $RELEASE_CONFIG){
|
||||||
|
|
||||||
Delete-Unused $p $config
|
Delete-Unused $p $config
|
||||||
|
|
||||||
|
# Build self-contained version (includes .NET runtime)
|
||||||
|
Write-Host "Building self-contained version..."
|
||||||
Publish-Self-Contained $p
|
Publish-Self-Contained $p
|
||||||
|
|
||||||
Remove-CreateDumpExe $p $config
|
Remove-CreateDumpExe $p $config
|
||||||
|
|
||||||
$o = "$p\Output\Packages"
|
$o = "$p\Output\Packages"
|
||||||
Validate-Directory $o
|
Validate-Directory $o
|
||||||
Pack-Squirrel-Installer $p $v $o
|
Pack-Squirrel-Installer $p $v $o
|
||||||
|
|
||||||
Publish-Portable $o $v
|
Publish-Portable $o $v
|
||||||
|
|
||||||
|
# Build framework-dependent version (requires .NET runtime to be installed)
|
||||||
|
Write-Host "Building framework-dependent version..."
|
||||||
|
Publish-Framework-Dependent $p
|
||||||
|
Remove-CreateDumpExe $p $RELEASE_FD_CONFIG
|
||||||
|
Pack-Squirrel-Installer $p $v $o "$p\Output\$RELEASE_FD_CONFIG" $FD_SUFFIX
|
||||||
|
Publish-Portable $o $v $FD_SUFFIX
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
10
appveyor.yml
10
appveyor.yml
|
|
@ -49,10 +49,14 @@ after_test:
|
||||||
artifacts:
|
artifacts:
|
||||||
- path: 'Output\Release\Flow.Launcher.Plugin.*.nupkg'
|
- path: 'Output\Release\Flow.Launcher.Plugin.*.nupkg'
|
||||||
name: Plugin nupkg
|
name: Plugin nupkg
|
||||||
- path: 'Output\Packages\Flow-Launcher-*.exe'
|
- path: 'Output\Packages\Flow-Launcher-Setup.exe'
|
||||||
name: Squirrel Installer
|
name: Squirrel Installer
|
||||||
|
- path: 'Output\Packages\Flow-Launcher-Setup-FD.exe'
|
||||||
|
name: Squirrel Installer Framework-Dependent
|
||||||
- path: Output\Packages\Flow-Launcher-Portable.zip
|
- path: Output\Packages\Flow-Launcher-Portable.zip
|
||||||
name: Portable Version
|
name: Portable Version
|
||||||
|
- path: Output\Packages\Flow-Launcher-Portable-FD.zip
|
||||||
|
name: Portable Version Framework-Dependent
|
||||||
- path: 'Output\Packages\FlowLauncher-*-full.nupkg'
|
- path: 'Output\Packages\FlowLauncher-*-full.nupkg'
|
||||||
name: Squirrel nupkg
|
name: Squirrel nupkg
|
||||||
- path: 'Output\Packages\RELEASES'
|
- path: 'Output\Packages\RELEASES'
|
||||||
|
|
@ -82,7 +86,7 @@ deploy:
|
||||||
Please report any bugs or issues over at the [main repository](https://github.com/Flow-Launcher/Flow.Launcher/issues)'
|
Please report any bugs or issues over at the [main repository](https://github.com/Flow-Launcher/Flow.Launcher/issues)'
|
||||||
auth_token:
|
auth_token:
|
||||||
secure: ij4UeXUYQBDJxn2YRAAhUOjklOGVKDB87Hn5J8tKIzj13yatoI7sLM666QDQFEgv
|
secure: ij4UeXUYQBDJxn2YRAAhUOjklOGVKDB87Hn5J8tKIzj13yatoI7sLM666QDQFEgv
|
||||||
artifact: Squirrel Installer, Portable Version, Squirrel nupkg, Squirrel RELEASES
|
artifact: Squirrel Installer, Squirrel Installer Framework-Dependent, Portable Version, Portable Version Framework-Dependent, Squirrel nupkg, Squirrel RELEASES
|
||||||
force_update: true
|
force_update: true
|
||||||
on:
|
on:
|
||||||
branch: dev
|
branch: dev
|
||||||
|
|
@ -91,7 +95,7 @@ deploy:
|
||||||
release: v$(flowVersion)
|
release: v$(flowVersion)
|
||||||
auth_token:
|
auth_token:
|
||||||
secure: ij4UeXUYQBDJxn2YRAAhUOjklOGVKDB87Hn5J8tKIzj13yatoI7sLM666QDQFEgv
|
secure: ij4UeXUYQBDJxn2YRAAhUOjklOGVKDB87Hn5J8tKIzj13yatoI7sLM666QDQFEgv
|
||||||
artifact: Squirrel Installer, Portable Version, Squirrel nupkg, Squirrel RELEASES
|
artifact: Squirrel Installer, Squirrel Installer Framework-Dependent, Portable Version, Portable Version Framework-Dependent, Squirrel nupkg, Squirrel RELEASES
|
||||||
draft: true
|
draft: true
|
||||||
force_update: true
|
force_update: true
|
||||||
on:
|
on:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue