78 lines
3.6 KiB
XML
78 lines
3.6 KiB
XML
<Project>
|
|
|
|
<!-- Item group has to be defined here becasue Helix.props is evaluated before xunit.runner.console.props -->
|
|
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
|
|
<HelixContent Condition="'$(XunitConsole472Path)' != ''" Include="$([System.IO.Path]::GetDirectoryName('$(XunitConsole472Path)'))/**/*" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Content Include="@(HelixContent)" />
|
|
</ItemGroup>
|
|
|
|
<!-- Build the actual helix work items to send to helix queues -->
|
|
<Target Name="CreateHelixPayload" Returns="@(HelixWorkItem)">
|
|
<ItemGroup>
|
|
<_TargetFrameworks Remove="@(_TargetFrameworks)" />
|
|
<_TargetFrameworks Include="$(TargetFrameworks);$(TargetFramework)" />
|
|
</ItemGroup>
|
|
|
|
<MSBuild Projects="$(MSBuildProjectFullPath)"
|
|
Targets="_CreateHelixPayloadInner"
|
|
Properties="TargetFramework=%(_TargetFrameworks.Identity);">
|
|
<Output TaskParameter="TargetOutputs" ItemName="HelixWorkItem" />
|
|
</MSBuild>
|
|
</Target>
|
|
|
|
<Target Name="_SetCreateHelixPayload">
|
|
<PropertyGroup>
|
|
<_SelectedPlatforms>@(HelixProjectPlatform)</_SelectedPlatforms>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- Include default queues based on platform -->
|
|
<_HelixProjectTargetQueue Include="%(HelixAvailibleTargetQueue.Identity)" Condition="'$(_SelectedPlatforms.Contains(%(Platform)))' == 'true' AND '%(EnableByDefault)' == 'true'" />
|
|
<!-- Unconditionally include queues defined by project -->
|
|
<_HelixProjectTargetQueue Include="%(HelixProjectTargetQueue.Identity)" />
|
|
|
|
<_HelixApplicableTargetQueue Include="%(_HelixProjectTargetQueue.Identity)" Condition="'%(Identity)' == '$(HelixTargetQueue)'" />
|
|
</ItemGroup>
|
|
|
|
<PropertyGroup>
|
|
<BuildHelixPayload Condition="'@(_HelixApplicableTargetQueue->Count())' == '0'">false</BuildHelixPayload>
|
|
</PropertyGroup>
|
|
|
|
</Target>
|
|
|
|
<Target Name="_PublishHelixArchive" DependsOnTargets="Publish" >
|
|
|
|
<ZipDirectory Condition="'$(HelixUseArchive)' == 'true'" SourceDirectory="$(PublishDir)" DestinationFile="$(PublishDir)../$(HelixTestName).zip" Overwrite="true" />
|
|
<RemoveDir Condition="'$(HelixUseArchive)' == 'true'" Directories="$(PublishDir)" />
|
|
|
|
</Target>
|
|
|
|
<Target Name="_CreateHelixWorkItem" Condition="$(BuildHelixPayload)">
|
|
|
|
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_PublishHelixArchive" RemoveProperties="HelixTargetQueue" />
|
|
|
|
<ConvertToAbsolutePath Paths="$(PublishDir)">
|
|
<Output TaskParameter="AbsolutePaths" PropertyName="PublishAbsoluteDir" />
|
|
</ConvertToAbsolutePath>
|
|
<ItemGroup>
|
|
<HelixWorkItem Include="$(HelixTestName)">
|
|
<PayloadArchive Condition="'$(HelixUseArchive)' == 'true'">$(PublishAbsoluteDir)../$(HelixTestName).zip</PayloadArchive>
|
|
<PayloadDirectory Condition="'$(HelixUseArchive)' == 'false'">$(PublishAbsoluteDir)</PayloadDirectory>
|
|
<TestAssembly>$(TargetFileName)</TestAssembly>
|
|
<PreCommands>@(HelixPreCommand)</PreCommands>
|
|
<PostCommands>@(HelixPostCommand)</PostCommands>
|
|
<Command Condition="$(IsWindowsHelixQueue)">call runtests.cmd $(TargetFileName) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppPackageVersion) $(HelixTargetQueue)</Command>
|
|
<Command Condition="!$(IsWindowsHelixQueue)">./runtests.sh $(TargetFileName) $(NETCoreSdkVersion) $(MicrosoftNETCoreAppPackageVersion) $(HelixTargetQueue)</Command>
|
|
<Timeout>$(HelixTimeout)</Timeout>
|
|
</HelixWorkItem>
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<Target Name="_CreateHelixPayloadInner" Returns="@(HelixWorkItem)" DependsOnTargets="_SetCreateHelixPayload;_CreateHelixWorkItem">
|
|
</Target>
|
|
|
|
</Project>
|