Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from unoplatform:master #139

Merged
merged 28 commits into from
Jan 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
42c8cec
ci: Bump to 7.0.405
jeromelaban Jan 22, 2024
1936fd3
feat: Restore support for C# Hot Reload for XAML for mobile targets
jeromelaban Jan 22, 2024
2783923
chore: Adjust for unused member
jeromelaban Jan 22, 2024
6a84a30
chore: Adjust .NET install
jeromelaban Jan 23, 2024
ecb3add
fix: Restore hot reload tests
jeromelaban Jan 23, 2024
32eb887
chore: typo in textbox context menu: Cut -> SelectAll
ramezgerges Jan 9, 2024
8b45e45
fix(textblock): clear selection on outside clicks, copy/paste and con…
ramezgerges Jan 9, 2024
f881e0c
fix(textblock): clear selection on outside clicks, copy/paste and con…
ramezgerges Jan 9, 2024
6714d57
chore: use correct string resources for skia text context menu
ramezgerges Jan 9, 2024
9a3caf9
chore: fix failing tests
ramezgerges Jan 10, 2024
d413d6b
test: test text selection and context menu
ramezgerges Jan 10, 2024
926f656
Merge pull request #15175 from unoplatform/dev/jela/hr-mobile-update
jeromelaban Jan 23, 2024
eaded92
fix(passwordbox): use a larger bullet glyph to match WinUI
ramezgerges Jan 22, 2024
b2f98b5
fix: Fix CalendarDatePicker day item corner
Youssef1313 Jan 23, 2024
8bb2ae8
Merge pull request #15165 from unoplatform/dev/jela/convert-update
jeromelaban Jan 23, 2024
20daea2
fix: Don't include uno binaries in netx.y-windows and uap builds
jeromelaban Jan 24, 2024
918c3eb
Merge pull request #15197 from unoplatform/dev/jela/lottie-winui
jeromelaban Jan 24, 2024
f5b8738
Merge pull request #15185 from unoplatform/dev/jela/hr-tests
jeromelaban Jan 24, 2024
4c4fb47
Merge pull request #15007 from ramezgerges/textblock_clear_selection_…
MartinZikmund Jan 24, 2024
0e4f914
test: Add test for CalendarView item corner radius
Youssef1313 Jan 24, 2024
ed7d14f
chore: Fix build
Youssef1313 Jan 24, 2024
2034614
chore: refactor for 8.0.200
dansiegel Jan 24, 2024
a673d56
chore: fix packing with token replacement
dansiegel Jan 25, 2024
d3b4242
Merge pull request #15204 from unoplatform/dev/ds/customafterdirector…
jeromelaban Jan 25, 2024
e573143
Merge pull request #15170 from ramezgerges/textbox_password_bullet
mergify[bot] Jan 25, 2024
5abe5c3
ci: Build performance improvements related to analyzers
Youssef1313 Jan 25, 2024
73751af
Merge pull request #15188 from Youssef1313/calendardatepicker-bug
MartinZikmund Jan 25, 2024
0effad5
Merge pull request #15208 from Youssef1313/build-perf
jeromelaban Jan 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/uwp-autoconvert.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ on:

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
UnoCheck_Version: '1.17.0'
UnoCheck_Manifest: 'https://raw.githubusercontent.com/unoplatform/uno.check/4befa714987c2581e205cec9a56d48b32d76c843/manifests/uno.ui.manifest.json'
UnoCheck_Version: '1.18.1'
UnoCheck_Manifest: 'https://raw.githubusercontent.com/unoplatform/uno.check/8a14128754833984a0c83398e7dda6d995199e1b/manifests/uno.ui.manifest.json'

# Only convert using NetPrevious
UnoDisableNetCurrentMobile: true
Expand Down
3 changes: 3 additions & 0 deletions .globalconfig
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,9 @@ dotnet_diagnostic.CA1309.severity = none
# CA2101: Specify marshalling for P/Invoke string arguments
dotnet_diagnostic.CA2101.severity = none

# IDE0005: Remove unnecessary using directives
dotnet_diagnostic.IDE0005.severity = none

# IDE0055: Fix formatting
dotnet_diagnostic.IDE0055.severity = warning # Will be promoted as an error by TreatWarningsAsErrors but also allows usage of WarningsNotAsErrors in debug

Expand Down
2 changes: 1 addition & 1 deletion build/ci/templates/dotnet-mobile-install-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ steps:

- powershell: |
& dotnet tool update --global uno.check --version 1.14.1 --add-source https://api.nuget.org/v3/index.json
& uno-check -v --ci --non-interactive --fix --skip androidsdk --skip androidemulator --skip xcode --skip gtk3 --skip vswin --skip vsmac --manifest https://raw.githubusercontent.com/unoplatform/uno.check/146b0b4b23d866bef455494a12ad7ffd2f6f2d20/manifests/uno.ui.manifest.json
& uno-check -v --ci --non-interactive --fix --skip androidsdk --skip androidemulator --skip xcode --skip gtk3 --skip vswin --skip vsmac --manifest https://raw.githubusercontent.com/unoplatform/uno.check/8a14128754833984a0c83398e7dda6d995199e1b/manifests/uno.ui.manifest.json
displayName: Install .NET Workloads
errorActionPreference: continue
ignoreLASTEXITCODE: true
Expand Down
6 changes: 5 additions & 1 deletion build/nuget/Uno.WinUI.Lottie.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,10 @@

<!-- net7.0 Skia -->
<file src="..\..\src\AddIns\Uno.UI.Lottie\Bin\Uno.UI.Lottie.Skia\Release\net7.0\Uno.UI.Lottie.*" target="uno-runtime\net7.0\skia" />


<!-- Force UAP/netx-win to ignore netX.0 -->
<file src="_._" target="build\uap10.0.16299" />
<file src="_._" target="build\uap10.0.19041" />
<file src="_._" target="build\net7.0-windows" />
</files>
</package>
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,6 @@ public record DiagnosticsResult(string Id);
var scenarioName = Path.GetFileName(scenarioFolder);
var path = Path.Combine(scenarioFolder, "Scenario.json");

if (scenarioName != "When_Two_Projects_Simple_Xaml_Single_xName_Add")
{
continue;
}

if (File.Exists(path))
{
var scenariosDescriptor = ReadScenarioConfig(path);
Expand Down
66 changes: 5 additions & 61 deletions src/Uno.Sdk/Sdk/Sdk.props
Original file line number Diff line number Diff line change
Expand Up @@ -10,79 +10,23 @@ Copyright (C) Uno Platform Inc. All rights reserved.
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<!-- Import the Directory.Build.props before loading the Microsoft.NET.Sdk -->
<PropertyGroup>
<ImportDirectoryBuildProps Condition="'$(ImportDirectoryBuildProps)' == ''">true</ImportDirectoryBuildProps>
<_DefaultMicrosoftNETSdk>Microsoft.NET.Sdk</_DefaultMicrosoftNETSdk>
<_DefaultMicrosoftNETSdk Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'browser' or $(MSBuildProjectName.EndsWith('.Wasm')) or $(MSBuildProjectName.EndsWith('.WebAssembly'))">Microsoft.NET.Sdk.Web</_DefaultMicrosoftNETSdk>
</PropertyGroup>
<PropertyGroup Condition="'$(ImportDirectoryBuildProps)' == 'true' and '$(DirectoryBuildPropsPath)' == ''">
<_DirectoryBuildPropsFile Condition="'$(_DirectoryBuildPropsFile)' == ''">Directory.Build.props</_DirectoryBuildPropsFile>
<_DirectoryBuildPropsBasePath Condition="'$(_DirectoryBuildPropsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), '$(_DirectoryBuildPropsFile)'))</_DirectoryBuildPropsBasePath>
<DirectoryBuildPropsPath Condition="'$(_DirectoryBuildPropsBasePath)' != '' and '$(_DirectoryBuildPropsFile)' != ''">$([System.IO.Path]::Combine('$(_DirectoryBuildPropsBasePath)', '$(_DirectoryBuildPropsFile)'))</DirectoryBuildPropsPath>
</PropertyGroup>

<Import Project="$(DirectoryBuildPropsPath)" Condition="'$(ImportDirectoryBuildProps)' == 'true' and exists('$(DirectoryBuildPropsPath)')"/>

<PropertyGroup>
<ImportDirectoryBuildProps>false</ImportDirectoryBuildProps>
</PropertyGroup>
<!-- END Import the Directory.Build.props -->

<PropertyGroup>
<UnoImportMicrosoftNETSdkTargets Condition=" '$(UsingMicrosoftNETSdk)' != 'true' ">true</UnoImportMicrosoftNETSdkTargets>
<_UnoImportMicrosoftNETSdkTargets>false</_UnoImportMicrosoftNETSdkTargets>
<_UnoImportMicrosoftNETSdkTargets Condition=" $(UnoImportMicrosoftNETSdkTargets) == 'true' AND $(UsingMicrosoftNETSdk) != 'true' ">true</_UnoImportMicrosoftNETSdkTargets>

<IsAndroid>false</IsAndroid>
<IsIOS>false</IsIOS>
<IsMacOS>false</IsMacOS>
<IsMacCatalyst>false</IsMacCatalyst>
<IsIOSOrCatalyst>false</IsIOSOrCatalyst>
<IsWinAppSdk>false</IsWinAppSdk>
<IsBrowser>false</IsBrowser>
<IsSkia>false</IsSkia>
<UnoVersion>DefaultUnoVersion</UnoVersion>
</PropertyGroup>

<!--
Load the solution-config.props file, if it exists.
-->
<PropertyGroup>
<ImportSolutionConfigProps Condition="'$(ImportSolutionConfigProps)' == ''">true</ImportSolutionConfigProps>
</PropertyGroup>
<PropertyGroup Condition="'$(ImportSolutionConfigProps)' == 'true' and '$(SolutionConfigPropsPath)' == ''">
<_SolutionConfigPropsFile Condition="'$(_SolutionConfigPropsFile)' == ''">solution-config.props</_SolutionConfigPropsFile>
<_SolutionConfigPropsBasePath Condition="'$(_SolutionConfigPropsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), '$(_SolutionConfigPropsFile)'))</_SolutionConfigPropsBasePath>
<SolutionConfigPropsPath Condition="'$(_SolutionConfigPropsBasePath)' != '' and '$(_SolutionConfigPropsFile)' != ''">$([System.IO.Path]::Combine('$(_SolutionConfigPropsBasePath)', '$(_SolutionConfigPropsFile)'))</SolutionConfigPropsPath>
<CustomAfterDirectoryBuildProps>$(CustomAfterDirectoryBuildProps);$(MSBuildThisFileDirectory)..\targets\Uno.Import.SolutionConfig.props</CustomAfterDirectoryBuildProps>
<CustomAfterDirectoryBuildProps>$(CustomAfterDirectoryBuildProps);$(MSBuildThisFileDirectory)..\targets\Uno.IsPlatform.props</CustomAfterDirectoryBuildProps>
</PropertyGroup>

<Import Project="$(SolutionConfigPropsPath)" Condition="'$(ImportSolutionConfigProps)' == 'true' and exists('$(SolutionConfigPropsPath)')"/>

<PropertyGroup>
<ImportSolutionConfigProps>false</ImportSolutionConfigProps>
</PropertyGroup>

<Import Sdk="Microsoft.NET.Sdk" Project="Sdk.props" Condition=" $(_UnoImportMicrosoftNETSdkTargets) " />
<Import Sdk="$(_DefaultMicrosoftNETSdk)" Project="Sdk.props" />

<PropertyGroup>
<EnableDefaultItems Condition=" '$(EnableDefaultItems)' == '' ">true</EnableDefaultItems>
<EnableDefaultUnoItems Condition=" '$(EnableDefaultUnoItems)' == '' ">$(EnableDefaultItems)</EnableDefaultUnoItems>
</PropertyGroup>

<ItemGroup Condition=" $(EnableDefaultUnoItems) == 'true' ">
<UpToDateCheckInput Include="**\*.xaml" Exclude="bin\**\*.xaml;obj\**\*.xaml" />
</ItemGroup>

<!-- Taken from: https://github.com/dotnet/maui/blob/c02a6706534888ccea577d771c9edfc820bfc001/src/Workload/Microsoft.Maui.Sdk/Sdk/Microsoft.Maui.Sdk.After.targets#L16C3-L26C15 -->
<!-- SingleProject-specific features -->
<ItemGroup Condition=" '$(SingleProject)' == 'true' ">
<ProjectCapability Include="Msix" Condition="'$(DisableMsixProjectCapabilityAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'"/>
<ProjectCapability Include="MauiSingleProject" />
<ProjectCapability Include="LaunchProfiles" />
<!-- If VS is older than Dev17 -->
<ProjectCapability Include="XamarinStaticLaunchProfiles" Condition=" '$(VisualStudioVersion)' != '' and '$(VisualStudioVersion)' &lt; '17.0' " />
<!-- Otherwise define LaunchProfilesGroupByPlatformFilters by default -->
<ProjectCapability Include="LaunchProfilesGroupByPlatformFilters" Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &gt;= '17.0' " />
<ProjectCapability Include="SingleTargetBuildForStartupProjects" Condition=" '$(EnableSingleTargetBuildForStartupProjects)' != 'false' " />
</ItemGroup>

</Project>
178 changes: 9 additions & 169 deletions src/Uno.Sdk/Sdk/Sdk.targets
Original file line number Diff line number Diff line change
Expand Up @@ -10,180 +10,20 @@ Copyright (C) Uno Platform Inc. All rights reserved.
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<PropertyGroup Condition=" $(Configuration) == 'Debug' ">
<DebugType Condition=" $(DebugType) == '' ">portable</DebugType>
<DebugSymbols Condition=" $(DebugSymbols) == '' ">True</DebugSymbols>

<!-- Required for Hot Reload (See https://github.com/dotnet/sdk/issues/36666) -->
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
</PropertyGroup>

<PropertyGroup>
<DefaultLanguage Condition=" $(DefaultLanguage) == '' ">en</DefaultLanguage>
<AfterMicrosoftNETSdkTargets>$(AfterMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)..\targets\Uno.Sdk.After.targets</AfterMicrosoftNETSdkTargets>
</PropertyGroup>

<Choose>
<When Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
<PropertyGroup>
<IsAndroid>true</IsAndroid>
<SupportedOSPlatformVersion Condition=" $(SupportedOSPlatformVersion) == '' ">21.0</SupportedOSPlatformVersion>
<AndroidManifest Condition=" $(AndroidManifest) == '' AND '$(SingleProject)' == 'true' AND Exists($([System.IO.Path]::Combine('$(MSBuildProjectDirectory)', 'Android', 'AndroidManifest.xml'))) ">Android\AndroidManifest.xml</AndroidManifest>
<AndroidManifest Condition=" $(AndroidManifest) == '' AND '$(SingleProject)' == 'true' AND Exists($([System.IO.Path]::Combine('$(MSBuildProjectDirectory)', 'Platforms', 'Android', 'AndroidManifest.xml'))) ">Platforms\Android\AndroidManifest.xml</AndroidManifest>
</PropertyGroup>

<ItemGroup>
<AndroidEnvironment Condition=" '$(SingleProject)' == 'true' AND Exists($([System.IO.Path]::Combine('$(MSBuildProjectDirectory)', 'Android', 'environment.conf'))) " Include="Android\environment.conf" />
<AndroidEnvironment Condition=" '$(SingleProject)' == 'true' AND Exists($([System.IO.Path]::Combine('$(MSBuildProjectDirectory)', 'Platforms', 'Android', 'environment.conf'))) " Include="Platforms\Android\environment.conf" />
</ItemGroup>
</When>
<When Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">
<PropertyGroup>
<IsIOSOrCatalyst>true</IsIOSOrCatalyst>
<IsIOS>true</IsIOS>
<SupportedOSPlatformVersion Condition=" $(SupportedOSPlatformVersion) == '' ">14.2</SupportedOSPlatformVersion>
</PropertyGroup>
</When>
<When Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'macos'">
<PropertyGroup>
<IsMacOS>true</IsMacOS>
<SupportedOSPlatformVersion Condition=" $(SupportedOSPlatformVersion) == '' ">10.14</SupportedOSPlatformVersion>
</PropertyGroup>
</When>
<When Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">
<PropertyGroup>
<IsIOSOrCatalyst>true</IsIOSOrCatalyst>
<IsMacCatalyst>true</IsMacCatalyst>
<SupportedOSPlatformVersion Condition=" $(SupportedOSPlatformVersion) == '' ">14.0</SupportedOSPlatformVersion>
</PropertyGroup>
</When>
<!-- Evaluate windows10 instead of using GetTargetPlatformIdentifier because of duplicate value for WPF -->
<When Condition="$(TargetFramework.Contains('windows10'))">
<PropertyGroup>
<IsWinAppSdk>true</IsWinAppSdk>
<TargetPlatformMinVersion Condition=" $(TargetPlatformMinVersion) == '' ">10.0.18362.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion Condition=" $(SupportedOSPlatformVersion) == '' ">$(TargetPlatformMinVersion)</SupportedOSPlatformVersion>
<RuntimeIdentifiers Condition=" $(RuntimeIdentifiers) == '' ">win-x86;win-x64;win-arm64</RuntimeIdentifiers>
<EnableCoreMrtTooling Condition=" $(EnableCoreMrtTooling) == '' AND '$(BuildingInsideVisualStudio)' != 'true' ">false</EnableCoreMrtTooling>
<EnableMsixTooling Condition=" $(EnableMsixTooling) == '' ">true</EnableMsixTooling>
<EnableWindowsTargeting Condition=" $(EnableWindowsTargeting) == '' ">true</EnableWindowsTargeting>
</PropertyGroup>

<PropertyGroup Condition="$(SingleProject)!='true' and $(OutputType)=='WinExe'">
<ApplicationManifest Condition=" $(ApplicationManifest) == '' ">app.manifest</ApplicationManifest>
<Platforms Condition=" $(Platforms) == '' ">x86;x64;arm64</Platforms>
<PublishProfile Condition=" $(PublishProfile) == '' ">win-$(Platform).pubxml</PublishProfile>
<UseWinUI Condition=" $(UseWinUI) == '' ">true</UseWinUI>
</PropertyGroup>

<ItemGroup Condition="$(SingleProject)!='true' and $(OutputType)=='WinExe'">
<!-- Exclude Manifest items that have already been added to avoid duplicates -->
<Manifest Include="$(ApplicationManifest)" Exclude="@(Manifest)" />
</ItemGroup>

<!--
Defining the "Msix" ProjectCapability here allows the Single-project MSIX Packaging
Tools extension to be activated for this project even if the Windows App SDK Nuget
package has not yet been restored.

Note: This will not be needed here for SingleProject
-->
<ItemGroup Condition="$(SingleProject)!='true' and $(OutputType)=='WinExe' and '$(DisableMsixProjectCapabilityAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'">
<ProjectCapability Include="Msix"/>
</ItemGroup>

<!--
Defining the "HasPackageAndPublishMenuAddedByProject" property here allows the Solution
Explorer "Package and Publish" context menu entry to be enabled for this project even if
the Windows App SDK Nuget package has not yet been restored.
-->
<PropertyGroup Condition="$(OutputType)=='WinExe' and '$(DisableHasPackageAndPublishMenuAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'">
<HasPackageAndPublishMenu>true</HasPackageAndPublishMenu>
</PropertyGroup>
</When>
<When Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'browser'">
<PropertyGroup>
<IsBrowser>true</IsBrowser>
</PropertyGroup>
</When>
<When Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'skia'">
<PropertyGroup>
<IsSkia>true</IsSkia>
</PropertyGroup>
</When>
</Choose>
<!-- Common Includes -->
<Import Project="$(MSBuildThisFileDirectory)../targets/Uno.Common.targets" />

<ItemGroup>
<!-- Removes native usings to avoid Ambiguous reference -->
<Using Remove="@(Using->HasMetadata('Platform'))" />
</ItemGroup>
<!-- Default Includes -->
<Import Project="$(MSBuildThisFileDirectory)../targets/Uno.DefaultItems.targets" Condition=" $(EnableDefaultUnoItems) == 'true' " />

<ItemGroup Condition=" !$(IsWinAppSdk) AND $(EnableDefaultUnoItems) == 'true' ">
<!-- Include all images by default - matches the __WindowsAppSdkDefaultImageIncludes property in the WindowsAppSDK -->
<Content Include="Assets\**;**/*.png;**/*.bmp;**/*.jpg;**/*.dds;**/*.tif;**/*.tga;**/*.gif"
Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);**\*.svg">
<Link>$([MSBuild]::MakeRelative ('$(MSBuildProjectDirectory)', '%(Identity)'))</Link>
<IsDefaultItem>true</IsDefaultItem>
</Content>
<Page Include="**\*.xaml" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)">
<Link>$([MSBuild]::MakeRelative ('$(MSBuildProjectDirectory)', '%(Identity)'))</Link>
<IsDefaultItem>true</IsDefaultItem>
</Page>
<Compile Update="**\*.xaml.cs">
<DependentUpon>%(Filename)</DependentUpon>
<Link>$([MSBuild]::MakeRelative ('$(MSBuildProjectDirectory)', '%(Identity)'))</Link>
<IsDefaultItem>true</IsDefaultItem>
</Compile>
<PRIResource Include="**\*.resw" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)">
<Link>$([MSBuild]::MakeRelative ('$(MSBuildProjectDirectory)', '%(Identity)'))</Link>
<IsDefaultItem>true</IsDefaultItem>
</PRIResource>
</ItemGroup>

<ItemGroup Condition=" '$(PkgUno_Resizetizer)'!='' ">
<UnoImage Include="Assets\**\*.svg" Exclude="@(UnoImage)">
<Link>$([MSBuild]::MakeRelative ('$(MSBuildProjectDirectory)', '%(Identity)'))</Link>
<IsDefaultItem>true</IsDefaultItem>
</UnoImage>
</ItemGroup>

<!-- Cross Targetting -->
<Import Project="$(MSBuildThisFileDirectory)../targets/Uno.CrossTargetting.targets" />

<!-- WinUI -->
<Import Project="$(MSBuildThisFileDirectory)..\targets\Uno.SingleProject.WinAppSdk.targets"
Condition=" $(IsWinAppSdk) AND $(SingleProject) == 'true' " />
<!-- Workaround to avoid including Project XBFs in the PRI file: https://github.com/microsoft/microsoft-ui-xaml/issues/8857 -->
<Import Project="$(MSBuildThisFileDirectory)..\targets\winappsdk-workaround.targets"
Condition=" $(IsWinAppSdk) AND '$(SingleProject)' != 'true' and '$(DisableWinUI8857_Workaround)' != 'true' "/>

<!-- WASM -->
<Import Project="$(MSBuildThisFileDirectory)..\targets\Uno.SingleProject.Wasm.targets"
Condition=" $(IsBrowser) AND $(SingleProject) == 'true' " />

<!-- Skia -->
<Import Project="$(MSBuildThisFileDirectory)..\targets\Uno.SingleProject.Skia.targets"
Condition=" $(IsSkia) AND $(SingleProject) == 'true' " />

<!-- Uno Developers should comment this target out if they need to override UnoVersion for dev testing -->
<Target Name="UnoSdkVersionCheck"
AfterTargets="ResolveReferences"
BeforeTargets="BeforeBuild"
Condition="'$(PkgUno_WinUI)' != ''">
<Error Code="UNOB0004"
HelpLink="https://aka.platform.uno/UNOB0004"
Condition=" '$(UnoVersion)' != 'DefaultUnoVersion' " Text="The '%24(UnoVersion)' property must match the version of the Uno.Sdk defined in global.json (found $(UnoVersion) and expected DefaultUnoVersion). For more information about updating Uno Platform packages, visit https://aka.platform.uno/upgrade-uno-packages" />

<!-- Check if the Uno.WinUI version matches DefaultUnoVersion -->
<PropertyGroup>
<_UnoSdkVersionCheck_Resolved_UnoWinUI>$([System.IO.Path]::GetFileName($(PkgUno_WinUI)))</_UnoSdkVersionCheck_Resolved_UnoWinUI>
</PropertyGroup>

<Error Code="UNOB0005"
HelpLink="https://aka.platform.uno/UNOB0005"
Text="The version of Uno.WinUI must match the version of the Uno.Sdk found in global.json (found $(_UnoSdkVersionCheck_Resolved_UnoWinUI) and expected DefaultUnoVersion). For more information about updating Uno Platform packages, visit https://aka.platform.uno/upgrade-uno-packages"
Condition="$([System.IO.Path]::GetFileName($(PkgUno_WinUI))) != 'DefaultUnoVersion'" />
</Target>
<!-- Build Targets -->
<Import Project="$(MSBuildThisFileDirectory)../targets/Uno.Build.targets" />

<!-- Microsoft.NET.Sdk should be loaded last. This ensures our targets are evaluated before all others. -->
<Import Sdk="Microsoft.NET.Sdk" Project="Sdk.targets" Condition=" $(_UnoImportMicrosoftNETSdkTargets) " />
<Import Sdk="$(_DefaultMicrosoftNETSdk)" Project="Sdk.targets" />

</Project>
Loading
Loading