mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-03-22 17:39:20 +01:00
This commit updates the build and release workflow to enable multi-arch builds and releases. A number of Rust-specific actions have been added, namely rust-cache to handle cargo caching and actions-rust-cross to handle cross-compilation. A release-dry-run target has been added to run on master which should help catch any issues in release workflow changes early. Releases drop goreleaser entirely in favour of action-gh-release which was already in use to add msi installers to the releases previously created by goreleaser.
190 lines
8.7 KiB
XML
190 lines
8.7 KiB
XML
<?xml version='1.0' encoding='windows-1252'?>
|
|
<!--
|
|
Copyright (C) 2017 Christopher R. Field.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<!--
|
|
The "cargo wix" subcommand provides a variety of predefined variables available
|
|
for customization of this template. The values for each variable are set at
|
|
installer creation time. The following variables are available:
|
|
|
|
TargetTriple = The rustc target triple name.
|
|
TargetEnv = The rustc target environment. This is typically either
|
|
"msvc" or "gnu" depending on the toolchain downloaded and
|
|
installed.
|
|
TargetVendor = The rustc target vendor. This is typically "pc", but Rust
|
|
does support other vendors, like "uwp".
|
|
CargoTargetBinDir = The complete path to the binary (exe). The default would
|
|
be "target\release\<BINARY_NAME>.exe" where
|
|
"<BINARY_NAME>" is replaced with the name of each binary
|
|
target defined in the package's manifest (Cargo.toml). If
|
|
a different rustc target triple is used than the host,
|
|
i.e. cross-compiling, then the default path would be
|
|
"target\<CARGO_TARGET>\<CARGO_PROFILE>\<BINARY_NAME>.exe",
|
|
where "<CARGO_TARGET>" is replaced with the "CargoTarget"
|
|
variable value and "<CARGO_PROFILE>" is replaced with the
|
|
value from the `CargoProfile` variable.
|
|
CargoTargetDir = The path to the directory for the build artifacts, i.e.
|
|
"target".
|
|
CargoProfile = Either "debug" or `release` depending on the build
|
|
profile. The default is "release".
|
|
Version = The version for the installer. The default is the
|
|
"Major.Minor.Fix" semantic versioning number of the Rust
|
|
package.
|
|
-->
|
|
|
|
<!--
|
|
Please do not remove these pre-processor If-Else blocks. These are used with
|
|
the `cargo wix` subcommand to automatically determine the installation
|
|
destination for 32-bit versus 64-bit installers. Removal of these lines will
|
|
cause installation errors.
|
|
-->
|
|
<?if $(sys.BUILDARCH) = x64 or $(sys.BUILDARCH) = arm64?>
|
|
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder"?>
|
|
<?else ?>
|
|
<?define PlatformProgramFilesFolder = "ProgramFilesFolder"?>
|
|
<?endif ?>
|
|
|
|
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
|
|
|
|
<Product Id='*' Name='komorebi' UpgradeCode='F8B967B5-7E7B-4E3A-895B-B789EC898B54' Manufacturer='LGUG2Z' Language='1033' Codepage='1252' Version='$(var.Version)'>
|
|
|
|
<Package Id='*' Keywords='Installer' Description='A tiling window manager for Windows' Manufacturer='LGUG2Z' InstallerVersion='500' Languages='1033' Compressed='yes' InstallScope='perMachine' SummaryCodepage='1252' />
|
|
|
|
<MajorUpgrade Schedule='afterInstallInitialize' DowngradeErrorMessage='A newer version of [ProductName] is already installed. Setup will now exit.' />
|
|
|
|
<Media Id='1' Cabinet='media1.cab' EmbedCab='yes' DiskPrompt='CD-ROM #1' />
|
|
<Property Id='DiskPrompt' Value='komorebi Installation' />
|
|
|
|
<Directory Id='TARGETDIR' Name='SourceDir'>
|
|
<Directory Id='$(var.PlatformProgramFilesFolder)' Name='PFiles'>
|
|
<Directory Id='APPLICATIONFOLDER' Name='komorebi'>
|
|
<!--
|
|
Disabling the license sidecar file in the installer is a two step process:
|
|
|
|
1. Comment out or remove the `Component` tag along with its contents.
|
|
2. Comment out or remove the `ComponentRef` tag with the "License" Id
|
|
attribute value further down in this file.
|
|
-->
|
|
<Component Id='License' Guid='*'>
|
|
<File Id='LicenseFile' Name='License.rtf' DiskId='1' Source='wix\License.rtf' KeyPath='yes' />
|
|
</Component>
|
|
|
|
<Directory Id='Bin' Name='bin'>
|
|
<Component Id='Path' Guid='6C6DF276-06C4-4675-BDED-48C5C2BC9BC5' KeyPath='yes'>
|
|
<Environment Id='PATH' Name='PATH' Value='[Bin]' Permanent='no' Part='last' Action='set' System='yes' />
|
|
</Component>
|
|
<Component Id='binary0' Guid='*'>
|
|
<File Id='exe0' Name='komorebi.exe' DiskId='1' Source='$(var.CargoTargetBinDir)\komorebi.exe' KeyPath='yes' />
|
|
</Component>
|
|
<Component Id='binary1' Guid='*'>
|
|
<File Id='exe1' Name='komorebic.exe' DiskId='1' Source='$(var.CargoTargetBinDir)\komorebic.exe' KeyPath='yes' />
|
|
</Component>
|
|
<Component Id='binary2' Guid='*'>
|
|
<File Id='exe2' Name='komorebic-no-console.exe' DiskId='1' Source='$(var.CargoTargetBinDir)\komorebic-no-console.exe' KeyPath='yes' />
|
|
</Component>
|
|
<Component Id='binary3' Guid='*'>
|
|
<File Id='exe3' Name='komorebi-gui.exe' DiskId='1' Source='$(var.CargoTargetBinDir)\komorebi-gui.exe' KeyPath='yes' />
|
|
</Component>
|
|
<Component Id='binary4' Guid='*'>
|
|
<File Id='exe4' Name='komorebi-bar.exe' DiskId='1' Source='$(var.CargoTargetBinDir)\komorebi-bar.exe' KeyPath='yes' />
|
|
</Component>
|
|
</Directory>
|
|
</Directory>
|
|
</Directory>
|
|
</Directory>
|
|
|
|
<Feature Id='Binaries' Title='Application' Description='Installs all binaries and the license.' Level='1' ConfigurableDirectory='APPLICATIONFOLDER' AllowAdvertise='no' Display='expand' Absent='disallow'>
|
|
<!--
|
|
Comment out or remove the following `ComponentRef` tag to remove
|
|
the license sidecar file from the installer.
|
|
-->
|
|
<ComponentRef Id='License' />
|
|
|
|
<ComponentRef Id='binary0' />
|
|
|
|
<ComponentRef Id='binary1' />
|
|
|
|
<ComponentRef Id='binary2' />
|
|
|
|
<ComponentRef Id='binary3' />
|
|
|
|
<ComponentRef Id='binary4' />
|
|
|
|
<Feature Id='Environment' Title='PATH Environment Variable' Description='Add the install location of the [ProductName] executable to the PATH system environment variable. This allows the [ProductName] executable to be called from any location.' Level='1' Absent='allow'>
|
|
<ComponentRef Id='Path' />
|
|
</Feature>
|
|
</Feature>
|
|
|
|
<SetProperty Id='ARPINSTALLLOCATION' Value='[APPLICATIONFOLDER]' After='CostFinalize' />
|
|
|
|
|
|
<!--
|
|
Uncomment the following `Icon` and `Property` tags to change the product icon.
|
|
|
|
The product icon is the graphic that appears in the Add/Remove
|
|
Programs control panel for the application.
|
|
-->
|
|
<!--<Icon Id='ProductICO' SourceFile='wix\Product.ico'/>-->
|
|
<!--<Property Id='ARPPRODUCTICON' Value='ProductICO' />-->
|
|
|
|
<Property Id='ARPHELPLINK' Value='https://github.com/LGUG2Z/komorebi' />
|
|
|
|
<UI>
|
|
<UIRef Id='WixUI_FeatureTree' />
|
|
<!--
|
|
Disabling the EULA dialog in the installer is a two step process:
|
|
|
|
1. Uncomment the following two `Publish` tags
|
|
2. Comment out or remove the `<WiXVariable Id='WixUILicenseRtf'...` tag further down
|
|
|
|
-->
|
|
<!--<Publish Dialog='WelcomeDlg' Control='Next' Event='NewDialog' Value='CustomizeDlg' Order='99'>1</Publish>-->
|
|
<!--<Publish Dialog='CustomizeDlg' Control='Back' Event='NewDialog' Value='WelcomeDlg' Order='99'>1</Publish>-->
|
|
|
|
</UI>
|
|
|
|
<!--
|
|
Disabling the EULA dialog in the installer requires commenting out
|
|
or removing the following `WixVariable` tag
|
|
-->
|
|
<WixVariable Id='WixUILicenseRtf' Value='wix\License.rtf' />
|
|
|
|
|
|
<!--
|
|
Uncomment the next `WixVaraible` tag to customize the installer's
|
|
Graphical User Interface (GUI) and add a custom banner image across
|
|
the top of each screen. See the WiX Toolset documentation for details
|
|
about customization.
|
|
|
|
The banner BMP dimensions are 493 x 58 pixels.
|
|
-->
|
|
<!--<WixVariable Id='WixUIBannerBmp' Value='wix\Banner.bmp'/>-->
|
|
|
|
|
|
<!--
|
|
Uncomment the next `WixVariable` tag to customize the installer's
|
|
Graphical User Interface (GUI) and add a custom image to the first
|
|
dialog, or screen. See the WiX Toolset documentation for details about
|
|
customization.
|
|
|
|
The dialog BMP dimensions are 493 x 312 pixels.
|
|
-->
|
|
<!--<WixVariable Id='WixUIDialogBmp' Value='wix\Dialog.bmp'/>-->
|
|
|
|
</Product>
|
|
|
|
</Wix>
|