Skip to content

Commit 209ff13

Browse files
authored
Move some targets into a Directory.Build.targets file (#39712)
- not used outside IIS testassets folder nits: - remove / update outdated comments - use `$(DotNetRoot)` property
1 parent fac5a30 commit 209ff13

File tree

4 files changed

+52
-52
lines changed

4 files changed

+52
-52
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<Project>
2+
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.targets))\Directory.Build.targets" />
3+
4+
<PropertyGroup>
5+
<!-- Work around until we get a new WebSdk -->
6+
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
7+
8+
<HasTestAssetProfile Condition="'$(TestAssetProfile)' != ''">true</HasTestAssetProfile>
9+
<TestAssetOutputName>$(MSBuildProjectName)</TestAssetOutputName>
10+
</PropertyGroup>
11+
12+
<Target Name="PreventProjectReferencesFromBuilding" BeforeTargets="BeforeResolveReferences" Condition="'@(TestAssetPublishProfile->Count())' != '0'">
13+
<PropertyGroup>
14+
<BuildProjectReferences Condition="'$(HasTestAssetProfile)' == 'true'">false</BuildProjectReferences>
15+
</PropertyGroup>
16+
</Target>
17+
18+
<Target Name="PrepareForTestAssetPublish" BeforeTargets="PrepareForPublish" Condition="'@(TestAssetPublishProfile->Count())' != '0'">
19+
<PropertyGroup Condition="'$(HasTestAssetProfile)' == 'true'">
20+
<PublishDir>$(PublishDir)\$(TestAssetOutputName)-$(TestAssetProfile)\</PublishDir>
21+
</PropertyGroup>
22+
23+
<PropertyGroup Condition="'$(HasTestAssetProfile)' != 'true'">
24+
<IsPublishable>false</IsPublishable>
25+
<IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled>
26+
</PropertyGroup>
27+
</Target>
28+
29+
<Target Name="PublishTestsAsset" DependsOnTargets="Publish" Returns="@(PublishedTestAsset)">
30+
<ConvertToAbsolutePath Paths="$(PublishDir)">
31+
<Output TaskParameter="AbsolutePaths" PropertyName="PublishAbsoluteDir" />
32+
</ConvertToAbsolutePath>
33+
34+
<ItemGroup>
35+
<PublishedTestAsset Include="$(TestAssetOutputName)-$(TestAssetProfile)" Path="$(PublishAbsoluteDir)" />
36+
</ItemGroup>
37+
</Target>
38+
39+
<Target Name="PublishTestsAssets" Condition="'$(TestAssetProfile)' == '' AND '@(TestAssetPublishProfile->Count())' != '0'" Returns="@(PublishedTestAsset)">
40+
<!-- Platform;PlatformTarget removal is to fix builds inside VS. -->
41+
<MSBuild Projects="$(MSBuildProjectFullPath)"
42+
Targets="PublishTestsAsset"
43+
RemoveProperties="Platform;PlatformTarget"
44+
Properties="PublishDir=$(PublishDir);TestAssetProfile=%(TestAssetPublishProfile.Identity);ReferenceTestTasks=false;%(TestAssetPublishProfile.Properties)">
45+
<Output TaskParameter="TargetOutputs" ItemName="PublishedTestAsset" />
46+
</MSBuild>
47+
</Target>
48+
</Project>

src/Servers/IIS/IIS/test/testassets/InProcessNewShimWebSite/InProcessNewShimWebSite.csproj

-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
2-
32
<Import Project="..\..\..\..\build\testsite.props" />
43

54
<PropertyGroup>
65
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
76
<AssemblyName>InProcessWebSite</AssemblyName>
8-
<TestAssetOutputName>InProcessNewShimWebSite</TestAssetOutputName>
97
<DefineConstants>FORWARDCOMPAT</DefineConstants>
108
<CompileUsingReferenceAssemblies>false</CompileUsingReferenceAssemblies>
119
<ImplicitUsings>disable</ImplicitUsings>
@@ -61,5 +59,4 @@
6159
</PackageReference>
6260
<Reference Include="xunit.assert" />
6361
</ItemGroup>
64-
6562
</Project>

src/Servers/IIS/build/testsite.props

+3-48
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,10 @@
11
<Project>
2-
32
<PropertyGroup>
43
<RuntimeIdentifiers>$(RuntimeIdentifiers);win-x64;win-x86</RuntimeIdentifiers>
54
<Platforms>x64;x86</Platforms>
65
<IISExpressAppHostConfig>$(MSBuildThisFileDirectory)applicationhost.config</IISExpressAppHostConfig>
76
<IISAppHostConfig>$(MSBuildThisFileDirectory)applicationhost.iis.config</IISAppHostConfig>
87
<PreserveCompilationContext>false</PreserveCompilationContext>
9-
<!-- Work around until we get a new WebSdk -->
10-
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
11-
<HasTestAssetProfile Condition="'$(TestAssetProfile)' != ''">true</HasTestAssetProfile>
12-
<TestAssetOutputName Condition="'$(TestAssetOutputName)' == ''">$(MSBuildProjectName)</TestAssetOutputName>
138
</PropertyGroup>
149

1510
<Import Project="assets.props" />
@@ -31,9 +26,9 @@
3126
<IISArguments>-h "$(IISAppHostConfig)"</IISArguments>
3227

3328
<AncmInProcessRHPath>aspnetcorev2_inprocess.dll</AncmInProcessRHPath>
34-
<!-- TODO: use LocalDotNetRoot instead to find dotnet.exe (see reporoot/Directory.Build.props). Requires a fix to https://github.com/dotnet/aspnetcore/issues/7196 -->
35-
<DotNetPath>$(RepoRoot).dotnet\dotnet.exe</DotNetPath>
36-
<DotNetPath Condition="'$(NativePlatform)' != 'x64'">$(RepoRoot).dotnet\$(NativePlatform)\dotnet.exe</DotNetPath>
29+
30+
<DotNetPath>$(DotNetRoot)dotnet.exe</DotNetPath>
31+
<DotNetPath Condition="'$(NativePlatform)' != 'x64'">$(DotNetRoot)$(NativePlatform)\dotnet.exe</DotNetPath>
3732
</PropertyGroup>
3833

3934
<Target Name="CopyLaunchSettings" AfterTargets="CoreBuild">
@@ -81,44 +76,4 @@
8176
DependsOnTargets="GeneratePublishDependencyFile;CopyFilesToPublishDirectory;PrepareInjectionApp">
8277
<Exec Command="$(InjectDepsApp) &quot;$(PublishDepsFilePath)&quot; $(RuntimeIdentifier) " />
8378
</Target>
84-
85-
<Target Name="PreventProjectReferencesFromBuilding" BeforeTargets="BeforeResolveReferences" Condition="'@(TestAssetPublishProfile->Count())' != '0'">
86-
<PropertyGroup>
87-
<BuildProjectReferences Condition="'$(HasTestAssetProfile)' == 'true'">false</BuildProjectReferences>
88-
</PropertyGroup>
89-
</Target>
90-
91-
<Target Name="PrepareForTestAssetPublish" BeforeTargets="PrepareForPublish" Condition="'@(TestAssetPublishProfile->Count())' != '0'">
92-
<PropertyGroup Condition="'$(HasTestAssetProfile)' == 'true'">
93-
<PublishDir>$(PublishDir)\$(TestAssetOutputName)-$(TestAssetProfile)\</PublishDir>
94-
</PropertyGroup>
95-
96-
<PropertyGroup Condition="'$(HasTestAssetProfile)' != 'true'">
97-
<IsPublishable>false</IsPublishable>
98-
<IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled>
99-
</PropertyGroup>
100-
</Target>
101-
102-
<Target Name="PublishTestsAsset" DependsOnTargets="Publish" Returns="@(PublishedTestAsset)">
103-
<ConvertToAbsolutePath Paths="$(PublishDir)">
104-
<Output TaskParameter="AbsolutePaths" PropertyName="PublishAbsoluteDir" />
105-
</ConvertToAbsolutePath>
106-
107-
<ItemGroup>
108-
<PublishedTestAsset Include="$(TestAssetOutputName)-$(TestAssetProfile)" Path="$(PublishAbsoluteDir)" />
109-
</ItemGroup>
110-
</Target>
111-
112-
<Target Name="PublishTestsAssets" Condition="'$(TestAssetProfile)' == '' AND '@(TestAssetPublishProfile->Count())' != '0'" Returns="@(PublishedTestAsset)">
113-
114-
<!--
115-
_InsidePublishTestsAssets is to avoid invoking this target recursively
116-
Platform;PlatformTarget removal is fix builds inside VS -->
117-
<MSBuild Projects="$(MSBuildProjectFullPath)"
118-
Targets="PublishTestsAsset"
119-
RemoveProperties="Platform;PlatformTarget"
120-
Properties="PublishDir=$(PublishDir);TestAssetProfile=%(TestAssetPublishProfile.Identity);ReferenceTestTasks=false;%(TestAssetPublishProfile.Properties)">
121-
<Output TaskParameter="TargetOutputs" ItemName="PublishedTestAsset" />
122-
</MSBuild>
123-
</Target>
12479
</Project>

src/Servers/testassets/Directory.Build.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
33

44
<PropertyGroup>
5-
<!-- Tests do not work on Helix or when bin/ directory is not in project directory due to undeclared dependency on test content. -->
5+
<!-- Local testing does not work when bin/ directory is not in project directory due to deployer expectations. -->
66
<BaseOutputPath />
77
<OutputPath />
88
</PropertyGroup>

0 commit comments

Comments
 (0)