More tidying and improves build scripts.

This commit is contained in:
Steve Dower 2016-02-12 12:43:34 -08:00
Родитель de7f0f4df0
Коммит 2d1accb152
11 изменённых файлов: 191 добавлений и 300 удалений

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

@ -1,22 +1,32 @@
function submit_symbols {
param($buildname, $buildid, $filetype, $sourcedir, $contacts)
param($productgroup, $productver, $buildname, $buildid, $buildnum, $buildtype, $filetype, $sourcedir, $reqdir, $contacts)
$request = `
"BuildId=$buildid $filetype
BuildLabPhone=7058786
BuildRemark=$buildname
ContactPeople=$contacts
Directory=$sourcedir
Project=TechnicalComputing
Recursive=yes
StatusMail=$contacts
UserName=$env:username"
BuildLabPhone=7058786
BuildRemark=$buildname
ContactPeople=$contacts
Directory=$sourcedir
Project=TechnicalComputing
Recursive=yes
StatusMail=$contacts
UserName=$env:username
SubmitToArchive=all
SubmitToInternet=yes
ProductGroup=$productgroup
ProductName=$($productgroup)_$($productver)
Release=$buildnum
Build=$buildnum
BuildType=$buildtype
LocaleCode=en-US"
Write-Output "*** Symbol Submission Text ***
$request"
$request | Out-File -Encoding ascii -FilePath request_$filetype.txt
\\symbols\tools\createrequest.cmd -i request_$filetype.txt -d .\SymSrvRequestLogs -c -s
$reqfile = "$reqdir\symreq_$filetype.txt"
$request | Out-File -Encoding ascii -FilePath "$reqfile"
\\symbols\tools\createrequest.cmd -i "$reqfile" -d "$reqdir\SymSrvRequestLogs" -c -a
}
function _find_sdk_tool {
@ -77,8 +87,8 @@ function begin_sign_files {
}
}
[Reflection.Assembly]::Load("CODESIGN.Submitter, Version=3.0.0.6, Culture=neutral, PublicKeyToken=3d8252bd1272440d, processorArchitecture=MSIL") | Out-Null
[Reflection.Assembly]::Load("CODESIGN.PolicyManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3d8252bd1272440d, processorArchitecture=MSIL") | Out-Null
[Reflection.Assembly]::Load("CODESIGN.Submitter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=3d8252bd1272440d, processorArchitecture=MSIL") | Out-Null
[Reflection.Assembly]::Load("CODESIGN.PolicyManager, Version=4.1.0.0, Culture=neutral, PublicKeyToken=3d8252bd1272440d, processorArchitecture=MSIL") | Out-Null
while ($True) {
try {
@ -87,13 +97,16 @@ function begin_sign_files {
$job.Keywords = $jobKeywords
if ($certificates -match "authenticode") {
$job.SelectCertificate("10006") # Authenticode
$job.SelectCertificate("401") # Authenticode for binaries
}
if ($certificates -match "msi") {
$job.SelectCertificate("400") # Authenticode for MSI
}
if ($certificates -match "strongname") {
$job.SelectCertificate("67") # StrongName key
}
if ($certificates -match "opc") {
$job.SelectCertificate("160") # Microsoft OPC Publisher (VSIX)
if ($certificates -match "vsix") {
$job.SelectCertificate("100040160") # Microsoft OPC Publisher (VSIX)
}
foreach ($approver in $approvers) {

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

@ -1,16 +1,31 @@
function submit_symbols {
param($buildname, $buildid, $filetype, $sourcedir, $contacts)
param($productgroup, $productver, $buildname, $buildid, $buildnum, $buildtype, $filetype, $sourcedir, $reqdir, $contacts)
Write-Debug "*** Symbol Submission Text ***
BuildId=$buildid $filetype
BuildLabPhone=7058786
BuildRemark=$buildname
ContactPeople=$contacts
Directory=$sourcedir
Project=TechnicalComputing
Recursive=yes
StatusMail=$contacts
UserName=$env:username"
$request = `
"BuildId=$buildid $filetype
BuildLabPhone=7058786
BuildRemark=$buildname
ContactPeople=$contacts
Directory=$sourcedir
Project=TechnicalComputing
Recursive=yes
StatusMail=$contacts
UserName=$env:username
SubmitToArchive=all
SubmitToInternet=yes
ProductGroup=$productgroup
ProductName=$($productgroup)_$($productver)
Release=$buildnum
Build=$buildnum
BuildType=$buildtype
LocaleCode=en-US"
Write-Output "*** Symbol Submission Text ***
$request"
# Dump it to the file as well so that it can be manually submitted for testing.
$reqfile = "$reqdir\symreq_$filetype.txt"
$request | Out-File -Encoding ascii -FilePath "$reqfile"
}
function _find_sdk_tool {
@ -71,8 +86,8 @@ You may need to skip strong name verification on this machine."
}
}
[Reflection.Assembly]::Load("CODESIGN.Submitter, Version=3.0.0.6, Culture=neutral, PublicKeyToken=3d8252bd1272440d, processorArchitecture=MSIL") | Out-Null
[Reflection.Assembly]::Load("CODESIGN.PolicyManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3d8252bd1272440d, processorArchitecture=MSIL") | Out-Null
[Reflection.Assembly]::Load("CODESIGN.Submitter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=3d8252bd1272440d, processorArchitecture=MSIL") | Out-Null
[Reflection.Assembly]::Load("CODESIGN.PolicyManager, Version=4.1.0.0, Culture=neutral, PublicKeyToken=3d8252bd1272440d, processorArchitecture=MSIL") | Out-Null
$job = [CODESIGN.Submitter.Job]::Initialize("codesign.gtm.microsoft.com", 9556, $True)
$msg = "*** Signing Job Details ***
@ -83,18 +98,25 @@ job.Keywords: $jobKeywords"
if ($certificates -match "authenticode") {
$msg = "$msg
job.SelectCertificate(10006)"
$job.SelectCertificate("10006") # Authenticode
job.SelectCertificate(401)"
$job.SelectCertificate("401") # Authenticode for binaries
}
if ($certificates -match "msi") {
$msg = "$msg
job.SelectCertificate(400)"
$job.SelectCertificate("400") # Authenticode for MSI
}
if ($certificates -match "strongname") {
$msg = "$msg
job.SelectCertificate(67)"
$job.SelectCertificate("67") # StrongName key
}
if ($certificates -match "opc") {
$job.SelectCertificate("160") # Microsoft OPC Publisher (VSIX)
if ($certificates -match "vsix") {
$msg = "$msg
job.SelectCertificate(100040160)"
$job.SelectCertificate("100040160") # Microsoft OPC Publisher (VSIX)
}
foreach ($approver in $approvers) {
$msg = "$msg
job.AddApprover($approver)"
@ -159,11 +181,11 @@ function end_sign_files {
do {
$files = @()
Write-Progress -activity $activity -status "Waiting for completion: $jobCompletionPath" -percentcomplete $percent;
$percent = ($percent + 1) % 100
$percent = ($percent + 5) % 100
if ($percent -eq 90) {
$files = dir $jobCompletionPath
}
sleep -Milliseconds 50
sleep -Milliseconds 50
} while(-not $files -or $files.Count -ne $filecount);
mkdir $outdir -EA 0 | Out-Null

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

@ -186,6 +186,6 @@
</ItemGroup>
<PropertyGroup>
<CodeAnalysisRuleSet>$(BuildRoot)\Build\xTVS.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)\xTVS.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
</Project>

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

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

@ -1,13 +1,116 @@
$vsVersions = @{"14.0" = "2015"} #; "12.0" = "2013"; "11.0"= "2012"}
param([string] $options, [switch] $sign, [switch] $mocksign, [switch] $rebuild)
foreach($ver in $vsVersions.GetEnumerator())
{
if ($rebuild) {
$buildtarget = "Rebuild"
} else {
$buildtarget = "Build"
}
if (-not (get-command msbuild -EA 0)) {
Write-Error "Visual Studio build tools are required."
exit 1
}
$projectDir = Split-Path -parent $MyInvocation.MyCommand.Definition
if (-not $outdir) {
$outdir = "$projectDir"
}
Write-Output "Writing output MSIs to $outdir"
Remove-Item $projectdir\VSTestUtilities\BuildOutput\*.nupkg
$vsVersions = @(
@{v="15.0"; year="15"},
@{v="14.0"; year="2015"},
@{v="12.0"; year="2013"},
@{v="11.0"; year="2012"}
) | ?{
if ([Environment]::Is64BitOperatingSystem) {
$vs_path = ((gp "HKLM:\Software\Wow6432Node\Microsoft\VisualStudio\SxS\VS7")."$($_.v)")
} else {
$vs_path = ((gp "HKLM:\Software\Microsoft\VisualStudio\SxS\VS7")."$($_.v)")
}
return $vs_path -and (Test-Path "$vs_path\Common7\IDE\devenv.exe");
}
foreach($ver in $vsVersions) {
$versionNumber = $ver.Key
$versionName = $ver.Value
msbuild VSTestUtilities.sln /P:VSTarget="$versionNumber" /P:Configuration=Release /P:Platform=x86 /V:M
Build\nuget pack VSTestUtilities\VSTestUtilities.nuspec `
/Prop VSTarget="$versionNumber" `
/Prop VSVersion="$versionName"
msbuild $projectDir\VSTestUtilities\Utilities.UI\TestUtilities.UI.csproj `
/fl /flp:logfile="$projectDir\VSTestUtilities.build.log" `
/t:$buildtarget `
/v:m `
/nologo `
/p:VSTarget="$($ver.v)" `
/p:Configuration=Release `
/p:Platform=x86 `
$options
if (-not $?) {
Throw "Build failed"
}
}
$dllsource = "raw"
if ($sign -or $mocksign) {
Write-Output "Submitting signing job"
if ($sign) {
Import-Module -force $projectDir\Build\BuildReleaseHelpers.psm1
} else {
Import-Module -force $projectDir\Build\BuildReleaseMockHelpers.psm1
}
$approvers = "smortaz", "dinov", "stevdo", "pminaev", "gilbertw", "huvalo", "crwilcox"
$approvers = @($approvers | Where-Object {$_ -ne $env:USERNAME})
$dlljobs = @()
foreach($ver in $vsVersions) {
$dllfiles = @(Get-ChildItem "$projectDir\VSTestUtilities\BuildOutput\Release$($ver.v)\raw\*.dll" | %{ @{path=$_.FullName; name=$_.Name} })
$destdir = "$outdir\VSTestUtilities\BuildOutput\Release$($ver.v)\signed"
$dlljobs += begin_sign_files $dllfiles $destdir $approvers "VS Test Host $($ver.year)" `
"https://github.com/Microsoft/VisualStudio-TestHost" `
"VS Test Host" "Visual Studio; test" "authenticode;strongname"
}
end_sign_files $dlljobs
$dllsource = "signed"
}
foreach($ver in $vsVersions) {
Build\nuget pack `
"$projectDir\VSTestUtilities\VSTestUtilities.nuspec" `
/OutputDirectory (mkdir "$projectDir\VSTestUtilities\BuildOutput\Release$($ver.v)\pkg" -Force) `
/Prop VSTarget="$($ver.v)" `
/Prop VSVersion="$($ver.year)" `
/Prop Source="$dllsource"
if (-not $?) {
Throw "Build failed"
}
}
if ($sign -or $mocksign) {
Write-Output "Submitting nupkg signing job"
$pkgjobs = @()
foreach($ver in $vsVersions) {
$pkgfiles = @(Get-ChildItem "$projectDir\VSTestUtilities\BuildOutput\Release$($ver.v)\pkg\*.nupkg" | %{ @{path=$_.FullName; name=$_.Name } })
$pkgjobs += begin_sign_files $pkgfiles $outdir $approvers "VS Test Utilities Nuget Packages" `
"https://github.com/Microsoft/VisualStudio-TestHost" `
"VS Test Host" "Visual Studio; test" "authenticode"
}
end_sign_files $pkgjobs
} else {
Copy-Item "$projectDir\VSTestUtilities\BuildOutput\Release*\pkg\*.nupkg" $outdir
}
Write-Output ""
Write-Output " *"
Write-Output " * Final nupkgs:"
Write-Output " * $((gci $outdir\*.nupkg) -join '
* ')"
Write-Output " *"
Write-Output ""

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

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Ensures that if this file changes it forces a rebuild -->
<PropertyGroup>
<MSBuildAllProjects>
$(MSBuildAllProjects);$(MSBuildThisFileFullPath)
</MSBuildAllProjects>
</PropertyGroup>
<PropertyGroup>
<Language>C#</Language> <!-- Duplicated from the C# targets file -->
<Platform Condition="'$(Platform)'==''">x86</Platform>
<CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors>
<!-- This eliminates the warning CA0060, EnvDTE Version=7.0 not found, for VS 10 installations. -->
<CodeAnalysisAdditionalOptions> /assemblycomparemode:StrongNameIgnoringVersion</CodeAnalysisAdditionalOptions>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineConstants>DEBUG;TRACE;$(DefineConstants)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineConstants>TRACE;$(DefineConstants)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(VSTarget)' == '14.0' ">
<DefineConstants>$(DefineConstants);DEV14;DEV14_OR_LATER;DEV12_OR_LATER;DEV11_OR_LATER</DefineConstants>
<VSCTDefinitions>DEV14;DEV14_OR_LATER;DEV12_OR_LATER;DEV11_OR_LATER</VSCTDefinitions>
<MicrosoftBuildAssemblyVersion>14.0.0.0</MicrosoftBuildAssemblyVersion>
<MicrosoftBuildAssemblyVersionSuffix>Core</MicrosoftBuildAssemblyVersionSuffix>
</PropertyGroup>
<PropertyGroup Condition=" '$(VSTarget)' == '12.0' ">
<DefineConstants>$(DefineConstants);DEV12;DEV12_OR_LATER;DEV11_OR_LATER</DefineConstants>
<VSCTDefinitions>DEV12;DEV12_OR_LATER;DEV11_OR_LATER</VSCTDefinitions>
<MicrosoftBuildAssemblyVersion>12.0.0.0</MicrosoftBuildAssemblyVersion>
<MicrosoftBuildAssemblyVersionSuffix>v12.0</MicrosoftBuildAssemblyVersionSuffix>
</PropertyGroup>
<PropertyGroup Condition=" '$(VSTarget)' == '11.0' ">
<DefineConstants>$(DefineConstants);DEV11;DEV11_OR_LATER</DefineConstants>
<VSCTDefinitions>DEV11;DEV11_OR_LATER</VSCTDefinitions>
<MicrosoftBuildAssemblyVersion>4.0.0.0</MicrosoftBuildAssemblyVersion>
<MicrosoftBuildAssemblyVersionSuffix>v4.0</MicrosoftBuildAssemblyVersionSuffix>
</PropertyGroup>
<PropertyGroup Condition=" '$(VSTarget)' == '10.0' ">
<DefineConstants>$(DefineConstants);DEV10</DefineConstants>
<VSCTDefinitions>DEV10</VSCTDefinitions>
<MicrosoftBuildAssemblyVersion>4.0.0.0</MicrosoftBuildAssemblyVersion>
<MicrosoftBuildAssemblyVersionSuffix>v4.0</MicrosoftBuildAssemblyVersionSuffix>
</PropertyGroup>
</Project>

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

@ -1,187 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" TreatAsLocalProperty="BuildOutputRoot;BuildRoot;OutputPathSuffix;OutputPath;IntermediateOutputPath">
<!-- Ensures that if this file changes it forces a rebuild -->
<PropertyGroup>
<MSBuildAllProjects>
$(MSBuildAllProjects);$(MSBuildThisFileFullPath)
</MSBuildAllProjects>
</PropertyGroup>
<PropertyGroup>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSTarget Condition="$(VSTarget)=='' and '$(VisualStudioVersion)'=='15.0'">15.0</VSTarget>
<VSTarget Condition="$(VSTarget)=='' and '$(VisualStudioVersion)'=='14.0'">14.0</VSTarget>
<VSTarget Condition="$(VSTarget)=='' and '$(VisualStudioVersion)'=='12.0'">12.0</VSTarget>
<VSTarget Condition="$(VSTarget)=='' and '$(VisualStudioVersion)'=='11.0'">11.0</VSTarget>
<VSTarget Condition="$(VSTarget)==''">10.0</VSTarget>
<VSTargetName Condition="'$(VSTarget)' == '15.0'">15</VSTargetName>
<VSTargetName Condition="'$(VSTarget)' == '14.0'">2015</VSTargetName>
<VSTargetName Condition="'$(VSTarget)' == '12.0'">2013</VSTargetName>
<VSTargetName Condition="'$(VSTarget)' == '11.0'">2012</VSTargetName>
<VSTargetName Condition="'$(VSTarget)' == '10.0'">2010</VSTargetName>
<BuildNumber Condition="'$(BuildNumber)' == ''">1000.00</BuildNumber>
<!--
The version number that will identify a specific build. This appears in
Programs and Features, Extension Manager, and Help About.
-->
<FileVersionPrefix Condition="$(FileVersionPrefix) == ''">3.0</FileVersionPrefix>
<FileVersion Condition="$(FileVersion) == ''">$(FileVersionPrefix).$(BuildNumber)</FileVersion>
<!--
The version number that will identify assembly compatibility.
-->
<StableVersionPrefix Condition="$(StableVersionPrefix) == ''">3.0.0</StableVersionPrefix>
<StableVersion Condition="$(StableVersion) == ''">$(StableVersionPrefix).$(VSTargetName)</StableVersion>
<!-- When true, increases build restrictions to ensure complete public releases -->
<ReleaseBuild Condition="'$(ReleaseBuild)' == ''">false</ReleaseBuild>
<CustomBuildIdentifier Condition="'$(CustomBuildIdentifierTemplate)' == 'Dev'">Dev $([System.DateTime]::Now.ToString(`yyyy-MM-dd`))</CustomBuildIdentifier>
<CustomBuildIdentifier Condition="'$(CustomBuildIdentifierTemplate)' == 'Alpha'">$(FileVersionPrefix) Alpha $(CustomBuildIdentifierIndex)</CustomBuildIdentifier>
<CustomBuildIdentifier Condition="'$(CustomBuildIdentifierTemplate)' == 'Beta'">$(FileVersionPrefix) Beta $(CustomBuildIdentifierIndex)</CustomBuildIdentifier>
<CustomBuildIdentifier Condition="'$(CustomBuildIdentifierTemplate)' == 'RC'">$(FileVersionPrefix) RC $(CustomBuildIdentifierIndex)</CustomBuildIdentifier>
<CustomBuildIdentifier Condition="'$(CustomBuildIdentifierTemplate)' == 'Rel'">$(FileVersionPrefix)</CustomBuildIdentifier>
<CustomBuildIdentifier Condition="'$(CustomBuildIdentifier)' != ''">$(CustomBuildIdentifier.Trim())</CustomBuildIdentifier>
<!-- The default Platform value is specified in the imports below -->
<RunFXCop Condition="'$(RunFXCop)' == ''">false</RunFXCop>
<BuildingInsideVisualStudio Condition="'$(BuildingInsideVisualStudio)' == ''">false</BuildingInsideVisualStudio>
<TargetFrameworkVersion Condition="'$(TargetFrameworkVersion)' == ''">v4.6</TargetFrameworkVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
<BuildRoot Condition="'$(BuildRoot)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), build.root))</BuildRoot>
<BuildRoot Condition="!HasTrailingSlash($(BuildRoot))">$(BuildRoot)\</BuildRoot>
<TargetsPath>$(BuildRoot)Build</TargetsPath>
<!-- BuildOutputRoot contains all build files.
Rather than customizing OutputPath or IntermediateOutputPath in projects,
$(OutputPathSuffix) and $(IntermediateOutputPathSuffix) should be set.
-->
<BuildOutputRoot Condition="'$(BuildOutputRoot)' == ''">$(TF_BUILD_BinariesDirectory)</BuildOutputRoot>
<BuildOutputRoot Condition="'$(BuildOutputRoot)' == ''">$(BuildRoot)\BuildOutput\$(Configuration)$(VSTarget)\</BuildOutputRoot>
<BuildOutputRoot Condition="!HasTrailingSlash($(BuildOutputRoot))">$(BuildOutputRoot)\</BuildOutputRoot>
<OutputPath Condition="'$(OutputPath)' == ''">$(BuildOutputRoot)raw\$(OutputPathSuffix)\</OutputPath>
<OutputPath Condition="!HasTrailingSlash($(OutputPath))">$(OutputPath)\</OutputPath>
<BinariesOutputPath Condition="'$(BinariesOutputPath)' == ''">$(BuildOutputRoot)raw\binaries\</BinariesOutputPath>
<BinariesOutputPath Condition="!HasTrailingSlash($(BinariesOutputPath))">$(BinariesOutputPath)\</BinariesOutputPath>
<LayoutOutputPath Condition="'$(LayoutOutputPath)' == ''">$(BuildOutputRoot)layout\</LayoutOutputPath>
<LayoutOutputPath Condition="!HasTrailingSlash($(LayoutOutputPath))">$(LayoutOutputPath)\</LayoutOutputPath>
<ReleaseOutputPath Condition="'$(ReleaseOutputPath)' == ''">$(BuildOutputRoot)release\</ReleaseOutputPath>
<ReleaseOutputPath Condition="!HasTrailingSlash($(ReleaseOutputPath))">$(ReleaseOutputPath)\</ReleaseOutputPath>
<SetupOutputPath Condition="'$(SetupOutputPath)' == ''">$(BuildOutputRoot)raw\setup\</SetupOutputPath>
<SetupOutputPath Condition="!HasTrailingSlash($(SetupOutputPath))">$(SetupOutputPath)\</SetupOutputPath>
<ToolsOutputPath Condition="'$(ToolsOutputPath)' == ''">$(BuildOutputRoot)raw\tools\</ToolsOutputPath>
<ToolsOutputPath Condition="!HasTrailingSlash($(ToolsOutputPath))">$(ToolsOutputPath)\</ToolsOutputPath>
<UnsignedOutputPath Condition="'$(UnsignedOutputPath)' == ''">$(BuildOutputRoot)raw\unsigned\</UnsignedOutputPath>
<UnsignedOutputPath Condition="!HasTrailingSlash($(UnsignedOutputPath))">$(UnsignedOutputPath)\</UnsignedOutputPath>
<IntermediateOutputRoot Condition="'$(IntermediateOutputRoot)' == ''">$(BuildOutputRoot)raw\obj\</IntermediateOutputRoot>
<IntermediateOutputRoot Condition="!HasTrailingSlash($(IntermediateOutputRoot))">$(IntermediateOutputRoot)\</IntermediateOutputRoot>
<IntermediateOutputPath Condition="'$(IntermediateOutputPath)' == ''">$(IntermediateOutputRoot)$(IntermediateOutputPathSuffix)</IntermediateOutputPath>
<IntermediateOutputPath Condition="!HasTrailingSlash($(IntermediateOutputPath))">$(IntermediateOutputPath)\</IntermediateOutputPath>
<OutDir>$(OutputPath)</OutDir>
<IntDir>$(IntermediateOutputPath)</IntDir>
<!-- Allows assemblies to specify their own version -->
<SuppressCommonAssemblyVersion Condition="'$(SuppressCommonAssemblyVersion)' == ''">false</SuppressCommonAssemblyVersion>
<!-- Enables VS SDK build steps.
Set CreateVsixContainer for projects that create a .vsix file.
Set UseVSSDKTemplateOnly for projects that build templates but no code.
-->
<UseVSSDK Condition="'$(UseVSSDK)' == ''">false</UseVSSDK>
<UseVSSDKTemplateOnly Condition="'$(UseVSSDKTemplateOnly)' == ''">false</UseVSSDKTemplateOnly>
<!-- The location to copy VSIX contents so they can be signed and zipped -->
<CopyVsixExtensionRoot Condition="'$(CopyVsixExtensionRoot)' == ''">$(LayoutOutputPath)</CopyVsixExtensionRoot>
<!-- These targets are invoked to find VSIX contents on all projects.
The files found are used for deployment to the Experimental hive and
creation of .vsix files.
-->
<IncludeVsixItemsFromTargets Condition="'$(IncludeVsixItemsFromTargets)' == '' and '$(Configuration)' == 'Debug'">BuiltProjectOutputGroup;DebugSymbolsProjectOutputGroup</IncludeVsixItemsFromTargets>
<IncludeVsixItemsFromTargets Condition="'$(IncludeVsixItemsFromTargets)' == ''">BuiltProjectOutputGroup</IncludeVsixItemsFromTargets>
<!-- Copies entire VSIX contents to the output directory. -->
<CopyLocalReferenceVsixItems Condition="'$(CopyLocalReferenceVsixItems)' == ''">false</CopyLocalReferenceVsixItems>
</PropertyGroup>
<PropertyGroup>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors Condition="'$(TreatWarningsAsErrors)' == ''">true</TreatWarningsAsErrors>
<!-- Suppress warning about multiply defined AssemblyVersionInfo -->
<NoWarn>436</NoWarn>
<RunCodeAnalysis>$(RunFXCop)</RunCodeAnalysis>
<SignAssembly Condition="$(SignAssembly) == ''">true</SignAssembly>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
<DevEnvDir>$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\$(VSTarget)', 'InstallDir', null, RegistryView.Registry32))\</DevEnvDir>
<VSSDKDir>$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\VSIP\$(VSTarget)', 'InstallDir', null, RegistryView.Registry32))\</VSSDKDir>
</PropertyGroup>
<PropertyGroup>
<!--
Read the update version for the build machine so we can exclude
features that require a particular update to build.
See language-specific settings files for feature preprocessor
definitions.
-->
<_VSUpdateVersion Condition="$(VSUpdateVersion)=='' and $(VisualStudioVersion)!='10.0'">$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\vs\Servicing\$(VSTarget)\devenv', 'UpdateVersion', null, RegistryView.Registry32))</_VSUpdateVersion>
<VSMajorVersion Condition="$(VSMajorVersion)=='' and $(_VSUpdateVersion)!=''">$([System.Int32]::Parse($(_VSUpdateVersion.Substring(0, $(_VSUpdateVersion.IndexOf(`.`))))))</VSMajorVersion>
<VSUpdateVersion Condition="$(VSUpdateVersion)=='' and $(_VSUpdateVersion)!=''">$([System.Int32]::Parse($(_VSUpdateVersion.Substring($([MSBuild]::Add(1, $(_VSUpdateVersion.LastIndexOf(`.`))))))))</VSUpdateVersion>
</PropertyGroup>
<ItemDefinitionGroup>
<!-- By default, references are never copied.
Setting Private to true will treat the reference as a critical dependency,
but files are only copied if CopyLocalReferenceVsixItems is also true, or if
a .vsix file is generated.
-->
<Reference>
<Private>false</Private>
</Reference>
<ProjectReference>
<Private>false</Private>
</ProjectReference>
<ProjectReference2>
<Visible>false</Visible>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<BuildReference>true</BuildReference>
<IncludeInVSIX>true</IncludeInVSIX>
</ProjectReference2>
<ProjectFile>
<Properties>BuildRoot=$(BuildRoot)</Properties>
</ProjectFile>
</ItemDefinitionGroup>
<ItemGroup>
<CodeAnalysisDictionary Include="$(BuildRoot)\Build\CustomDictionary.xml" />
</ItemGroup>
<PropertyGroup>
<CodeAnalysisRuleSet>$(BuildRoot)\Build\xTVS.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
</Project>

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

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\Build\Common.Build.settings" />
<Import Project="..\Build\Common.Build.CSharp.settings" />
<Import Project="..\..\Build\Common.Build.settings" />
<Import Project="..\..\Build\Common.Build.CSharp.settings" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>

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

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\Build\Common.Build.settings" />
<Import Project="..\Build\Common.Build.CSharp.settings" />
<Import Project="..\..\Build\Common.Build.settings" />
<Import Project="..\..\Build\Common.Build.CSharp.settings" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>

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

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\Build\Common.Build.settings" />
<Import Project="..\Build\Common.Build.CSharp.settings" />
<Import Project="..\..\Build\Common.Build.settings" />
<Import Project="..\..\Build\Common.Build.CSharp.settings" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>

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

@ -14,8 +14,8 @@
<summary>Test utilities for automating Visual Studio $VSVersion$ and higher</summary>
</metadata>
<files>
<file src="BuildOutput\Release$VSTarget$\raw\Microsoft.VisualStudioTools.MockVsTests.$VSTarget$.dll" target="lib\net45"/>
<file src="BuildOutput\Release$VSTarget$\raw\Microsoft.VisualStudioTools.TestUtilities.$VSTarget$.dll" target="lib\net45"/>
<file src="BuildOutput\Release$VSTarget$\raw\Microsoft.VisualStudioTools.TestUtilities.UI.$VSTarget$.dll" target="lib\net45"/>
<file src="BuildOutput\Release$VSTarget$\$Source$\Microsoft.VisualStudioTools.MockVsTests.$VSTarget$.dll" target="lib\net45"/>
<file src="BuildOutput\Release$VSTarget$\$Source$\Microsoft.VisualStudioTools.TestUtilities.$VSTarget$.dll" target="lib\net45"/>
<file src="BuildOutput\Release$VSTarget$\$Source$\Microsoft.VisualStudioTools.TestUtilities.UI.$VSTarget$.dll" target="lib\net45"/>
</files>
</package>