Merge pull request #9853 from hqueue/arm/ci_legs
[platform/upstream/coreclr.git] / tests / publishdependency.targets
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
4   <UsingTask TaskName="PrereleaseResolveNuGetPackageAssets" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll"/>
5   <ItemGroup>
6     <TestTargetFramework Include=".NETCoreApp,Version=v2.0">
7       <Folder>netcoreapp2.0</Folder>
8     </TestTargetFramework>
9   </ItemGroup>
10
11   <PropertyGroup>
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>
18   </PropertyGroup>
19
20   <ItemGroup>
21     <CoreRootProjectLockJsonFiles Include="$(SourceDir)Common\test_runtime\project.lock.json"/>
22     <CoreRootProjectLockJsonFiles Include="$(SourceDir)Common\test_dependencies\project.lock.json"/>
23   </ItemGroup>
24
25   <ItemGroup>
26     <NonWindowsProjectLockJsonFiles Include="@(CoreRootProjectLockJsonFiles)"/>
27     <NonWindowsProjectLockJsonFiles Include="$(SourceDir)Common\build_against_pkg_dependencies\project.lock.json"/>
28   </ItemGroup>
29
30   <ItemGroup>
31     <RefProjectLockJsonFiles Include="$(SourceDir)Common\targeting_pack_ref\project.lock.json"/>
32   </ItemGroup>
33
34   <ItemGroup>
35     <ProductProjectLockJsonFiles Include="$(SourceDir)Common\build_against_pkg_dependencies\project.lock.json"/>
36   </ItemGroup>
37
38   <ItemGroup>
39     <CrossGenFiles Include="..\packages\runtime.$(MinOSForArch)-$(PackagePlatform).Microsoft.NETCore.Runtime.CoreCLR\$(CoreClrPackageVersion)\tools\crossgen.exe"/>
40   </ItemGroup>
41
42   <PropertyGroup>
43     <ProductDestination>$(ProjectDir)\..\bin\Product\$(BuildOS).$(BuildArch).$(BuildType)</ProductDestination>
44     <RefDestination>$(ProductDestination)\ref</RefDestination>
45   </PropertyGroup>
46
47   <Target Name="CopyDependecyToCoreRoot"
48     Inputs="@(CoreRootProjectLockJsonFiles)"
49     Outputs="$(CORE_ROOT)\*.*">
50
51     <MSBuild Projects="$(SourceDir)Common\test_runtime\test_runtime.csproj"/>
52
53     <MSBuild Projects="$(SourceDir)Common\test_dependencies\test_dependencies.csproj"/>
54
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>
68     <ItemGroup>
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)/*" />
79     </ItemGroup>
80     
81     <Copy
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" />
90     </Copy>
91   </Target>
92
93   <Target Name="CopyNonWindowsDependecyToCoreRoot"
94     Inputs="@(NonWindowsProjectLockJsonFiles)"
95     Outputs="$(CORE_OVERLAY)\*.*">
96
97     <MSBuild Projects="$(SourceDir)Common\test_runtime\test_runtime.csproj"/>
98
99     <MSBuild Projects="$(SourceDir)Common\test_dependencies\test_dependencies.csproj"/>
100
101     <MSBuild Projects="$(SourceDir)Common\build_against_pkg_dependencies\build_against_pkg_dependencies.csproj"/>
102
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>
116     <ItemGroup>
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)')"  />
126     </ItemGroup>
127     
128     <Copy
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" />
137     </Copy>
138
139     <ItemGroup>
140       <NonWindowsCrossGenFiles Include="..\packages\runtime.$(RuntimeID).Microsoft.NETCore.Runtime.CoreCLR\$(CoreClrPackageVersion)\tools\crossgen"/>
141     </ItemGroup>
142
143     <Copy
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" />
152     </Copy>
153
154   </Target>
155
156   <Target Name="CopyDependencyToRef"
157     Inputs="@(RefProjectLockJsonFiles)"
158     Outputs="$(RefDestination)\*.*">
159
160     <MSBuild Projects="$(SourceDir)Common\targeting_pack_ref\targeting_pack_ref.csproj"/>
161
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>
175     
176     <Copy
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" />
185     </Copy>
186   </Target>
187
188   <Target Name="CopyDependencyToProduct"
189     Inputs="@(ProductProjectLockJsonFiles)"
190     Outputs="$(ProductDestination)\*.*">
191
192     <MSBuild Projects="$(SourceDir)Common\build_against_pkg_dependencies\build_against_pkg_dependencies.csproj"/>
193
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>
207     
208     <Copy
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" />
217     </Copy>
218   </Target>
219
220   <Target Name="CopyCrossgenToProduct"
221     Outputs="$(ProductDestination)\crossgen.exe;$(CORE_OVERLAY)\crossgen.exe">
222
223     <Copy
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" />
232     </Copy>
233
234   </Target>
235
236 </Project>