Skip to content

Integrate OpenCover and codecov.io for code coverage #1616

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Mar 16, 2018
Merged
4 changes: 4 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
<Project>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<Import Project="build\NuGet.props"/>
<Import Project="build\Versions.props"/>
<Import Project="build\RepoToolset\RestoreSources.props"/>
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Pre-release builds are available on MyGet gallery: https://dotnet.myget.org/Gall

| |Windows Debug|Windows Release|
|:--------:|:-----------:|:-------------:|
|**master**|[![Build Status](https://ci.dot.net/job/dotnet_roslyn-analyzers/job/master/job/windows_debug/badge/icon)](https://ci.dot.net/job/dotnet_roslyn-analyzers/job/master/job/windows_debug/)|[![Build Status](https://ci.dot.net/job/dotnet_roslyn-analyzers/job/master/job/windows_release/badge/icon)](https://ci.dot.net/job/dotnet_roslyn-analyzers/job/master/job/windows_release/)|
|**master**|[![Build Status](https://ci.dot.net/job/dotnet_roslyn-analyzers/job/master/job/windows_debug/badge/icon)](https://ci.dot.net/job/dotnet_roslyn-analyzers/job/master/job/windows_debug/) [![codecov](https://codecov.io/gh/dotnet/roslyn-analyzers/branch/master/graph/badge.svg)](https://codecov.io/gh/dotnet/roslyn-analyzers)|[![Build Status](https://ci.dot.net/job/dotnet_roslyn-analyzers/job/master/job/windows_release/badge/icon)](https://ci.dot.net/job/dotnet_roslyn-analyzers/job/master/job/windows_release/)|

[//]: # (End current test results)

Expand Down
31 changes: 31 additions & 0 deletions build/Codecov.proj
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<PropertyGroup>
<RepoRoot>$(MSBuildThisFileDirectory)..\</RepoRoot>
</PropertyGroup>

<Import Project="Versions.props" />
<Import Project="RepoToolset\ProjectLayout.props" />

<Target Name="Codecov">
<PropertyGroup Condition="'$(UseCodecov)' == 'true'">
<_CodecovPath>$(NuGetPackageRoot)codecov\$(CodecovVersion)\tools\Codecov.exe</_CodecovPath>
</PropertyGroup>

<ItemGroup Condition="'$(UseCodecov)' == 'true'">
<_CoverageReports Include="$(ArtifactsTestResultsDir)*.coverage" />

<_CodecovArgs Include="-f;@(_CoverageReports)" />
<_CodecovArgs Include="-r;$(QualifiedRepoName)" Condition="'$(QualifiedRepoName)' != ''" />
<_CodecovArgs Include="--pr;$(ghprbPullId)" Condition="'$(ghprbPullId)' != ''" />
<_CodecovArgs Include="-b;$(BUILD_NUMBER)" Condition="'$(BUILD_NUMBER)' != ''" />
<_CodecovArgs Include="--branch;$(ghprbTargetBranch)" Condition="'$(ghprbTargetBranch)' != ''" />
<_CodecovArgs Include="-c;$(ghprbActualCommit)" Condition="'$(ghprbActualCommit)' != ''" />
<_CodecovArgs Include="-n;$(JOB_NAME)" Condition="'$(JOB_NAME)' != ''" />
<_CodecovArgs Include="--flag;$(Configuration)" Condition="'$(Configuration)' != ''" />
</ItemGroup>

<Exec Condition="'$(UseCodecov)' == 'true'"
Command="&quot;$(_CodecovPath)&quot; @(_CodecovArgs, ' ')" />
</Target>
</Project>
4 changes: 4 additions & 0 deletions build/GenerateAnalyzerNuspec.targets
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
<Project>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<PropertyGroup>
<NuspecFile>$(IntermediateOutputPath)$(NuspecPackageId).nuspec</NuspecFile>
<NuspecBasePath>$(ArtifactsBinDir)</NuspecBasePath>
Expand Down
4 changes: 4 additions & 0 deletions build/NuGet.props
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
<Project>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<PropertyGroup>
<!-- Respect environment variable for the NuGet Packages Root if set; otherwise, use the current default location -->
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == ''">$(NUGET_PACKAGES)</NuGetPackageRoot>
Expand Down
5 changes: 4 additions & 1 deletion build/Toolset.proj
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net462</TargetFramework>
<RestoreSources>https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json</RestoreSources>
<RestoreSources>https://api.nuget.org/v3/index.json;https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json;https://dotnet.myget.org/F/symreader-converter/api/v3/index.json</RestoreSources>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="RoslynTools.RepoToolset" Version="$(RoslynToolsRepoToolsetVersion)" />
<PackageReference Include="Codecov" Version="$(CodecovVersion)" />
<PackageReference Include="OpenCover" Version="$(OpenCoverVersion)" />
<PackageReference Include="Microsoft.DiaSymReader.Pdb2Pdb" Version="$(MicrosoftDiaSymReaderPdb2PdbVersion)" />
</ItemGroup>
</Project>
7 changes: 7 additions & 0 deletions build/Versions.props
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
<Project>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<PropertyGroup>
<VersionBase>2.6.1</VersionBase>
<PreReleaseVersionLabel>beta1</PreReleaseVersionLabel>
Expand All @@ -10,6 +14,9 @@
<RoslynToolsRepoToolsetVersion>1.0.0-beta-62615-02</RoslynToolsRepoToolsetVersion>
<VSWhereVersion>2.1.4</VSWhereVersion>
<MicrosoftVSSDKVersion>15.0.26201-alpha</MicrosoftVSSDKVersion>
<MicrosoftDiaSymReaderPdb2PdbVersion>1.1.0-beta1-62624-01</MicrosoftDiaSymReaderPdb2PdbVersion>
<OpenCoverVersion>4.6.519</OpenCoverVersion>
<CodecovVersion>1.0.3</CodecovVersion>

<!-- Roslyn -->
<MicrosoftCodeAnalysisVersion>2.6.0</MicrosoftCodeAnalysisVersion>
Expand Down
9 changes: 8 additions & 1 deletion build/build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,15 @@ function Build {
}

$nodeReuse = !$ci
$useCodecov = $ci -and $env:CODECOV_TOKEN -and ($configuration -eq 'Debug')
$useOpenCover = $useCodecov

& $MsbuildExe $ToolsetBuildProj /m /nologo /clp:Summary /nodeReuse:$nodeReuse /warnaserror /v:$verbosity $logCmd /p:Configuration=$configuration /p:SolutionPath=$solution /p:Restore=$restore /p:DeployDeps=$deployDeps /p:Build=$build /p:Rebuild=$rebuild /p:Deploy=$deploy /p:Test=$test /p:IntegrationTest=$integrationTest /p:Sign=$sign /p:Pack=$pack /p:CIBuild=$ci /p:NuGetPackageRoot=$NuGetPackageRoot $properties
& $MsbuildExe $ToolsetBuildProj /m /nologo /clp:Summary /nodeReuse:$nodeReuse /warnaserror /v:$verbosity $logCmd /p:Configuration=$configuration /p:SolutionPath=$solution /p:Restore=$restore /p:DeployDeps=$deployDeps /p:Build=$build /p:Rebuild=$rebuild /p:Deploy=$deploy /p:Test=$test /p:IntegrationTest=$integrationTest /p:Sign=$sign /p:Pack=$pack /p:UseCodecov=$useCodecov /p:UseOpenCover=$useOpenCover /p:CIBuild=$ci /p:NuGetPackageRoot=$NuGetPackageRoot $properties

if ($useCodecov) {
$CodecovProj = Join-Path $PSScriptRoot 'Codecov.proj'
& $MsbuildExe $CodecovProj /m /nologo /clp:Summary /nodeReuse:$nodeReuse /warnaserror /v:diag /t:Codecov /p:Configuration=$configuration /p:UseCodecov=$useCodecov /p:NuGetPackageRoot=$NuGetPackageRoot $properties
}
}

function Stop-Processes() {
Expand Down
14 changes: 14 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# https://docs.codecov.io/docs/codecov-yaml
# https://github.com/codecov/support/wiki/Codecov-Yaml

coverage:
status:
project:
default: false
patch:
default: false
fixes:
- "build/src/::src/"

comment:
layout: "diff, flags, files, footer"
4 changes: 4 additions & 0 deletions nuget/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
<Project>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<Import Project="..\Directory.Build.props"/>
<Import Project="$(RepoToolsetDir)Settings.props" Condition="Exists('$(RepoToolsetDir)Settings.props')" />
</Project>
4 changes: 4 additions & 0 deletions nuget/Directory.Build.targets
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
<Project>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<Import Project="$(RepoRoot)build\GenerateAnalyzerNuspec.targets" Condition="'$(IsPackable)' == 'true'"/>

<!-- Nothing to build, just create packages -->
Expand Down
4 changes: 4 additions & 0 deletions src/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
<Project>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<Import Project="..\Directory.Build.props"/>
<Import Project="$(RepoToolsetDir)Settings.props" Condition="Exists('$(RepoToolsetDir)Settings.props')" />

Expand Down
120 changes: 119 additions & 1 deletion src/Directory.Build.targets
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
<Project>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<!--
Resx files are already included by the SDK.
Update them with GenerateSource property to process them by GenerateResxSource target
Expand All @@ -10,5 +14,119 @@
<EmbeddedResource Update="**\*.resx" GenerateSource="true" />
</ItemGroup>

<Import Project="$(RepoToolsetDir)Imports.targets" Condition="Exists('$(RepoToolsetDir)Imports.targets')" />
<ItemGroup>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This adds significant amount of infrastructure code, which smells like something that should probably belong to RepoToolset, instead of individual repos? Are we planning to eventually move this code over?
@tmat is probably the correct person to review and comment on these changes.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It needs to get cleaned up, and the core functionality needs to be incorporated into RepoToolset.

I should read the PR description properly :-). Are we planning to merge in this change and revert once the functionality is in RepoToolset or wait for a RepoToolset package with this functionality before cleaning and merging this PR?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I should read the PR description properly :-). Are we planning to merge in this change and revert once the functionality is in RepoToolset or wait for a RepoToolset package with this functionality before cleaning and merging this PR?

I would like to get it merged so we can get a better understanding of how this configuration of codecov.io works with our development process. Any tweaks we make can be included in dotnet/roslyn-tools#170 before it gets merged.

<!-- Workaround for https://github.com/dotnet/project-system/issues/2374 -->
<UpToDateCheckInput Include="$(CodeAnalysisRuleSet)" Condition="'$(CodeAnalysisRuleSet)' != ''" />

<!-- Include the shipping rules explicitly when they are imported by the non-shipping rules -->
<!-- Additional workaround for https://github.com/dotnet/project-system/issues/2374 -->
<UpToDateCheckInput Include="$(MSBuildThisFileDirectory)..\build\Analyzers_ShippingRules.ruleset" Condition="'$(CodeAnalysisRuleSet)' == '$(MSBuildThisFileDirectory)..\build\Analyzers_NonShippingRules.ruleset'" />
</ItemGroup>

<PropertyGroup>
<!-- Workaround for https://github.com/dotnet/roslyn/issues/25041 -->
<MSBuildAllProjects Condition="'$(CodeAnalysisRuleSet)' == '$(MSBuildThisFileDirectory)..\build\Analyzers_NonShippingRules.ruleset'">$(MSBuildAllProjects);$(MSBuildThisFileDirectory)..\build\Analyzers_ShippingRules.ruleset</MSBuildAllProjects>
</PropertyGroup>

<ItemGroup>
<!-- Workaround for https://github.com/xunit/xunit/issues/1651 -->
<None Remove="$(NuGetPackageRoot)xunit.runner.visualstudio\$(XUnitRunnerVisualStudioVersion)\build\net20\..\_common\xunit.abstractions.dll" />
</ItemGroup>

<Import Project="$(RepoToolsetDir)Imports.targets" Condition="Exists('$(RepoToolsetDir)Imports.targets')" />

<!-- Using Inputs/Outputs just to loop over test architectures -->
<Target Name="InnerTest" Inputs="*%(_TestArchitectureItems.Identity)" Outputs="*%(_TestArchitectureItems.Identity)" Returns="@(_FailedTestRuns)">

<PropertyGroup>
<_TestArchitecture>%(_TestArchitectureItems.Identity)</_TestArchitecture>
<_TestEnvironment>$(TargetFramework)|$(_TestArchitecture)</_TestEnvironment>
<_TestOutPathNoExt>$(ArtifactsTestResultsDir)$(MSBuildProjectName)_$(TargetFramework)_$(_TestArchitecture)</_TestOutPathNoExt>
<_TestStdOutPath>$(_TestOutPathNoExt).log</_TestStdOutPath>
<_TestResultsXmlPath>$(_TestOutPathNoExt).xml</_TestResultsXmlPath>
<_TestResultsHtmlPath>$(_TestOutPathNoExt).html</_TestResultsHtmlPath>
<_TestResultsOpenCoverPath>$(_TestOutPathNoExt).coverage</_TestResultsOpenCoverPath>
<_RunOnCore>false</_RunOnCore>
<_RunOnCore Condition="$(TargetFramework.StartsWith('netcoreapp'))">true</_RunOnCore>
<_UseOpenCover>$(UseOpenCover)</_UseOpenCover>
<_UseOpenCover Condition="'$(_RunOnCore)' == 'true'">false</_UseOpenCover>
</PropertyGroup>

<Error Text="Architecture specified in TestArchitectures is not supported: '$(_TestArchitecture)'" File="XUnit"
Condition="'$(_TestArchitecture)' != 'x64' and ('$(_TestArchitecture)' != 'x86' or $(_RunOnCore))"/>

<PropertyGroup Condition="'$(_RunOnCore)' == 'true'">
<_TargetFileNameNoExt>$([System.IO.Path]::GetFileNameWithoutExtension('$(TargetFileName)'))</_TargetFileNameNoExt>
<_CoreRuntimeConfigPath>$(TargetDir)$(_TargetFileNameNoExt).runtimeconfig.json</_CoreRuntimeConfigPath>
<_CoreDepsPath>$(TargetDir)$(_TargetFileNameNoExt).deps.json</_CoreDepsPath>

<!-- TODO: xUnit doesn't support -html on CoreCLR currently (see https://github.com/xunit/xunit/issues/977) -->
<_TestRunnerCommand>"$(DotNetTool)" exec --depsfile "$(_CoreDepsPath)" --runtimeconfig "$(_CoreRuntimeConfigPath)" "$(NuGetPackageRoot)xunit.runner.console/$(XUnitVersion)/tools/netcoreapp1.0/xunit.console.dll" "$(TargetPath)" -noautoreporters -xml "$(_TestResultsXmlPath)" $(XUnitRunnerAdditionalArguments)</_TestRunnerCommand>
<_TestResultsDisplayPath>$(_TestStdOutPath)</_TestResultsDisplayPath>
</PropertyGroup>

<!-- Extract PDBs from binaries -->
<ItemGroup Condition="'$(_UseOpenCover)' == 'true'">
<_BinariesInTestDirectory Include="$(TargetDir)*.dll" />
<_BinariesInTestDirectory Update="@(_BinariesInTestDirectory)" IntermediatePdb="%(RootDir)%(Directory)%(Filename).ppdb" />
</ItemGroup>

<PropertyGroup Condition="'$(_UseOpenCover)' == 'true'">
<_PdbConverterPath>$(NuGetPackageRoot)microsoft.diasymreader.pdb2pdb\$(MicrosoftDiaSymReaderPdb2PdbVersion)\tools\Pdb2Pdb.exe</_PdbConverterPath>
</PropertyGroup>

<Exec Command="&quot;$(_PdbConverterPath)&quot; &quot;%(_BinariesInTestDirectory.Identity)&quot; /out &quot;%(_BinariesInTestDirectory.IntermediatePdb)&quot; /extract"
Condition="'$(_UseOpenCover)' == 'true'"
IgnoreExitCode="true" />

<!-- Convert portable PDBs to Windows PDBs for OpenCover -->
<ItemGroup Condition="'$(_UseOpenCover)' == 'true'">
<_PortablePdb Include="$(TargetDir)*.ppdb" />
<_PortablePdb Update="@(_PortablePdb)" Binary="%(RootDir)%(Directory)%(Filename).dll" OutputPdb="%(RootDir)%(Directory)%(Filename).pdb" />
</ItemGroup>

<Exec Command="&quot;$(_PdbConverterPath)&quot; &quot;%(_PortablePdb.Binary)&quot; /pdb &quot;%(_PortablePdb.Identity)&quot; /out &quot;%(_PortablePdb.OutputPdb)&quot;"
Condition="'$(_UseOpenCover)' == 'true'" />

<PropertyGroup Condition="'$(_RunOnCore)' != 'true'">
<_XUnitConsoleExe>xunit.console.exe</_XUnitConsoleExe>
<_XUnitConsoleExe Condition="'$(_TestArchitecture)' == 'x86'">xunit.console.x86.exe</_XUnitConsoleExe>
<_XUnitRunnerCommand>$(NuGetPackageRoot)xunit.runner.console\$(XUnitVersion)\tools\net452\$(_XUnitConsoleExe)</_XUnitRunnerCommand>
<_XUnitRunnerCommandArgs>"$(TargetPath)" -noshadow -xml "$(_TestResultsXmlPath)" -html "$(_TestResultsHtmlPath)" $(XUnitRunnerAdditionalArguments)</_XUnitRunnerCommandArgs>
<_TestRunnerCommand>"$(_XUnitRunnerCommand)" $(_XUnitRunnerCommandArgs)</_TestRunnerCommand>
<_TestResultsDisplayPath>$(_TestResultsHtmlPath)</_TestResultsDisplayPath>
</PropertyGroup>

<PropertyGroup Condition="'$(_UseOpenCover)' == 'true'">
<_OpenCoverConsoleExe>OpenCover.Console.exe</_OpenCoverConsoleExe>
<_OpenCoverCommand>$(NuGetPackageRoot)opencover\$(OpenCoverVersion)\tools\$(_OpenCoverConsoleExe)</_OpenCoverCommand>
<_OpenCoverCommandArgs>-register:user -returntargetcode -hideskipped:All -filter:"+[*]*" -excludebyattribute:*.ExcludeFromCodeCoverage* -excludebyfile:*\*Designer.cs -output:"$(_TestResultsOpenCoverPath)"</_OpenCoverCommandArgs>
<_TestRunnerCommand>"$(_OpenCoverCommand)" $(_OpenCoverCommandArgs) -target:"$(_XUnitRunnerCommand)" -targetargs:"$(_XUnitRunnerCommandArgs.Replace(`"`, `\"`))"</_TestRunnerCommand>
</PropertyGroup>

<MakeDir Directories="$(ArtifactsTestResultsDir)"/>
<Delete Files="$(_TestOutPathNoExt).*" />

<Message Text="Running tests: $(TargetPath) [$(_TestEnvironment)]" Importance="high"/>

<!-- Note that xUnit outputs failure info to both STDOUT (stack trace, message) and STDERR (failed test name) -->
<Exec Command='$(_TestRunnerCommand) > "$(_TestStdOutPath)" 2>&amp;1'
LogStandardErrorAsError="false"
WorkingDirectory="$(OutDir)"
IgnoreExitCode="true">

<Output TaskParameter="ExitCode" PropertyName="_TestErrorCode" />
</Exec>

<WriteLinesToFile File="$(_TestStdOutPath)" Overwrite="false" Lines=";=== COMMAND LINE ===;$(_TestRunnerCommand)" />

<ItemGroup>
<_FailedTestRuns Include="$(_TestEnvironment)" Condition="'$(_TestErrorCode)' != '0'" />
</ItemGroup>

<Message Text="Tests succeeded: $(TargetPath) [$(_TestEnvironment)]" Condition="'$(_TestErrorCode)' == '0'" Importance="high" />
<Warning Text="$(_TestResultsDisplayPath) [$(_TestEnvironment)]" Condition="'$(_TestErrorCode)' != '0' and '$(TargetFrameworks)' != ''" File="XUnit" />
<Error Text="$(_TestResultsDisplayPath) [$(_TestEnvironment)]" Condition="'$(_TestErrorCode)' != '0' and '$(TargetFrameworks)' == ''" File="XUnit" />
</Target>

</Project>
4 changes: 4 additions & 0 deletions src/MetaCompilation.Analyzers/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
<Project>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<PropertyGroup>
<NonShipping>true</NonShipping>
</PropertyGroup>
Expand Down
4 changes: 4 additions & 0 deletions src/Test.Utilities/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
<Project>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<PropertyGroup>
<NonShipping>true</NonShipping>
</PropertyGroup>
Expand Down
4 changes: 4 additions & 0 deletions src/Test.Utilities/Directory.Build.targets
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
<Project>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<!--
TODO: remove this file
Currently the tests depend on compiler having InternalsVisibleTo("Roslyn.Test.Utilities").
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@

<!-- This file is imported by all projects at the end of the project files -->

<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<!-- Compute assembly, file, and NuGet versions -->
<PropertyGroup>
<AssemblyVersion>$(SemanticVersion).0</AssemblyVersion>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<PropertyGroup>
<SharedNuGetArguments>-NoPackageAnalysis -prop binaries=$(OutDir) -prop authors=$(NuGetAuthors) -prop projectURL=$(NuGetProjectURL) -prop releaseNotes="$(NuGetReleaseNotes)" -prop tags="$(NuGetTags)" -prop licenseURL=$(NuGetLicenseURL) -prop buildName=$(TF_BUILD_BUILDDEFINITIONNAME)</SharedNuGetArguments>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>

<PropertyGroup>
<NuGetLicenseURLRedist>http://go.microsoft.com/fwlink/?LinkId=529443</NuGetLicenseURLRedist>
<NuGetLicenseURLNonRedist>http://go.microsoft.com/fwlink/?LinkId=529444</NuGetLicenseURLNonRedist>
Expand Down
Loading