|
23 | 23 | <Copy SourceFiles="@(TraceDataCollectorArtifacts)" DestinationFolder="$(PublishDir)%(RecursiveDir)" /> |
24 | 24 |
|
25 | 25 | </Target> |
| 26 | + |
| 27 | + <PropertyGroup Condition="'$(NETCoreSdkVersion)' != ''"> |
| 28 | + <_msCoverageSdkNETCoreSdkVersion>$(NETCoreSdkVersion)</_msCoverageSdkNETCoreSdkVersion> |
| 29 | + <_msCoverageSdkNETCoreSdkVersion Condition="$(_msCoverageSdkNETCoreSdkVersion.Contains('-'))">$(_msCoverageSdkNETCoreSdkVersion.Split('-')[0])</_msCoverageSdkNETCoreSdkVersion> |
| 30 | + <_msCoverageSdkMinVersionWithDependencyTarget>6.0.100</_msCoverageSdkMinVersionWithDependencyTarget> |
| 31 | + <_msCoverageSourceRootTargetName>MsCoverageGetPathMap</_msCoverageSourceRootTargetName> |
| 32 | + <_msCoverageSourceRootTargetName Condition="'$([System.Version]::Parse($(_msCoverageSdkNETCoreSdkVersion)).CompareTo($([System.Version]::Parse($(_msCoverageSdkMinVersionWithDependencyTarget)))))' >= '0' ">InitializeSourceRootMappedPaths</_msCoverageSourceRootTargetName> |
| 33 | + </PropertyGroup> |
| 34 | + |
| 35 | + <!-- This target required to store deterministic sources mapping. |
| 36 | + It is modified version of https://github.com/coverlet-coverage/coverlet/blob/d1ca364b7dbff38abce0457d94c4ce1b7e3a4cd9/src/coverlet.collector/build/coverlet.collector.targets#L35 --> |
| 37 | + <Target Condition="'$(NETCoreSdkVersion)' != ''" Name="MsCoverageReferencedPathMaps" BeforeTargets="CoreCompile" DependsOnTargets="ResolveProjectReferences" > |
| 38 | + <MSBuild Projects="@(AnnotatedProjects->'%(FullPath)')" |
| 39 | + Targets="$(_msCoverageSourceRootTargetName)" |
| 40 | + Properties="TargetFramework=%(AnnotatedProjects.NearestTargetFramework)" |
| 41 | + SkipNonexistentTargets="true"> |
| 42 | + <Output TaskParameter="TargetOutputs" |
| 43 | + ItemName="_msCoverageLocalTopLevelSourceRoot" /> |
| 44 | + </MSBuild> |
| 45 | + <ItemGroup> |
| 46 | + <_msCoverageByProject Include="@(_msCoverageLocalTopLevelSourceRoot->'%(MSBuildSourceProjectFile)')" OriginalPath="%(Identity)" /> |
| 47 | + <_msCoverageMapping Include="@(_msCoverageByProject->'%(Identity)|%(OriginalPath)=%(MappedPath)')" /> |
| 48 | + </ItemGroup> |
| 49 | + <PropertyGroup> |
| 50 | + <_msCoverageSourceRootMappingFilePath>$([MSBuild]::EnsureTrailingSlash('$(OutputPath)')).msCoverageSourceRootsMapping_$(AssemblyName)</_msCoverageSourceRootMappingFilePath> |
| 51 | + </PropertyGroup> |
| 52 | + <WriteLinesToFile File="$(_msCoverageSourceRootMappingFilePath)" Lines="@(_msCoverageMapping)" |
| 53 | + Overwrite="true" Encoding="Unicode" |
| 54 | + Condition="'@(_msCoverageMapping)'!=''" |
| 55 | + WriteOnlyWhenDifferent="true" /> |
| 56 | + <ItemGroup> |
| 57 | + <FileWrites Include="$(_msCoverageSourceRootMappingFilePath)" Condition="'@(_msCoverageMapping)'!=''" /> |
| 58 | + </ItemGroup> |
| 59 | + </Target> |
26 | 60 | </Project> |
0 commit comments