Skip to content

Commit 7ee4c2a

Browse files
authored
Merge pull request #3390 from dsplaisted/automatic-link-for-resource-and-page
Support automatic Link metadata for Page and Resource items
2 parents 96e6fc5 + ec02572 commit 7ee4c2a

File tree

7 files changed

+24
-0
lines changed

7 files changed

+24
-0
lines changed

src/Assets/TestProjects/LinkTest/LinkTest/LinkTest.csproj

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
<None Include="..\Linked\**\*.None.txt" LinkBase="Linked\Files" />
1111
<Content Include="..\Linked\**\*.Content.txt" LinkBase="Linked\Files" />
1212
<EmbeddedResource Include="..\Linked\**\*.Embedded.txt" LinkBase="Linked\Files" />
13+
<Page Include="..\Linked\**\*.page.xaml" LinkBase="Linked\Files" />
14+
<Resource Include="..\Linked\**\*.resource.xaml" LinkBase="Linked\Files" />
1315
<CustomItem Include="..\Linked\**\*.Custom.txt" LinkBase="Linked\Files" />
1416
</ItemGroup>
1517

@@ -19,6 +21,8 @@
1921
<None Include="..\Linked\**\*.None.txt" />
2022
<Content Include="..\Linked\**\*.Content.txt" />
2123
<EmbeddedResource Include="..\Linked\**\*.Embedded.txt" />
24+
<Page Include="..\Linked\**\*.page.xaml" />
25+
<Resource Include="..\Linked\**\*.resource.xaml" />
2226
<CustomItem Include="..\Linked\**\*.Custom.txt" />
2327
</ItemGroup>
2428

@@ -28,6 +32,8 @@
2832
<None Include="..\Linked\Linked.None.txt" LinkBase="Linked\Files"/>
2933
<Content Include="..\Linked\Linked.Content.txt" LinkBase="Linked\Files"/>
3034
<EmbeddedResource Include="..\Linked\Linked.Embedded.txt" LinkBase="Linked\Files"/>
35+
<Page Include="..\Linked\Linked.page.xaml" LinkBase="Linked\Files"/>
36+
<Resource Include="..\Linked\Linked.resource.xaml" LinkBase="Linked\Files"/>
3137
<CustomItem Include="..\Linked\*Linked.Custom.txt" LinkBase="Linked\Files"/>
3238
</ItemGroup>
3339

@@ -37,6 +43,8 @@
3743
<None Include="..\Linked\Linked.None.txt" />
3844
<Content Include="..\Linked\Linked.Content.txt" />
3945
<EmbeddedResource Include="..\Linked\Linked.Embedded.txt" />
46+
<Page Include="..\Linked\Linked.page.xaml" />
47+
<Resource Include="..\Linked\Linked.resource.xaml" />
4048
<CustomItem Include="..\Linked\*Linked.Custom.txt" />
4149
</ItemGroup>
4250

@@ -48,6 +56,8 @@
4856
<LinesToWrite Include="None%09%(None.FullPath)%09%(None.Link)" />
4957
<LinesToWrite Include="Content%09%(Content.FullPath)%09%(Content.Link)" />
5058
<LinesToWrite Include="EmbeddedResource%09%(EmbeddedResource.FullPath)%09%(EmbeddedResource.Link)" />
59+
<LinesToWrite Include="Page%09%(Page.FullPath)%09%(Page.Link)" />
60+
<LinesToWrite Include="Resource%09%(Resource.FullPath)%09%(Resource.Link)" />
5161
<LinesToWrite Include="CustomItem%09%(CustomItem.FullPath)%09%(CustomItem.Link)" />
5262
</ItemGroup>
5363

src/Assets/TestProjects/LinkTest/Linked/A/B C/Linked.page.xaml

Whitespace-only changes.

src/Assets/TestProjects/LinkTest/Linked/A/B C/Linked.resource.xaml

Whitespace-only changes.

src/Assets/TestProjects/LinkTest/Linked/Linked.page.xaml

Whitespace-only changes.

src/Assets/TestProjects/LinkTest/Linked/Linked.resource.xaml

Whitespace-only changes.

src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.targets

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,16 @@ Copyright (c) .NET Foundation. All rights reserved.
237237
<LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
238238
<Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
239239
</EmbeddedResource>
240+
241+
<Page Update="@(Page)">
242+
<LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
243+
<Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
244+
</Page>
245+
246+
<Resource Update="@(Resource)">
247+
<LinkBase Condition="'%(LinkBase)' != ''">$([MSBuild]::EnsureTrailingSlash(%(LinkBase)))</LinkBase>
248+
<Link Condition="'%(Link)' == '' And '%(DefiningProjectExtension)' != '.projitems' And !$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith($([MSBuild]::EnsureTrailingSlash($(MSBuildProjectDirectory)))))">%(LinkBase)%(RecursiveDir)%(Filename)%(Extension)</Link>
249+
</Resource>
240250
</ItemGroup>
241251

242252
<UsingTask TaskName="CheckForImplicitPackageReferenceOverrides" AssemblyFile="$(MicrosoftNETBuildTasksAssembly)" />

src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToIncludeItemsOutsideTheProjectFolder.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ public void Link_metadata_is_added_to_items_outside_the_project_folder(bool incl
7575
["None"] = new List<string>() { @"..\Linked\Linked.None.txt" },
7676
["Content"] = new List<string>() { @"..\Linked\Linked.Content.txt" },
7777
["EmbeddedResource"] = new List<string>() { @"..\Linked\Linked.Embedded.txt" },
78+
["Page"] = new List<string>() { @"..\Linked\Linked.page.xaml" },
79+
["Resource"] = new List<string>() { @"..\Linked\Linked.resource.xaml" },
7880
["CustomItem"] = new List<string>() { @"..\Linked\Linked.Custom.txt" },
7981
};
8082

@@ -85,6 +87,8 @@ public void Link_metadata_is_added_to_items_outside_the_project_folder(bool incl
8587
expectedItems["None"].Add(@"..\Linked\A\B C\Linked.None.txt");
8688
expectedItems["Content"].Add(@"..\Linked\A\B C\Linked.Content.txt");
8789
expectedItems["EmbeddedResource"].Add(@"..\Linked\A\B C\Linked.Embedded.txt");
90+
expectedItems["Page"].Add(@"..\Linked\A\B C\Linked.page.xaml");
91+
expectedItems["Resource"].Add(@"..\Linked\A\B C\Linked.resource.xaml");
8892
expectedItems["CustomItem"].Add(@"..\Linked\A\B C\Linked.Custom.txt");
8993
}
9094

0 commit comments

Comments
 (0)