Skip to content

Commit 023502f

Browse files
committed
feat(template): Move to single location projects
This change removes the use of shared projects, which cause many issues insde VS, as well as VS Code (incorrect removal, incorrect addition of files, failure to properly explain how to include multiple nuget packages, complex vscode globbing).
1 parent c0b9df0 commit 023502f

File tree

167 files changed

+1149
-1231
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

167 files changed

+1149
-1231
lines changed

build/Uno.UI.Build.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
<_sdkProject Include="..\src\SolutionTemplate\**\*.Mobile.csproj"/>
104104
<_sdkProject Include="..\src\SolutionTemplate\**\*.Wasm.csproj"/>
105105
<_sdkProject Include="..\src\SolutionTemplate\**\*.Skia.*.csproj"/>
106+
<_sdkProject Include="..\src\SolutionTemplate\**\*.Windows.csproj"/>
106107
<_sdkProject Include="..\src\SolutionTemplate\UnoLibraryTemplate\CrossTargetedLibrary.csproj"/>
107108
<_sdkProject Include="..\src\SolutionTemplate\UnoLibraryTemplate.netcore\CrossTargetedLibrary.csproj"/>
108109
<_sdkProject Include="..\src\SolutionTemplate\UnoLibraryTemplate.netcore\CrossTargetedLibrary.csproj"/>

build/Uno.WinUI.Skia.Gtk.props

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
<?xml version="1.0" encoding="utf-8" ?>
22
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33

4-
<PropertyGroup>
5-
<IsUnoHead>true</IsUnoHead>
6-
<UnoRuntimeIdentifier>Skia</UnoRuntimeIdentifier>
7-
</PropertyGroup>
4+
<PropertyGroup>
5+
<IsUnoHead>true</IsUnoHead>
6+
<UnoRuntimeIdentifier>Skia</UnoRuntimeIdentifier>
7+
<UnoIsSkiaGtkHead>true</UnoIsSkiaGtkHead>
8+
</PropertyGroup>
89

910
</Project>
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
<?xml version="1.0" encoding="utf-8" ?>
22
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33

4-
<PropertyGroup>
5-
<IsUnoHead>true</IsUnoHead>
6-
<UnoRuntimeIdentifier>Skia</UnoRuntimeIdentifier>
7-
</PropertyGroup>
4+
<PropertyGroup>
5+
<IsUnoHead>true</IsUnoHead>
6+
<UnoRuntimeIdentifier>Skia</UnoRuntimeIdentifier>
7+
<UnoIsSkiaLinuxFramebufferHead>true</UnoIsSkiaLinuxFramebufferHead>
8+
</PropertyGroup>
89

910
</Project>

build/Uno.WinUI.WebAssembly.props

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
<?xml version="1.0" encoding="utf-8" ?>
22
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33

4-
<PropertyGroup>
5-
<IsUnoHead>true</IsUnoHead>
6-
<UnoRuntimeIdentifier>WebAssembly</UnoRuntimeIdentifier>
7-
</PropertyGroup>
4+
<PropertyGroup>
5+
<IsUnoHead>true</IsUnoHead>
6+
<UnoRuntimeIdentifier>WebAssembly</UnoRuntimeIdentifier>
7+
<UnoIsWebAssemblyBrowserHead>true</UnoIsWebAssemblyBrowserHead>
8+
</PropertyGroup>
89

910
</Project>

build/Uno.WinUI.nuspec

Lines changed: 7 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -881,92 +881,13 @@
881881
<file src="Uno.WinUI.targets" target="buildTransitive\net7.0-macos" />
882882
<file src="Uno.WinUI.targets" target="buildTransitive\net5.0-windows" />
883883

884-
<file src="uno.winui.cross-runtime.targets" target="buildTransitive\MonoAndroid" />
885-
<file src="uno.winui.cross-runtime.targets" target="buildTransitive\xamarinios10" />
886-
<file src="uno.winui.cross-runtime.targets" target="buildTransitive\xamarinmac20" />
887-
<file src="uno.winui.cross-runtime.targets" target="buildTransitive\netstandard2.0" />
888-
<file src="uno.winui.cross-runtime.targets" target="buildTransitive\net7.0" />
889-
<file src="uno.winui.cross-runtime.targets" target="buildTransitive\net6.0-android30.0" />
890-
<file src="uno.winui.cross-runtime.targets" target="buildTransitive\net6.0-ios" />
891-
<file src="uno.winui.cross-runtime.targets" target="buildTransitive\net6.0-maccatalyst" />
892-
<file src="uno.winui.cross-runtime.targets" target="buildTransitive\net6.0-macos" />
893-
<file src="uno.winui.cross-runtime.targets" target="buildTransitive\net7.0-android30.0" />
894-
<file src="uno.winui.cross-runtime.targets" target="buildTransitive\net7.0-ios" />
895-
<file src="uno.winui.cross-runtime.targets" target="buildTransitive\net7.0-maccatalyst" />
896-
<file src="uno.winui.cross-runtime.targets" target="buildTransitive\net7.0-macos" />
897-
<file src="uno.winui.cross-runtime.targets" target="buildTransitive\net5.0-windows" />
898-
899-
<file src="uno.winui.common.targets" target="buildTransitive\MonoAndroid" />
900-
<file src="uno.winui.common.targets" target="buildTransitive\xamarinios10" />
901-
<file src="uno.winui.common.targets" target="buildTransitive\xamarinmac20" />
902-
<file src="uno.winui.common.targets" target="buildTransitive\netstandard2.0" />
903-
<file src="uno.winui.common.targets" target="buildTransitive\net7.0" />
904-
<file src="uno.winui.common.targets" target="buildTransitive\net6.0-android30.0" />
905-
<file src="uno.winui.common.targets" target="buildTransitive\net6.0-ios" />
906-
<file src="uno.winui.common.targets" target="buildTransitive\net6.0-maccatalyst" />
907-
<file src="uno.winui.common.targets" target="buildTransitive\net6.0-macos" />
908-
<file src="uno.winui.common.targets" target="buildTransitive\net7.0-android30.0" />
909-
<file src="uno.winui.common.targets" target="buildTransitive\net7.0-ios" />
910-
<file src="uno.winui.common.targets" target="buildTransitive\net7.0-maccatalyst" />
911-
<file src="uno.winui.common.targets" target="buildTransitive\net7.0-macos" />
912-
<file src="uno.winui.common.targets" target="buildTransitive\net5.0-windows" />
913-
914-
<file src="uno.winui.single-project.targets" target="buildTransitive\MonoAndroid" />
915-
<file src="uno.winui.single-project.targets" target="buildTransitive\xamarinios10" />
916-
<file src="uno.winui.single-project.targets" target="buildTransitive\xamarinmac20" />
917-
<file src="uno.winui.single-project.targets" target="buildTransitive\netstandard2.0" />
918-
<file src="uno.winui.single-project.targets" target="buildTransitive\net7.0" />
919-
<file src="uno.winui.single-project.targets" target="buildTransitive\net6.0-android30.0" />
920-
<file src="uno.winui.single-project.targets" target="buildTransitive\net6.0-ios" />
921-
<file src="uno.winui.single-project.targets" target="buildTransitive\net6.0-maccatalyst" />
922-
<file src="uno.winui.single-project.targets" target="buildTransitive\net6.0-macos" />
923-
<file src="uno.winui.single-project.targets" target="buildTransitive\net7.0-android30.0" />
924-
<file src="uno.winui.single-project.targets" target="buildTransitive\net7.0-ios" />
925-
<file src="uno.winui.single-project.targets" target="buildTransitive\net7.0-maccatalyst" />
926-
<file src="uno.winui.single-project.targets" target="buildTransitive\net7.0-macos" />
927-
<file src="uno.winui.single-project.targets" target="buildTransitive\net5.0-windows" />
928-
929-
<file src="uno.winui.runtime-replace.targets" target="buildTransitive\MonoAndroid" />
930-
<file src="uno.winui.runtime-replace.targets" target="buildTransitive\xamarinios10" />
931-
<file src="uno.winui.runtime-replace.targets" target="buildTransitive\xamarinmac20" />
932-
<file src="uno.winui.runtime-replace.targets" target="buildTransitive\netstandard2.0" />
933-
<file src="uno.winui.runtime-replace.targets" target="buildTransitive\net7.0" />
934-
<file src="uno.winui.runtime-replace.targets" target="buildTransitive\net6.0-android30.0" />
935-
<file src="uno.winui.runtime-replace.targets" target="buildTransitive\net6.0-ios" />
936-
<file src="uno.winui.runtime-replace.targets" target="buildTransitive\net6.0-maccatalyst" />
937-
<file src="uno.winui.runtime-replace.targets" target="buildTransitive\net6.0-macos" />
938-
<file src="uno.winui.runtime-replace.targets" target="buildTransitive\net7.0" />
939-
<file src="uno.winui.runtime-replace.targets" target="buildTransitive\net7.0-android30.0" />
940-
<file src="uno.winui.runtime-replace.targets" target="buildTransitive\net7.0-ios" />
941-
<file src="uno.winui.runtime-replace.targets" target="buildTransitive\net7.0-maccatalyst" />
942-
<file src="uno.winui.runtime-replace.targets" target="buildTransitive\net7.0-macos" />
943-
<file src="uno.winui.runtime-replace.targets" target="buildTransitive\net5.0-windows" />
944-
945-
<file src="uno.winui.winappsdk.targets" target="buildTransitive\MonoAndroid" />
946-
<file src="uno.winui.winappsdk.targets" target="buildTransitive\xamarinios10" />
947-
<file src="uno.winui.winappsdk.targets" target="buildTransitive\xamarinmac20" />
948-
<file src="uno.winui.winappsdk.targets" target="buildTransitive\netstandard2.0" />
949-
<file src="uno.winui.winappsdk.targets" target="buildTransitive\net7.0" />
950-
<file src="uno.winui.winappsdk.targets" target="buildTransitive\net6.0-android30.0" />
951-
<file src="uno.winui.winappsdk.targets" target="buildTransitive\net6.0-ios" />
952-
<file src="uno.winui.winappsdk.targets" target="buildTransitive\net6.0-maccatalyst" />
953-
<file src="uno.winui.winappsdk.targets" target="buildTransitive\net6.0-macos" />
954-
<file src="uno.winui.winappsdk.targets" target="buildTransitive\net5.0-windows" />
955-
956-
<file src="..\src\SourceGenerators\Uno.UI.Tasks\Content\Uno.UI.Tasks*" target="buildTransitive\MonoAndroid" />
957-
<file src="..\src\SourceGenerators\Uno.UI.Tasks\Content\Uno.UI.Tasks*" target="buildTransitive\xamarinios10" />
958-
<file src="..\src\SourceGenerators\Uno.UI.Tasks\Content\Uno.UI.Tasks*" target="buildTransitive\xamarinmac20" />
959-
<file src="..\src\SourceGenerators\Uno.UI.Tasks\Content\Uno.UI.Tasks*" target="buildTransitive\netstandard2.0" />
960-
<file src="..\src\SourceGenerators\Uno.UI.Tasks\Content\Uno.UI.Tasks*" target="buildTransitive\net7.0" />
961-
<file src="..\src\SourceGenerators\Uno.UI.Tasks\Content\Uno.UI.Tasks*" target="buildTransitive\net6.0-android30.0" />
962-
<file src="..\src\SourceGenerators\Uno.UI.Tasks\Content\Uno.UI.Tasks*" target="buildTransitive\net6.0-ios" />
963-
<file src="..\src\SourceGenerators\Uno.UI.Tasks\Content\Uno.UI.Tasks*" target="buildTransitive\net6.0-maccatalyst" />
964-
<file src="..\src\SourceGenerators\Uno.UI.Tasks\Content\Uno.UI.Tasks*" target="buildTransitive\net6.0-macos" />
965-
<file src="..\src\SourceGenerators\Uno.UI.Tasks\Content\Uno.UI.Tasks*" target="buildTransitive\net7.0-android30.0" />
966-
<file src="..\src\SourceGenerators\Uno.UI.Tasks\Content\Uno.UI.Tasks*" target="buildTransitive\net7.0-ios" />
967-
<file src="..\src\SourceGenerators\Uno.UI.Tasks\Content\Uno.UI.Tasks*" target="buildTransitive\net7.0-maccatalyst" />
968-
<file src="..\src\SourceGenerators\Uno.UI.Tasks\Content\Uno.UI.Tasks*" target="buildTransitive\net7.0-macos" />
969-
<file src="..\src\SourceGenerators\Uno.UI.Tasks\Content\Uno.UI.Tasks*" target="buildTransitive\net5.0-windows" />
884+
<file src="uno.winui.cross-runtime.targets" target="buildTransitive" />
885+
<file src="uno.winui.common.targets" target="buildTransitive" />
886+
<file src="uno.winui.single-project.targets" target="buildTransitive" />
887+
<file src="uno.winui.single-location-project.targets" target="buildTransitive" />
888+
<file src="uno.winui.runtime-replace.targets" target="buildTransitive" />
889+
<file src="uno.winui.winappsdk.targets" target="buildTransitive" />
890+
<file src="..\src\SourceGenerators\Uno.UI.Tasks\Content\Uno.UI.Tasks*" target="buildTransitive" />
970891

971892
<!-- Force UAP to ignore netstandard 2.0 -->
972893
<file src="uno.winui.win.targets" target="buildTransitive\uap10.0.16299\uno.winui.targets" />

build/test-scripts/run-net7-template-linux.ps1

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,20 +46,20 @@ $release = $default + '-c' + 'Release'
4646
$createParams=(Get-TemplateConfiguration -wasm 1 -wasmVsCode 1 -skiaGtk 1 -skiaLinuxFB 1)
4747
dotnet new unoapp -n UnoAppWinUI --framework net7.0 $createParams
4848

49-
dotnet build $debug UnoAppWinUI/UnoAppWinUI.Wasm/UnoAppWinUI.Wasm.csproj
49+
dotnet build $debug UnoAppWinUI/UnoAppWinUI.App/UnoAppWinUI.Wasm.csproj
5050
Assert-ExitCodeIsZero
5151

52-
dotnet build $release UnoAppWinUI/UnoAppWinUI.Wasm/UnoAppWinUI.Wasm.csproj
52+
dotnet build $release UnoAppWinUI/UnoAppWinUI.App/UnoAppWinUI.Wasm.csproj
5353
Assert-ExitCodeIsZero
5454

55-
dotnet build $debug UnoAppWinUI/UnoAppWinUI.Skia.Gtk/UnoAppWinUI.Skia.Gtk.csproj
55+
dotnet build $debug UnoAppWinUI/UnoAppWinUI.App/UnoAppWinUI.Skia.Gtk.csproj
5656
Assert-ExitCodeIsZero
5757

58-
dotnet build $release UnoAppWinUI/UnoAppWinUI.Skia.Gtk/UnoAppWinUI.Skia.Gtk.csproj
58+
dotnet build $release UnoAppWinUI/UnoAppWinUI.App/UnoAppWinUI.Skia.Gtk.csproj
5959
Assert-ExitCodeIsZero
6060

61-
dotnet build $debug UnoAppWinUI/UnoAppWinUI.Skia.Linux.FrameBuffer/UnoAppWinUI.Skia.Linux.FrameBuffer.csproj
61+
dotnet build $debug UnoAppWinUI/UnoAppWinUI.App/UnoAppWinUI.Skia.Linux.FrameBuffer.csproj
6262
Assert-ExitCodeIsZero
6363

64-
dotnet build $release UnoAppWinUI/UnoAppWinUI.Skia.Linux.FrameBuffer/UnoAppWinUI.Skia.Linux.FrameBuffer.csproj
64+
dotnet build $release UnoAppWinUI/UnoAppWinUI.App/UnoAppWinUI.Skia.Linux.FrameBuffer.csproj
6565
Assert-ExitCodeIsZero

build/test-scripts/run-netcore-mobile-template-tests.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,12 @@ pushd UnoAppWinUI
7575
for($i = 0; $i -lt $dotnetBuildNet6Configurations.Length; $i++)
7676
{
7777
$platform=$dotnetBuildNet6Configurations[$i][0];
78-
& dotnet build -c Debug $default $dotnetBuildNet6Configurations[$i][1] $dotnetBuildNet6Configurations[$i][2] "UnoAppWinUI.$platform\UnoAppWinUI.$platform.csproj"
78+
& dotnet build -c Debug $default $dotnetBuildNet6Configurations[$i][1] $dotnetBuildNet6Configurations[$i][2] "UnoAppWinUI.App\UnoAppWinUI.$platform.csproj"
7979
Assert-ExitCodeIsZero
8080
}
8181

8282
# Build with msbuild because of https://github.com/microsoft/WindowsAppSDK/issues/1652
83-
& $msbuild $debug "/p:Platform=x86" "UnoAppWinUI.Windows\UnoAppWinUI.Windows.csproj"
83+
& $msbuild $debug "/p:Platform=x86" "UnoAppWinUI.App\UnoAppWinUI.Windows.csproj"
8484
Assert-ExitCodeIsZero
8585

8686
popd

build/uno.winui.common.targets

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33

44
<PropertyGroup>
5-
<SourceGeneratorBasePath Condition="'$(SourceGeneratorBasePath)'==''">..\</SourceGeneratorBasePath>
5+
<SourceGeneratorBasePath Condition="'$(SourceGeneratorBasePath)'==''">.\</SourceGeneratorBasePath>
66
<UnoUIMSBuildTasksTargetPath Condition="'$(UnoUIMSBuildTasksTargetPath)'==''"></UnoUIMSBuildTasksTargetPath>
77

88
<_IsUnoPlatform>true</_IsUnoPlatform>
@@ -172,11 +172,11 @@
172172
If System.Collections* files are present, the package may have been overriden by an Uno.UI solution
173173
version before the introduction of this check.
174174
-->
175-
<_OverrideFiles Include="$(MSBuildThisFileDirectory)../../tools/System.Collections*.dll"/>
175+
<_OverrideFiles Include="$(MSBuildThisFileDirectory)../tools/System.Collections*.dll"/>
176176
</ItemGroup>
177177
<PropertyGroup>
178178
<_warnForUnoOverride>false</_warnForUnoOverride>
179-
<_warnForUnoOverride Condition="'@(_OverrideFiles)'!='' or exists('$(MSBuildThisFileDirectory)../../.packageoverride')">true</_warnForUnoOverride>
179+
<_warnForUnoOverride Condition="'@(_OverrideFiles)'!='' or exists('$(MSBuildThisFileDirectory)../.packageoverride')">true</_warnForUnoOverride>
180180
</PropertyGroup>
181181
<Warning Condition="$(_warnForUnoOverride)"
182182
Text="======================================"

build/uno.winui.runtime-replace.targets

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
<_UnoRuntimeTargetFramework Condition="'$(TargetFrameworkVersion)'!='' and '$(TargetFrameworkVersion.Substring(1))'&gt;='7.0'">net7.0</_UnoRuntimeTargetFramework>
1111
</PropertyGroup>
1212

13+
<ItemGroup>
14+
<_UnoRuntimeEnabledPackage2 Include="@(UnoRuntimeEnabledPackage)"/>
15+
</ItemGroup>
16+
1317
<ItemGroup>
1418

1519
<!-- Create a list of all copy local items that are part of the UnoRuntimeEnabledPackage items -->
@@ -27,6 +31,9 @@
2731
Legacy convention: netstandard2.0 (uno-runtime/**)
2832
-->
2933
<!-- Add the files for the current selected runtime identifier -->
34+
<RuntimeCopyLocalItemsMerged
35+
Include="%(UnoRuntimeEnabledPackage.PackageBasePath)/uno-runtime/$(UnoRuntimeIdentifier.ToLowerInvariant())/*.dll"
36+
NuGetPackageId="%(Identity)" />
3037
<RuntimeCopyLocalItemsMerged
3138
Include="%(UnoRuntimeEnabledPackage.PackageBasePath)/../uno-runtime/$(UnoRuntimeIdentifier.ToLowerInvariant())/*.dll"
3239
NuGetPackageId="%(Identity)" />
@@ -42,11 +49,15 @@
4249

4350
<!-- Publish pdb files -->
4451
<ReferenceCopyLocalPaths Include="%(UnoRuntimeEnabledPackage.PackageBasePath)/../uno-runtime/$(UnoRuntimeIdentifier.ToLowerInvariant())/*.pdb" />
52+
<ReferenceCopyLocalPaths Include="%(UnoRuntimeEnabledPackage.PackageBasePath)/uno-runtime/$(UnoRuntimeIdentifier.ToLowerInvariant())/*.pdb" />
4553

4654
<!--
4755
Uno 4.6 or later convention: netstandard2.0, net7.0 or later (uno-runtime/[TargetFramework]/**)
4856
-->
4957
<!-- Add the files for the current selected runtime identifier -->
58+
<RuntimeCopyLocalItemsMerged
59+
Include="%(UnoRuntimeEnabledPackage.PackageBasePath)/uno-runtime/$(_UnoRuntimeTargetFramework)/$(UnoRuntimeIdentifier.ToLowerInvariant())/*.dll"
60+
NuGetPackageId="%(Identity)" />
5061
<RuntimeCopyLocalItemsMerged
5162
Include="%(UnoRuntimeEnabledPackage.PackageBasePath)/../uno-runtime/$(_UnoRuntimeTargetFramework)/$(UnoRuntimeIdentifier.ToLowerInvariant())/*.dll"
5263
NuGetPackageId="%(Identity)" />
@@ -64,6 +75,7 @@
6475
Include="@(RuntimeCopyLocalItemsToUpdate)"/>
6576

6677
<!-- Publish pdb files -->
78+
<ReferenceCopyLocalPaths Include="%(UnoRuntimeEnabledPackage.PackageBasePath)/uno-runtime/$(_UnoRuntimeTargetFramework)/$(UnoRuntimeIdentifier.ToLowerInvariant())/*.pdb" />
6779
<ReferenceCopyLocalPaths Include="%(UnoRuntimeEnabledPackage.PackageBasePath)/../uno-runtime/$(_UnoRuntimeTargetFramework)/$(UnoRuntimeIdentifier.ToLowerInvariant())/*.pdb" />
6880
</ItemGroup>
6981

@@ -74,7 +86,7 @@
7486

7587
<!-- Force a rebuild on runtime files changes -->
7688
<ItemGroup Condition="'$(UnoRuntimeIdentifier)'!=''">
77-
<UpToDateCheckInput Include="$(MSBuildThisFileDirectory)/../../uno-runtime/*" />
89+
<UpToDateCheckInput Include="$(MSBuildThisFileDirectory)/uno-runtime/*" />
7890
</ItemGroup>
7991

8092

0 commit comments

Comments
 (0)