1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4 <UsingTask TaskName="PrereleaseResolveNuGetPackageAssets" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll"/>
6 <TestTargetFramework Include=".NETCoreApp,Version=v2.0">
7 <Folder>netcoreapp2.0</Folder>
12 <!-- defined in buildtools packaging.targets, but we need this before targets are imported -->
13 <PackagePlatform Condition="'$(PackagePlatform)' == ''">$(__BuildArch)</PackagePlatform>
14 <PackagePlatform Condition="'$(PackagePlatform)' == 'amd64'">x64</PackagePlatform>
15 <MinOSForArch>win7</MinOSForArch>
16 <MinOSForArch Condition="'$(PackagePlatform)' == 'arm'">win8</MinOSForArch>
17 <MinOSForArch Condition="'$(PackagePlatform)' == 'arm64'">win10</MinOSForArch>
21 <CoreRootProjectLockJsonFiles Include="$(SourceDir)Common\test_runtime\project.lock.json"/>
22 <CoreRootProjectLockJsonFiles Include="$(SourceDir)Common\test_dependencies\project.lock.json"/>
26 <NonWindowsProjectLockJsonFiles Include="@(CoreRootProjectLockJsonFiles)"/>
27 <NonWindowsProjectLockJsonFiles Include="$(SourceDir)Common\build_against_pkg_dependencies\project.lock.json"/>
31 <RefProjectLockJsonFiles Include="$(SourceDir)Common\targeting_pack_ref\project.lock.json"/>
35 <ProductProjectLockJsonFiles Include="$(SourceDir)Common\build_against_pkg_dependencies\project.lock.json"/>
39 <CrossGenFiles Include="..\packages\runtime.$(MinOSForArch)-$(PackagePlatform).Microsoft.NETCore.Runtime.CoreCLR\$(CoreClrPackageVersion)\tools\crossgen.exe"/>
43 <ProductDestination>$(ProjectDir)\..\bin\Product\$(BuildOS).$(BuildArch).$(BuildType)</ProductDestination>
44 <RefDestination>$(ProductDestination)\ref</RefDestination>
47 <Target Name="CopyDependecyToCoreRoot"
48 Inputs="@(CoreRootProjectLockJsonFiles)"
49 Outputs="$(CORE_ROOT)\*.*">
51 <MSBuild Projects="$(SourceDir)Common\test_runtime\test_runtime.csproj"/>
53 <MSBuild Projects="$(SourceDir)Common\test_dependencies\test_dependencies.csproj"/>
55 <!-- This will use the overridden PrereleaseResolveNuGetPackageAssets, which outputs copy local items
56 for the xunit wrapper projects -->
57 <PrereleaseResolveNuGetPackageAssets AllowFallbackOnTargetSelection="false"
58 IncludeFrameworkReferences="false"
59 NuGetPackagesDirectory="$(PackagesDir)"
60 RuntimeIdentifier="$(TestNugetRuntimeId)"
61 ProjectLanguage="$(Language)"
62 ProjectLockFile="%(CoreRootProjectLockJsonFiles.Identity)"
63 TargetMonikers="@(TestTargetFramework)">
64 <Output TaskParameter="ResolvedAnalyzers" ItemName="Analyzer" />
65 <Output TaskParameter="ResolvedReferences" ItemName="Reference" />
66 <Output TaskParameter="ResolvedCopyLocalItems" ItemName="RunTimeCopyLocal" />
67 </PrereleaseResolveNuGetPackageAssets>
69 <RunTimeDependecyExclude Include="$(CORE_ROOT)\**\*.*" />
70 <RunTimeDependecyExcludeFiles Include="@(RunTimeDependecyExclude -> '%(FileName)%(Extension)')" />
71 <RunTimeDependecyExcludeFiles Include="@(RunTimeDependecyExclude -> '%(FileName).ni%(Extension)')" />
72 <RunTimeDependecyExcludeFiles Include="@(RunTimeDependecyExclude -> '%(FileName).pdb')" />
73 <AllResolvedRuntimeDependencies Include="@(RunTimeCopyLocal -> '%(FileName)%(Extension)')">
74 <File>%(Identity)</File>
75 </AllResolvedRuntimeDependencies>
76 <RunTimeDependecyCopyLocalFile Include="@(AllResolvedRuntimeDependencies)" Exclude="@(RunTimeDependecyExcludeFiles)"/>
77 <RunTimeDependecyCopyLocal Include="@(RunTimeDependecyCopyLocalFile -> '%(File)')" />
78 <RunTimeDependecyCopyLocal Include="$(TargetingPackPath)/*" />
82 SourceFiles="@(RunTimeDependecyCopyLocal)"
83 DestinationFolder="$(CORE_ROOT)"
84 SkipUnchangedFiles="$(SkipCopyUnchangedFiles)"
85 OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"
86 Retries="$(CopyRetryCount)"
87 RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"
88 UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)">
89 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
93 <Target Name="CopyNonWindowsDependecyToCoreRoot"
94 Inputs="@(NonWindowsProjectLockJsonFiles)"
95 Outputs="$(CORE_OVERLAY)\*.*">
97 <MSBuild Projects="$(SourceDir)Common\test_runtime\test_runtime.csproj"/>
99 <MSBuild Projects="$(SourceDir)Common\test_dependencies\test_dependencies.csproj"/>
101 <MSBuild Projects="$(SourceDir)Common\build_against_pkg_dependencies\build_against_pkg_dependencies.csproj"/>
103 <!-- This will use the overridden PrereleaseResolveNuGetPackageAssets, which outputs copy local items
104 for the xunit wrapper projects -->
105 <PrereleaseResolveNuGetPackageAssets AllowFallbackOnTargetSelection="true"
106 IncludeFrameworkReferences="false"
107 NuGetPackagesDirectory="$(PackagesDir)"
108 RuntimeIdentifier="$(RuntimeId)"
109 ProjectLanguage="$(Language)"
110 ProjectLockFile="%(NonWindowsProjectLockJsonFiles.Identity)"
111 TargetMonikers="@(TestTargetFramework)">
112 <Output TaskParameter="ResolvedAnalyzers" ItemName="Analyzer" />
113 <Output TaskParameter="ResolvedReferences" ItemName="Reference" />
114 <Output TaskParameter="ResolvedCopyLocalItems" ItemName="RunTimeCopyLocal" />
115 </PrereleaseResolveNuGetPackageAssets>
117 <RunTimeDependecyExclude Include="$(CORE_OVERLAY)\**\*.*" />
118 <RunTimeDependecyExcludeFiles Include="@(RunTimeDependecyExclude -> '%(FileName)%(Extension)')" />
119 <RunTimeDependecyExcludeFiles Include="@(RunTimeDependecyExclude -> '%(FileName).ni%(Extension)')" />
120 <RunTimeDependecyExcludeFiles Include="@(RunTimeDependecyExclude -> '%(FileName).pdb')" />
121 <AllResolvedRuntimeDependencies Include="@(RunTimeCopyLocal -> '%(FileName)%(Extension)')">
122 <File>%(Identity)</File>
123 </AllResolvedRuntimeDependencies>
124 <RunTimeDependecyCopyLocalFile Include="@(AllResolvedRuntimeDependencies)" Exclude="@(RunTimeDependecyExcludeFiles)"/>
125 <RunTimeDependecyCopyLocal Include="@(RunTimeDependecyCopyLocalFile -> '%(File)')" />
129 SourceFiles="@(RunTimeDependecyCopyLocal)"
130 DestinationFolder="$(CORE_OVERLAY)"
131 SkipUnchangedFiles="$(SkipCopyUnchangedFiles)"
132 OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"
133 Retries="$(CopyRetryCount)"
134 RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"
135 UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)">
136 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
140 <NonWindowsCrossGenFiles Include="..\packages\runtime.$(RuntimeID).Microsoft.NETCore.Runtime.CoreCLR\$(CoreClrPackageVersion)\tools\crossgen"/>
144 SourceFiles="@(NonWindowsCrossGenFiles)"
145 DestinationFolder="$(CORE_OVERLAY)"
146 SkipUnchangedFiles="$(SkipCopyUnchangedFiles)"
147 OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"
148 Retries="$(CopyRetryCount)"
149 RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"
150 UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)">
151 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
156 <Target Name="CopyDependencyToRef"
157 Inputs="@(RefProjectLockJsonFiles)"
158 Outputs="$(RefDestination)\*.*">
160 <MSBuild Projects="$(SourceDir)Common\targeting_pack_ref\targeting_pack_ref.csproj"/>
162 <!-- This will use the overridden PrereleaseResolveNuGetPackageAssets, which outputs copy local items
163 for the xunit wrapper projects -->
164 <PrereleaseResolveNuGetPackageAssets AllowFallbackOnTargetSelection="true"
165 IncludeFrameworkReferences="false"
166 NuGetPackagesDirectory="$(PackagesDir)"
167 RuntimeIdentifier="$(TestNugetRuntimeId)"
168 ProjectLanguage="$(Language)"
169 ProjectLockFile="%(RefProjectLockJsonFiles.Identity)"
170 TargetMonikers="@(TestTargetFramework)">
171 <Output TaskParameter="ResolvedAnalyzers" ItemName="RefAnalyzer" />
172 <Output TaskParameter="ResolvedReferences" ItemName="RefReference" />
173 <Output TaskParameter="ResolvedCopyLocalItems" ItemName="RefRunTimeCopyLocal" />
174 </PrereleaseResolveNuGetPackageAssets>
177 SourceFiles="@(RefRunTimeCopyLocal)"
178 DestinationFolder="$(RefDestination)"
179 SkipUnchangedFiles="$(SkipCopyUnchangedFiles)"
180 OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"
181 Retries="$(CopyRetryCount)"
182 RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"
183 UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)">
184 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
188 <Target Name="CopyDependencyToProduct"
189 Inputs="@(ProductProjectLockJsonFiles)"
190 Outputs="$(ProductDestination)\*.*">
192 <MSBuild Projects="$(SourceDir)Common\build_against_pkg_dependencies\build_against_pkg_dependencies.csproj"/>
194 <!-- This will use the overridden PrereleaseResolveNuGetPackageAssets, which outputs copy local items
195 for the xunit wrapper projects -->
196 <PrereleaseResolveNuGetPackageAssets AllowFallbackOnTargetSelection="true"
197 IncludeFrameworkReferences="false"
198 NuGetPackagesDirectory="$(PackagesDir)"
199 RuntimeIdentifier="$(TestNugetRuntimeId)"
200 ProjectLanguage="$(Language)"
201 ProjectLockFile="%(ProductProjectLockJsonFiles.Identity)"
202 TargetMonikers="@(TestTargetFramework)">
203 <Output TaskParameter="ResolvedAnalyzers" ItemName="RefAnalyzer" />
204 <Output TaskParameter="ResolvedReferences" ItemName="RefReference" />
205 <Output TaskParameter="ResolvedCopyLocalItems" ItemName="RefRunTimeCopyLocal" />
206 </PrereleaseResolveNuGetPackageAssets>
209 SourceFiles="@(RefRunTimeCopyLocal)"
210 DestinationFolder="$(ProductDestination)"
211 SkipUnchangedFiles="$(SkipCopyUnchangedFiles)"
212 OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"
213 Retries="$(CopyRetryCount)"
214 RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"
215 UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)">
216 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
220 <Target Name="CopyCrossgenToProduct"
221 Outputs="$(ProductDestination)\crossgen.exe;$(CORE_OVERLAY)\crossgen.exe">
224 SourceFiles="@(CrossGenFiles)"
225 DestinationFolder="$(ProductDestination)"
226 SkipUnchangedFiles="$(SkipCopyUnchangedFiles)"
227 OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"
228 Retries="$(CopyRetryCount)"
229 RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"
230 UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)">
231 <Output TaskParameter="DestinationFiles" ItemName="FileWrites" />