This commit is contained in:
Tomas Matousek 2017-02-16 18:58:25 -08:00
Родитель 6c313d875d
Коммит 29d4b120c0
33 изменённых файлов: 65 добавлений и 703 удалений

17
Directory.Build.props Normal file
Просмотреть файл

@ -0,0 +1,17 @@
<!-- 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>
<Import Project="build\NuGet.props"/>
<Import Project="build\Versions.props"/>
<PropertyGroup>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
<RepoRoot>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)\'))</RepoRoot>
<SignToolDataPath>$(RepoRoot)build\SignToolData.json</SignToolDataPath>
<VersionsPropsPath>$(RepoRoot)build\Versions.props</VersionsPropsPath>
<RepoToolsetDir>$(NuGetPackageRoot)RoslynTools.Microsoft.RepoToolset\$(RoslynToolsMicrosoftRepoToolsetVersion)\tools\</RepoToolsetDir>
<RepositoryUrl>https://github.com/dotnet/symreader-converter</RepositoryUrl>
<PackageProjectUrl>$(RepositoryUrl)</PackageProjectUrl>
</PropertyGroup>
</Project>

20
NuGet.Config Normal file
Просмотреть файл

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
<config>
<add key="dependencyVersion" value="HighestMinor" />
</config>
<packageSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="myget.org dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
<add key="myget.org roslyn-tools" value="https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json" />
<add key="myget.org symreader" value="https://dotnet.myget.org/F/symreader/api/v3/index.json" />
<add key="Local" value="D:\LocalNuGets" />
</packageSources>
</configuration>

Просмотреть файл

@ -1,9 +1,5 @@
<!-- 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>

Просмотреть файл

Просмотреть файл

@ -1,14 +0,0 @@
<!-- 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>
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == '' AND '$(OS)' == 'Windows_NT'">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == '' AND '$(OS)' != 'Windows_NT'">$([System.Environment]::GetFolderPath(SpecialFolder.Personal))\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageRoot Condition="!HasTrailingSlash('$(NuGetPackageRoot)')">$(NuGetPackageRoot)\</NuGetPackageRoot>
</PropertyGroup>
</Project>

Просмотреть файл

@ -1,7 +0,0 @@
<Project>
<PropertyGroup>
<VersionBase>1.0.0</VersionBase>
<PreReleaseVersionLabel>beta1</PreReleaseVersionLabel>
</PropertyGroup>
<Import Project="..\Toolset\Version.props"/>
</Project>

Просмотреть файл

@ -1,13 +1,13 @@
<!-- 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>
<Import Project="Dependencies.props"/>
<PropertyGroup>
<TargetFramework>net461</TargetFramework>
<!-- Output dir for restore artifacts -->
<BaseIntermediateOutputPath>$(MSBuildThisProjectDirectory)..\..\Artifacts\Toolset</BaseIntermediateOutputPath>
<BaseIntermediateOutputPath>$(MSBuildThisProjectDirectory)..\..\artifacts\Toolset</BaseIntermediateOutputPath>
</PropertyGroup>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<ItemGroup>
<PackageReference Include="RoslynTools.Microsoft.RepoToolset" Version="$(RoslynToolsMicrosoftRepoToolsetVersion)" />
<PackageReference Include="MicroBuild.Core" Version="$(MicroBuildCoreVersion)" />
<PackageReference Include="MicroBuild.Core.Sentinel" Version="1.0.0" />
<PackageReference Include="MicroBuild.Plugins.SwixBuild" Version="$(MicroBuildPluginsSwixBuildVersion)" />

Двоичные данные
build/Toolset/35MSSharedLib1024.snk

Двоичный файл не отображается.

Просмотреть файл

@ -1,58 +0,0 @@
<Project DefaultTargets="Execute">
<!--
Required parameters:
SolutionPath Path to the solution to build
Optional parameters:
Configuration Build configuration: "Debug", "Release", etc.
OfficialBuild "true" if building an official build in lab
Restore "true" to restore toolset and solution
Build "true" to build solution
Test "true" to run tests
Sign "true" to sign built binaries
-->
<Target Name="Execute">
<PropertyGroup>
<!-- Needs to be set here since msbuild looks confiuration up in the .sln file -->
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
<Props>Configuration=$(Configuration);OfficialBuild=$(OfficialBuild)</Props>
</PropertyGroup>
<ItemGroup>
<PreSignTargets Include="Restore" Condition="'$(Restore)' == 'true'" />
<PreSignTargets Include="Build" Condition="'$(Build)' == 'true'" />
<PreSignTargets Include="Test" Condition="'$(Test)' == 'true'" />
</ItemGroup>
<ItemGroup>
<PostSignTargets Include="Pack" Condition="'$(Pack)' == 'true'" />
</ItemGroup>
<!-- Note: msbuild caches the metaproject for the solution.
We invalidate the cache by changing the value of __BuildPhase property.
-->
<MSBuild Projects="$(SolutionPath)"
Properties="$(Props);__BuildPhase=PreSign"
Targets="@(PreSignTargets)"
BuildInParallel="true"
Condition="'@(PreSignTargets)' != ''"/>
<MSBuild Projects="Sign.proj"
Properties="$(Props)"
Targets="Sign"
BuildInParallel="true"
Condition="'$(Sign)' == 'true'"/>
<MSBuild Projects="$(SolutionPath)"
Properties="$(Props);__BuildPhase=PostSign"
Targets="@(PostSignTargets)"
BuildInParallel="true"
Condition="'@(PostSignTargets)' != ''"/>
</Target>
</Project>

Просмотреть файл

@ -1,23 +0,0 @@
<!-- 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 DefaultTargets="Build" InitialTargets="RestoreToolsetCheck">
<!--
Requires the following properties to be set:
NuGetPackageRoot
ToolsetCompilerPackageVersion
-->
<PropertyGroup>
<ToolsetCompilerPackageDir>$(NuGetPackageRoot)Microsoft.Net.Compilers\$(ToolsetCompilerPackageVersion)\</ToolsetCompilerPackageDir>
<ToolsetCompilerPropsFilePath>$(ToolsetCompilerPackageDir)build\Microsoft.Net.Compilers.props</ToolsetCompilerPropsFilePath>
</PropertyGroup>
<Target Name="RestoreToolsetCheck" Condition="'$(BuildingProject)' == 'true'">
<Error Text="Toolset packages have not been restored, run Restore.cmd before building"
Condition="!Exists('$(ToolsetCompilerPropsFilePath)')" />
</Target>
<Import Project="$(ToolsetCompilerPropsFilePath)" Condition="Exists('$(ToolsetCompilerPropsFilePath)')" />
</Project>

Просмотреть файл

@ -1,55 +0,0 @@
<!-- 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>
<GeneratedInternalsVisibleToFile>$(IntermediateOutputPath)$(MSBuildProjectName).InternalsVisibleTo$(DefaultLanguageSourceExtension)</GeneratedInternalsVisibleToFile>
</PropertyGroup>
<ItemDefinitionGroup>
<InternalsVisibleTo>
<Visible>false</Visible>
</InternalsVisibleTo>
</ItemDefinitionGroup>
<PropertyGroup Condition="'$(PublicKey)' != '' and '$(SignAssembly)' == 'True'">
<InternalsVisibleToSuffix>, PublicKey=$(PublicKey)</InternalsVisibleToSuffix>
</PropertyGroup>
<!-- Dependency on PrepareForBuild is necessary so that we don't accidentally get ordered before it.
We rely on PrepareForBuild to create the IntermediateOutputDirectory if it doesn't exist. -->
<Target Name="GenerateInternalsVisibleToFile"
Inputs="$(MSBuildThisFileFullPath);$(MSBuildProjectFile)"
Outputs="$(GeneratedInternalsVisibleToFile)"
DependsOnTargets="PrepareForBuild"
Condition="'@(InternalsVisibleTo)' != ''"
BeforeTargets="CoreCompile">
<!--
This is a slightly evil trick. What we have is a group of InternalsVisibleTo items which
we need to convert to the items that the WriteCodeFragment expects. They look like this:
<InternalsVisibleTo Include="Foo" />
And need to convert it to:
<InternalsVisibleToAttribute Include="System.Runtime.CompilerServices.InternalsVisibleToAttribute">
<_Parameter1>Foo</Parameter1>
</InternalsVisibleToAttribute>
One way (although a bit evil) is to use the old CreateItem task. Since we use the well-defined
"Identity" metadata on each of our itemgroups, MSBuild batching will take effect and this task
will be invoked once for each InternalsVisibleTo item.
-->
<CreateItem Include="System.Runtime.CompilerServices.InternalsVisibleToAttribute"
AdditionalMetadata="_Parameter1=%(InternalsVisibleTo.Identity)$(InternalsVisibleToSuffix)"
Condition="'@(InternalsVisibleTo)' != ''">
<Output TaskParameter="Include" ItemName="InternalsVisibleToAttribute" />
</CreateItem>
<WriteCodeFragment AssemblyAttributes="@(InternalsVisibleToAttribute)"
Language="$(Language)"
OutputFile="$(GeneratedInternalsVisibleToFile)">
<Output TaskParameter="OutputFile" ItemName="Compile" />
<Output TaskParameter="OutputFile" ItemName="FileWrites" />
</WriteCodeFragment>
</Target>
</Project>

Просмотреть файл

@ -1,11 +0,0 @@
#r "System.Xml.Linq"
using System.Xml.Linq;
// Args:
// - Path to Dependencies.props
// - Output file path
File.WriteAllLines(Args[1],
from e in XDocument.Load(Args[0]).Root.Descendants()
where e.Name.LocalName.EndsWith("Version")
select $"{e.Name.LocalName}={e.Value}");

Просмотреть файл

@ -1,39 +0,0 @@
<!-- 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>
<!--
Pack task is not capable of generating nupkg with bakcward compatible targets.
Hence we need to use manually written nuspec with version variables substituted.
See https://github.com/NuGet/Home/issues/4461 and
https://github.com/NuGet/Home/wiki/Adding-nuget-pack-as-a-msbuild-target#packing-using-a-nuspec.
Required properties:
RepoRoot
DependenciesPropsPath
ToolsetCompilerPackageDir
IntermediateOutputPath
-->
<PropertyGroup Condition="'$(NuspecFile)' != ''">
<PackDependsOn>GenerateNuspecProperties;$(PackDependsOn)</PackDependsOn>
</PropertyGroup>
<Target Name="GenerateNuspecProperties"
BeforeTargets="Pack"
Condition="'$(NuspecFile)' != ''">
<PropertyGroup>
<_NuspecPropertiesTempFile>$(IntermediateOutputPath)NuspecProps.txt</_NuspecPropertiesTempFile>
</PropertyGroup>
<Exec Command='"$(ToolsetCompilerPackageDir)tools\csi.exe" "$(MSBuildThisFileDirectory)GenerateNuspecProperties.csx" "$(DependenciesPropsPath)" "$(_NuspecPropertiesTempFile)"' />
<ReadLinesFromFile File="$(_NuspecPropertiesTempFile)">
<Output TaskParameter="Lines" ItemName="_PropsForDependencies" />
</ReadLinesFromFile>
<PropertyGroup>
<NuspecBasePath>$([System.IO.Path]::GetFullPath('$(OutDir)'))</NuspecBasePath>
<NuspecProperties>version=$(Version);@(_PropsForDependencies, ';')</NuspecProperties>
</PropertyGroup>
</Target>
</Project>

Просмотреть файл

@ -1,35 +0,0 @@
<!-- 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>
<!--
Requires the following properties to be set:
RepoRoot
Defines the following properties:
GitHeadSha
-->
<Choose>
<When Condition="'$(BUILD_SOURCEVERSION)' != ''">
<PropertyGroup>
<GitHeadSha>$(BUILD_SOURCEVERSION)</GitHeadSha>
</PropertyGroup>
</When>
<When Condition="'$(BUILD_SOURCEVERSION)' == '' and '$(GIT_COMMIT)' != ''">
<PropertyGroup>
<GitHeadSha>$(GIT_COMMIT)</GitHeadSha>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<GitHeadSha>Not found</GitHeadSha>
<_DotGitDir>$(RepoRoot)\.git</_DotGitDir>
<_HeadFileContent Condition="Exists('$(_DotGitDir)/HEAD')">$([System.IO.File]::ReadAllText('$(_DotGitDir)/HEAD').Trim())</_HeadFileContent>
<_RefPath Condition="$(_HeadFileContent.StartsWith('ref: '))">$(_DotGitDir)/$(_HeadFileContent.Substring(5))</_RefPath>
<GitHeadSha Condition="'$(_RefPath)' != '' and Exists('$(_RefPath)')">$([System.IO.File]::ReadAllText('$(_RefPath)').Trim())</GitHeadSha>
<GitHeadSha Condition="'$(_HeadFileContent)' != '' and '$(_RefPath)' == ''">$(_HeadFileContent)</GitHeadSha>
</PropertyGroup>
</Otherwise>
</Choose>
</Project>

Просмотреть файл

@ -1,18 +0,0 @@
<!-- 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>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
<Import Project="StrongName.targets"/>
<Import Project="GenerateInternalsVisibleTo.targets" />
<Import Project="Test.targets"/>
<!-- Workaround for https://github.com/Microsoft/msbuild/issues/1310 -->
<Target Name="ForceGenerationOfBindingRedirects"
AfterTargets="ResolveAssemblyReferences"
BeforeTargets="GenerateBindingRedirects"
Condition="'$(AutoGenerateBindingRedirects)' == 'true'">
<PropertyGroup>
<!-- Needs to be set in a target because it has to be set after the initial evaluation in the common targets -->
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>
</Target>
</Project>

Просмотреть файл

@ -1,63 +0,0 @@
<!-- 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>
<SignAssembly>true</SignAssembly>
<HighEntropyVA>true</HighEntropyVA>
<Company>Microsoft Corporation</Company>
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
<Authors>Microsoft</Authors>
<Serviceable>true</Serviceable>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<PackageLicenseUrl>http://go.microsoft.com/fwlink/?LinkId=529443</PackageLicenseUrl>
<!-- By default do not build nuget package for a project. Project may override. -->
<IsPackable>false</IsPackable>
</PropertyGroup>
<Choose>
<!-- C# specific settings -->
<When Condition="'$(MSBuildProjectExtension)' == '.csproj' OR '$(Language)' == 'C#' OR '$(ProjectLanguage)' == 'CSharp'">
<PropertyGroup>
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
<NoWarn>$(NoWarn);1591</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<DebugType>full</DebugType>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
</PropertyGroup>
</When>
<!-- VB specific settings -->
<When Condition="'$(MSBuildProjectExtension)' == '.vbproj' OR '$(Language)' == 'VB' OR '$(ProjectLanguage)' == 'VB'">
<PropertyGroup>
<MyType>Empty</MyType>
<OptionCompare>Binary</OptionCompare>
<OptionExplicit>On</OptionExplicit>
<OptionInfer>On</OptionInfer>
<OptionStrict>On</OptionStrict>
<VBRuntime>Embed</VBRuntime>
<RemoveIntegerChecks>true</RemoveIntegerChecks>
<RootNamespace></RootNamespace>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<DebugSymbols>true</DebugSymbols>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
</PropertyGroup>
</When>
</Choose>
</Project>

Просмотреть файл

@ -1,16 +0,0 @@
<!-- 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>
<!--
Properties describing the layout of the repo specific to the current project.
-->
<Import Project="RepoLayout.props"/>
<PropertyGroup>
<OutDirName Condition="'$(OutDirName)' == ''">$([System.IO.Path]::GetFileName('$(MSBuildProjectDirectory)'))</OutDirName>
<BaseOutputPath Condition="'$(BaseOutputPath)' == ''">$(ArtifactsBinDir)$(OutDirName)\</BaseOutputPath>
<OutputPath>$(BaseOutputPath)</OutputPath>
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">$(ArtifactsObjDir)$(OutDirName)\</BaseIntermediateOutputPath>
<IntermediateOutputPath>$(BaseIntermediateOutputPath)</IntermediateOutputPath>
</PropertyGroup>
</Project>

Просмотреть файл

@ -1,22 +0,0 @@
<!-- 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>
<!--
Properties describing the layout of the repo.
-->
<PropertyGroup>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
<RepoRoot>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)\..\..\'))</RepoRoot>
<DotNetRoot>$(RepoRoot).dotnet\</DotNetRoot>
<DotNetTool>$(DotNetRoot)dotnet.exe</DotNetTool>
<ArtifactsDir>$(RepoRoot)artifacts\</ArtifactsDir>
<ArtifactsBinDir>$(ArtifactsDir)$(Configuration)\bin\</ArtifactsBinDir>
<ArtifactsObjDir>$(ArtifactsDir)$(Configuration)\obj\</ArtifactsObjDir>
<ArtifactsTestResultsDir>$(ArtifactsDir)$(Configuration)\TestResults\</ArtifactsTestResultsDir>
<PackageOutputPath>$(ArtifactsDir)$(Configuration)\packages\</PackageOutputPath>
<!-- The following files are expected to be present in the repo -->
<SignToolDataPath>$(RepoRoot)build\Targets\SignToolData.json</SignToolDataPath>
<DependenciesPropsPath>$(RepoRoot)build\Targets\Dependencies.props</DependenciesPropsPath>
<VersionPropsPath>$(RepoRoot)build\Targets\Version.props</VersionPropsPath>
</PropertyGroup>
</Project>

Просмотреть файл

@ -1,10 +0,0 @@
<!-- 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>
<Import Project="ProjectLayout.props" />
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<Import Project="$(DependenciesPropsPath)" />
<Import Project="$(VersionPropsPath)"/>
<Import Project="Compiler.props" />
<Import Project="ProjectDefaults.props"/>
<Import Project="Test.props"/>
</Project>

Просмотреть файл

@ -1,19 +0,0 @@
<!-- 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 DefaultTargets="Sign">
<Import Project="Nuget.props" />
<Import Project="RepoLayout.props" />
<Import Project="$(DependenciesPropsPath)" />
<Target Name="Sign">
<ItemGroup>
<SignToolArgs Include='-nugetPackagesPath "$(NuGetPackageRoot)\"' />
<SignToolArgs Include='-intermediateOutputPath "$(ArtifactsObjDir)\"' />
<SignToolArgs Include='-dotnetPath "$(DotNetTool)"' />
<SignToolArgs Include='-config "$(SignToolDataPath)"' />
<SignToolArgs Include='-test' Condition="'$(OfficialBuild)' != 'true'" />
<SignToolArgs Include='"$(ArtifactsBinDir)\"' />
</ItemGroup>
<Exec Command="$(NuGetPackageRoot)RoslynTools.Microsoft.SignTool\$(RoslynToolsMicrosoftSignToolVersion)\tools\SignTool.exe @(SignToolArgs, ' ')" />
</Target>
</Project>

Просмотреть файл

@ -1,46 +0,0 @@
<!-- 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>
<ShouldSignBuild Condition="'$(RealSignBuild)' == 'true' OR '$(SignType)' == 'real'">true</ShouldSignBuild>
</PropertyGroup>
<Choose>
<When Condition="'$(SignAssembly)' == 'true'">
<Choose>
<When Condition="'$(ShouldSignBuild)' == 'true' OR '$(BuildingProject)' == 'false'">
<!-- We are either real-signing or doing a design build, so we need to delay sign -->
<PropertyGroup>
<DelaySign>true</DelaySign>
<PublicSign>false</PublicSign>
</PropertyGroup>
</When>
<Otherwise>
<!-- We are not real-signing or doing a design build, so we need to public sign -->
<PropertyGroup>
<DelaySign>false</DelaySign>
<PublicSign>true</PublicSign>
</PropertyGroup>
</Otherwise>
</Choose>
<!-- Binaries are delay or public-signed with the MS key; later, the signing system will finish the strong-name signing. -->
<PropertyGroup >
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)\35MSSharedLib1024.snk</AssemblyOriginatorKeyFile>
<PublicKey>0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9</PublicKey>
<PublicKeyToken>31BF3856AD364E35</PublicKeyToken>
</PropertyGroup>
</When>
</Choose>
<!-- Build Flag Verification -->
<PropertyGroup>
<PrepareForBuildDependsOn>$(PrepareForBuildDependsOn);VerifyBuildFlags</PrepareForBuildDependsOn>
</PropertyGroup>
<Target Name="VerifyBuildFlags">
<Error Condition="('$(RealSignBuild)' == 'true' OR '$(SignType)' == 'real') AND '$(AssemblyVersion)' == '42.42.42.42'"
Text="Must specify a build version in order to real sign a build." />
</Target>
</Project>

Просмотреть файл

@ -1,118 +0,0 @@
#r "System.Xml.Linq"
using System.IO;
using System.Xml.Linq;
using System.Text.RegularExpressions;
if (Args.Count != 2)
{
WriteLine("Usage: ConvertTestOutputToXml.csx <results.txt> <results.xml>");
return 1;
}
int passed = 0;
int failed = 0;
int skipped = 0;
var lines = File.ReadAllLines(Args[0]);
if (lines.Length == 0)
{
WriteLine("No results found");
return 2;
}
string firstLine = lines[0];
if (!firstLine.StartsWith("Test run for "))
{
WriteLine("Unexpected data");
return 3;
}
var collectionXml = new XElement("collection");
int i = 1;
while (i < lines.Length)
{
string line = lines[i];
XElement failureXml;
string testName;
if (line.StartsWith("Passed"))
{
testName = line.Substring("Passed".Length).Trim();
failureXml = null;
passed++;
i++;
}
else if (line.StartsWith("Skipped"))
{
testName = line.Substring("Skipped".Length).Trim();
failureXml = null;
skipped++;
i++;
}
else if(line.StartsWith("Failed"))
{
testName = line.Substring("Failed".Length).Trim();
failed++;
i++;
var message = new StringBuilder();
while (i < lines.Length && !lines[i].StartsWith("Passed") && !lines[i].StartsWith("Failed") && !lines[i].StartsWith("Stack Trace:"))
{
message.AppendLine(lines[i]);
i++;
}
var stackTrace = new StringBuilder();
while (i < lines.Length && !lines[i].StartsWith("Passed") && !lines[i].StartsWith("Failed"))
{
stackTrace.AppendLine(lines[i]);
i++;
}
failureXml = new XElement("failure");
var messageXml = new XElement("message");
messageXml.SetValue(message.ToString());
var stackTraceXml = new XElement("stack-trace");
stackTraceXml.SetValue(stackTrace.ToString());
failureXml.Add(messageXml);
failureXml.Add(stackTraceXml);
}
else
{
i++;
continue;
}
var testXml = new XElement("test");
testXml.SetAttributeValue("name", testName);
testXml.SetAttributeValue("result", failureXml != null ? "Fail" : "Pass");
if (failureXml != null)
{
testXml.Add(failureXml);
}
collectionXml.Add(testXml);
}
collectionXml.SetAttributeValue("total", (passed + failed + skipped).ToString());
collectionXml.SetAttributeValue("passed", passed.ToString());
collectionXml.SetAttributeValue("failed", failed.ToString());
collectionXml.SetAttributeValue("skipped", skipped.ToString());
collectionXml.SetAttributeValue("name", "all tests");
var xml = new XDocument();
var assembliesXml = new XElement("assemblies");
var assemblyXml = new XElement("assembly");
var parts = firstLine.Substring("Test run for ".Length).Split(new[] { '(', ')' });
assemblyXml.SetAttributeValue("name", parts[0]);
assemblyXml.SetAttributeValue("environment", parts[1]);
assemblyXml.Add(collectionXml);
assembliesXml.Add(assemblyXml);
xml.Add(assembliesXml);
xml.Save(Args[1]);

Просмотреть файл

@ -1,22 +0,0 @@
<!-- 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>
<IsTestProject Condition="$(MSBuildProjectName.EndsWith('UnitTests'))">true</IsTestProject>
</PropertyGroup>
<ItemGroup Condition="'$(IsTestProject)' == 'true'">
<!-- VS TestExplorer uses this to identify a test project -->
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
<!-- Test dependencies -->
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(MicrosoftNETTestSdkVersion)" />
<PackageReference Include="xunit" Version="$(XUnitVersion)" />
<PackageReference Include="xunit.runner.console" Version="$(XUnitVersion)" />
<PackageReference Include="xunit.runner.visualstudio" Version="$(XUnitRunnerVisualStudioVersion)" />
<!-- Test runner configuration -->
<None Include="$(MSBuildProjectName).xunit.runner.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,52 +0,0 @@
<!-- 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 Condition="'$(IsTestProject)' == 'true'">
<TestArchitectures Condition="'$(TestArchitectures)' == ''">x64</TestArchitectures>
<AutoGenerateBindingRedirects Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">true</AutoGenerateBindingRedirects>
<_TestTargetName Condition="'$(TargetFrameworks)' == ''">InnerTest</_TestTargetName>
<_TestTargetName Condition="'$(TargetFrameworks)' != ''">OuterTest</_TestTargetName>
</PropertyGroup>
<Target Name="Test" DependsOnTargets="$(_TestTargetName)" Condition="'$(IsTestProject)' == 'true'" />
<Target Name="InnerTest">
<ItemGroup>
<_TestArchitectureItems Include="$(TestArchitectures)" />
</ItemGroup>
<PropertyGroup>
<_TestOutPathNoExt>$(ArtifactsTestResultsDir)$(MSBuildProjectName)_$(TargetFramework)_%(_TestArchitectureItems.Identity)</_TestOutPathNoExt>
<_TestStdOutPath>$(_TestOutPathNoExt).txt</_TestStdOutPath>
<_TestLogPath>$(_TestOutPathNoExt).xml</_TestLogPath>
</PropertyGroup>
<MakeDir Directories="$(ArtifactsTestResultsDir)"/>
<Delete Files="$(_TestOutPathNoExt)" />
<Delete Files="$(_TestStdOutPath)" />
<Exec Command='"$(DotNetTool)" test "$(MSBuildProjectFullPath)" --no-build --framework:$(TargetFramework) -- --platform:%(_TestArchitectureItems.Identity) > $(_TestStdOutPath)'
LogStandardErrorAsError="true"
WorkingDirectory="$(OutDir)"
IgnoreExitCode="true">
<Output TaskParameter="ExitCode" PropertyName="ExitCode" />
</Exec>
<!--
Work around the lack of xUnit logger: https://github.com/Microsoft/vstest/issues/254
Jenkins currently supports xUnit and trx. trx is supported by dotnet test but it's 10x larger.
-->
<Exec Command='"$(ToolsetCompilerPackageDir)tools\csi.exe" "$(MSBuildThisFileDirectory)Test.StdOutToXml.csx" "$(_TestStdOutPath)" "$(_TestLogPath)"' />
<Message Text="Test succeeded: $(MSBuildProjectName) [$(TargetFramework)|%(_TestArchitectureItems.Identity)]" Condition="'$(ExitCode)' == '0'" />
<Error Text="Test failed with exit code $(ExitCode); log: $(_TestStdOutPath)" Condition="'$(ExitCode)' != '0'" />
</Target>
<Target Name="OuterTest" DependsOnTargets="_SetTestInnerTarget;DispatchToInnerBuilds" />
<Target Name="_SetTestInnerTarget" Returns="@(InnerOutput)">
<PropertyGroup Condition="'$(InnerTargets)' == ''">
<InnerTargets>InnerTest</InnerTargets>
</PropertyGroup>
</Target>
</Project>

Просмотреть файл

@ -1,47 +0,0 @@
<!-- 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>
<!--
Requires the following properties to be set:
VersionBase
PreReleaseVersionLabel (empty for release build)
Defines the following properties:
Version
AssemblyVersion
FileVersion
VsixVersion
InformationalVersion
-->
<Import Project="GitHash.props" Condition="$(BUILD_BUILDNUMBER) != ''"/>
<PropertyGroup>
<AssemblyVersion>$(VersionBase).0</AssemblyVersion>
</PropertyGroup>
<Choose>
<When Condition="$(BUILD_BUILDNUMBER) == ''">
<PropertyGroup>
<Version>$(VersionBase)-dev</Version>
<FileVersion>$(VersionBase).0</FileVersion>
<VsixVersion>$(VersionBase).9000000</VsixVersion>
<InformationalVersion>$(FileVersion)</InformationalVersion>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<_BuildNumberFiveDigitDateStamp>$([MSBuild]::Subtract($(BUILD_BUILDNUMBER.Split('.')[0].Substring(3).Trim()), 8800))</_BuildNumberFiveDigitDateStamp>
<_BuildNumberBuildOfTheDayPadded>$(BUILD_BUILDNUMBER.Split('.')[1].PadLeft(2,'0'))</_BuildNumberBuildOfTheDayPadded>
<Version>$(VersionBase)</Version>
<Version Condition="$(PreReleaseVersionLabel)' != ''">$(Version)-$(PreReleaseVersionLabel)-$(_BuildNumberFiveDigitDateStamp)-$(_BuildNumberBuildOfTheDayPadded)</Version>
<FileVersion>$(VersionBase).$(_BuildNumberFiveDigitDateStamp)</FileVersion>
<VsixVersion>$(VersionBase).$(_BuildNumberFiveDigitDateStamp)$(_BuildNumberBuildOfTheDayPadded)</VsixVersion>
<InformationalVersion>$(Version). Commit Hash: $(GitHeadSha)</InformationalVersion>
</PropertyGroup>
</Otherwise>
</Choose>
</Project>

Просмотреть файл

@ -1,7 +1,12 @@
<!-- 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>
<!-- This repo version -->
<VersionBase>1.0.0</VersionBase>
<PreReleaseVersionLabel>beta1</PreReleaseVersionLabel>
<!-- Toolset -->
<RoslynToolsMicrosoftRepoToolsetVersion>1.0.0-alpha</RoslynToolsMicrosoftRepoToolsetVersion>
<DotNetCliVersion>1.0.0-rc4-004777</DotNetCliVersion>
<MicroBuildCoreVersion>0.2.0</MicroBuildCoreVersion>
<MicroBuildPluginsSwixBuildVersion>1.0.101</MicroBuildPluginsSwixBuildVersion>

Просмотреть файл

@ -12,11 +12,13 @@
<PropertyGroup>
<SolutionPath Condition="'$(SolutionPath)' == ''">$(MSBuildThisFileDirectory)..\SymReaderConverter.sln</SolutionPath>
</PropertyGroup>
<Import Project="..\Directory.build.props"/>
<Target Name="Build">
<MSBuild Projects="Targets\Toolset.proj" Targets="Restore" Condition="'$(Restore)' == 'true'"/>
<MSBuild Projects="Toolset.proj" Targets="Restore" Condition="'$(Restore)' == 'true'"/>
<MSBuild Projects="Toolset\Build.proj"
<MSBuild Projects="$(RepoToolsetDir)Build.proj"
Properties="SolutionPath=$(SolutionPath);Configuration=$(Configuration);OfficialBuild=$(OfficialBuild);Restore=$(Restore);Build=$(Build);Test=$(Test);Sign=$(Sign);Pack=$(Pack)" />
</Target>
</Project>

Просмотреть файл

@ -19,7 +19,7 @@ $RepoRoot = Join-Path $PSScriptRoot "..\"
$DotNetRoot = Join-Path $RepoRoot ".dotnet"
$DotNetExe = Join-Path $DotNetRoot "dotnet.exe"
$BuildProj = Join-Path $PSScriptRoot "build.proj"
$DependenciesProps = Join-Path $PSScriptRoot "Targets\Dependencies.props"
$DependenciesProps = Join-Path $PSScriptRoot "Versions.props"
$ArtifactsDir = Join-Path $RepoRoot "artifacts"
$LogDir = Join-Path $ArtifactsDir "log"
$TempDir = Join-Path (Join-Path $ArtifactsDir $configuration) "tmp"

Просмотреть файл

@ -1,14 +1,10 @@
<!-- 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>
<!-- This file is imported by all projects at the beginning of the project files -->
<Import Project="NuGet.props"/>
<Import Project="..\Toolset\Settings.props" />
<Import Project="..\Directory.Build.props"/>
<!-- This file is imported by all projects at the beginning of the project files -->
<Import Project="$(RepoToolsetDir)Settings.props" />
<PropertyGroup>
<RepositoryUrl>https://github.com/dotnet/symreader-converter</RepositoryUrl>
<PackageProjectUrl>$(RepositoryUrl)</PackageProjectUrl>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
</PropertyGroup>

Просмотреть файл

@ -1,7 +1,7 @@
<!-- 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>
<!-- This file is imported by all projects at the end of the project files -->
<Import Project="..\Toolset\Imports.targets" />
<Import Project="$(RepoToolsetDir)Imports.targets" />
<!-- We need to use a custom nuspec file in order to generate backwards compatible nupkg. -->
<Import Project="..\Toolset\GenerateNuspecProperties.targets" />
<Import Project="$(RepoToolsetDir)GenerateNuspecProperties.targets" />
</Project>

Просмотреть файл

@ -1,10 +1,13 @@
<!-- 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>
<Import Project="..\..\build\Targets\Settings.props" />
<Project Sdk="Microsoft.NET.Sdk">
<!-- Workaround for https://github.com/Microsoft/msbuild/issues/1721. -->
<Import Project="..\Directory.Build.props" Condition="'$(TargetFramework)' == ''"/>
<PropertyGroup>
<TargetFrameworks>netcoreapp1.0;net46</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.DiaSymReader.PortablePdb" Version="$(MicrosoftDiaSymReaderPortablePdbVersion)" />
<ProjectReference Include="..\Microsoft.DiaSymReader.Converter\Microsoft.DiaSymReader.Converter.csproj" />
@ -12,5 +15,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.DiaSymReader.Native" Version="$(MicrosoftDiaSymReaderNativeVersion)" />
</ItemGroup>
<Import Project="..\..\build\Targets\Imports.targets" />
<!-- Workaround for https://github.com/Microsoft/msbuild/issues/1721. -->
<Import Project="..\Directory.Build.targets" Condition="'$(TargetFramework)' == ''"/>
</Project>

Просмотреть файл

@ -1,6 +1,5 @@
<!-- 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>
<Import Project="..\..\build\Targets\Settings.props" />
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard1.3</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
@ -23,5 +22,4 @@
</ItemGroup>
<Import Project="..\Microsoft.CodeAnalysis.Metadata\Microsoft.CodeAnalysis.Metadata.projitems" />
<Import Project="..\Microsoft.CodeAnalysis.PooledObjects\Microsoft.CodeAnalysis.PooledObjects.projitems" />
<Import Project="..\..\build\Targets\Imports.targets" />
</Project>

Просмотреть файл

@ -1,6 +1,5 @@
<!-- 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>
<Import Project="..\..\build\Targets\Settings.props" />
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net46</TargetFramework>
<RootNamespace>Microsoft.DiaSymReader.Tools</RootNamespace>
@ -14,5 +13,4 @@
<Name>Microsoft.DiaSymReader.Converter</Name>
</ProjectReference>
</ItemGroup>
<Import Project="..\..\build\Targets\Imports.targets" />
</Project>