提交 6bddcf92 编写于 作者: C Charles Stoner

Merge remote-tracking branch 'upstream/master' into...

Merge remote-tracking branch 'upstream/master' into merges/master-to-features/compiler-20171214-080025
...@@ -16,6 +16,7 @@ usage() ...@@ -16,6 +16,7 @@ usage()
echo " --restore Restore projects required to build" echo " --restore Restore projects required to build"
echo " --build Build all projects" echo " --build Build all projects"
echo " --test Run unit tests" echo " --test Run unit tests"
echo " --mono Run unit tests with mono"
echo " --build-bootstrap Build the bootstrap compilers" echo " --build-bootstrap Build the bootstrap compilers"
echo " --use-bootstrap Use the built bootstrap compilers when running main build" echo " --use-bootstrap Use the built bootstrap compilers when running main build"
echo " --bootstrap Implies --build-bootstrap and --use-bootstrap" echo " --bootstrap Implies --build-bootstrap and --use-bootstrap"
...@@ -30,6 +31,7 @@ build_configuration=Debug ...@@ -30,6 +31,7 @@ build_configuration=Debug
restore=false restore=false
build=false build=false
test_=false test_=false
use_mono=false
build_bootstrap=false build_bootstrap=false
use_bootstrap=false use_bootstrap=false
stop_vbcscompiler=false stop_vbcscompiler=false
...@@ -74,6 +76,10 @@ do ...@@ -74,6 +76,10 @@ do
test_=true test_=true
shift 1 shift 1
;; ;;
--mono)
use_mono=true
shift 1
;;
--build-bootstrap) --build-bootstrap)
build_bootstrap=true build_bootstrap=true
shift 1 shift 1
...@@ -149,5 +155,11 @@ fi ...@@ -149,5 +155,11 @@ fi
if [[ "${test_}" == true ]] if [[ "${test_}" == true ]]
then then
"${root_path}"/build/scripts/tests.sh "${build_configuration}" if [[ "${use_mono}" == true ]]
then
test_runtime=mono
else
test_runtime=dotnet
fi
"${root_path}"/build/scripts/tests.sh "${build_configuration}" "${test_runtime}"
fi fi
...@@ -5,5 +5,6 @@ ...@@ -5,5 +5,6 @@
<dotnetRuntimeVersion>2.0.0</dotnetRuntimeVersion> <dotnetRuntimeVersion>2.0.0</dotnetRuntimeVersion>
<dotnetSdkVersion>2.2.0-preview1-007622</dotnetSdkVersion> <dotnetSdkVersion>2.2.0-preview1-007622</dotnetSdkVersion>
<nugetExeVersion>4.3.0</nugetExeVersion> <nugetExeVersion>4.3.0</nugetExeVersion>
<monoVersion>5.8.0.88</monoVersion>
</PropertyGroup> </PropertyGroup>
</Project> </Project>
...@@ -4,36 +4,40 @@ ...@@ -4,36 +4,40 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>$(RoslynPortableTargetFrameworks)</TargetFrameworks> <TargetFrameworks>$(RoslynPortableTargetFrameworks)</TargetFrameworks>
<NonShipping>true</NonShipping> <NonShipping>true</NonShipping>
<OutputType>Library</OutputType>
<DisableImplicitFrameworkReferences>false</DisableImplicitFrameworkReferences>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Net.Sdk" Version="$(MicrosoftNetSdkVersion)" /> <PackageReference Include="Microsoft.Net.Sdk" Version="$(MicrosoftNetSdkVersion)" ExcludeAssets="all" />
<PackageReference Include="Microsoft.Build.Logging.StructuredLogger" Version="$(MicrosoftBuildLoggingStructuredLoggerVersion)" /> <PackageReference Include="Microsoft.Build.Logging.StructuredLogger" Version="$(MicrosoftBuildLoggingStructuredLoggerVersion)" ExcludeAssets="all" />
<PackageReference Include="MicroBuild.Core.Sentinel" Version="$(MicroBuildCoreSentinelVersion)" /> <PackageReference Include="Microsoft.NETCore.Platforms" Version="$(MicrosoftNETCorePlatformsVersion)" ExcludeAssets="all" />
<PackageReference Include="MicroBuild.Core" Version="$(MicroBuildCoreVersion)" /> <PackageReference Include="Microsoft.DotNet.Build.Tasks.Feed" Version="$(MicrosoftDotNetBuildTasksFeedVersion)" ExcludeAssets="all" />
<PackageReference Include="MicroBuild.Plugins.SwixBuild" Version="$(MicroBuildPluginsSwixBuildVersion)" /> <PackageReference Include="Microsoft.Net.RoslynDiagnostics" Version="$(MicrosoftNetRoslynDiagnosticsVersion)" ExcludeAssets="all" />
<PackageReference Include="Microsoft.NETCore.Platforms" Version="$(MicrosoftNETCorePlatformsVersion)" /> <PackageReference Include="xunit" Version="$(xunitVersion)" ExcludeAssets="all" />
<PackageReference Include="Microsoft.DiaSymReader.Native" Version="$(MicrosoftDiaSymReaderNativeVersion)" /> <PackageReference Include="xunit.analyzers" Version="$(xunitanalyzersVersion)" ExcludeAssets="all" />
<PackageReference Include="Microsoft.DotNet.Build.Tasks.Feed" Version="$(MicrosoftDotNetBuildTasksFeedVersion)" /> <PackageReference Include="xunit.runner.console" Version="$(xunitrunnerconsoleVersion)" ExcludeAssets="all" />
<PackageReference Include="Microsoft.Net.Compilers" Version="$(MicrosoftNetCompilersVersion)" /> <PackageReference Include="RoslynTools.ReferenceAssemblies" Version="$(RoslynToolsReferenceAssembliesVersion)" ExcludeAssets="all" />
<PackageReference Include="Microsoft.NETCore.Compilers" Version="$(MicrosoftNETCoreCompilersVersion)" /> <PackageReference Include="pdb2pdb" Version="$(Pdb2PdbVersion)" ExcludeAssets="all" />
<PackageReference Include="Microsoft.Net.RoslynDiagnostics" Version="$(MicrosoftNetRoslynDiagnosticsVersion)" />
<PackageReference Include="FakeSign" Version="$(FakeSignVersion)" />
<PackageReference Include="xunit" Version="$(xunitVersion)" />
<PackageReference Include="xunit.analyzers" Version="$(xunitanalyzersVersion)" />
<PackageReference Include="xunit.runner.console" Version="$(xunitrunnerconsoleVersion)" />
<PackageReference Include="RoslynDependencies.OptimizationData" Version="$(RoslynDependenciesOptimizationDataVersion)" />
<PackageReference Include="RoslynTools.ReferenceAssemblies" Version="$(RoslynToolsReferenceAssembliesVersion)" />
<PackageReference Include="pdb2pdb" Version="$(Pdb2PdbVersion)" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net461'"> <ItemGroup Condition="'$(TargetFramework)' == 'net461'">
<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="$(MicrosoftVSSDKBuildToolsVersion)" /> <PackageReference Include="FakeSign" Version="$(FakeSignVersion)" ExcludeAssets="all" />
<PackageReference Include="Roslyn.Build.Util" Version="$(RoslynBuildUtilVersion)" /> <PackageReference Include="MicroBuild.Core.Sentinel" Version="$(MicroBuildCoreSentinelVersion)" ExcludeAssets="all" />
<PackageReference Include="RoslynTools.Microsoft.LocateVS" Version="$(RoslynToolsMicrosoftLocateVSVersion)" /> <PackageReference Include="MicroBuild.Core" Version="$(MicroBuildCoreVersion)" ExcludeAssets="all" />
<PackageReference Include="RoslynTools.Microsoft.SignTool" Version="$(RoslynToolsMicrosoftSignToolVersion)" /> <PackageReference Include="MicroBuild.Plugins.SwixBuild" Version="$(MicroBuildPluginsSwixBuildVersion)" ExcludeAssets="all" />
<PackageReference Include="RoslynTools.Microsoft.VSIXExpInstaller" Version="$(RoslynToolsMicrosoftVSIXExpInstallerVersion)" /> <PackageReference Include="Microsoft.DiaSymReader.Native" Version="$(MicrosoftDiaSymReaderNativeVersion)" ExcludeAssets="all" />
<PackageReference Include="xunit.runner.wpf" Version="$(xunitrunnerwpfVersion)" /> <PackageReference Include="Microsoft.Net.Compilers" Version="$(MicrosoftNetCompilersVersion)" ExcludeAssets="all" />
<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="$(MicrosoftVSSDKBuildToolsVersion)" ExcludeAssets="all" />
<PackageReference Include="Roslyn.Build.Util" Version="$(RoslynBuildUtilVersion)" ExcludeAssets="all" />
<PackageReference Include="RoslynDependencies.OptimizationData" Version="$(RoslynDependenciesOptimizationDataVersion)" ExcludeAssets="all" />
<PackageReference Include="RoslynTools.Microsoft.LocateVS" Version="$(RoslynToolsMicrosoftLocateVSVersion)" ExcludeAssets="all" />
<PackageReference Include="RoslynTools.Microsoft.SignTool" Version="$(RoslynToolsMicrosoftSignToolVersion)" ExcludeAssets="all" />
<PackageReference Include="RoslynTools.Microsoft.VSIXExpInstaller" Version="$(RoslynToolsMicrosoftVSIXExpInstallerVersion)" ExcludeAssets="all" />
<PackageReference Include="RoslynTools.MSBuild" Version="$(RoslynToolsMSBuildVersion)" ExcludeAssets="all" />
<PackageReference Include="xunit.runner.wpf" Version="$(xunitrunnerwpfVersion)" ExcludeAssets="all" />
<PackageReference Include="vswhere" Version="$(vswhereVersion)" ExcludeAssets="all" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0'"> <ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0'">
<PackageReference Include="dotnet-xunit" Version="$(dotnetxunitVersion)" /> <PackageReference Include="dotnet-xunit" Version="$(dotnetxunitVersion)" ExcludeAssets="all" />
<PackageReference Include="Microsoft.NETCore.Compilers" Version="$(MicrosoftNETCoreCompilersVersion)" ExcludeAssets="all" />
</ItemGroup> </ItemGroup>
</Project> </Project>
...@@ -134,7 +134,7 @@ function Ensure-NuGet() { ...@@ -134,7 +134,7 @@ function Ensure-NuGet() {
} }
# Ensure the proper SDK in installed in our %PATH%. This is how MSBuild locates the # Ensure the proper SDK in installed in our %PATH%. This is how MSBuild locates the
# SDK. # SDK. Returns the location to the dotnet exe
function Ensure-DotnetSdk() { function Ensure-DotnetSdk() {
# Check to see if the specified dotnet installations meets our build requirements # Check to see if the specified dotnet installations meets our build requirements
...@@ -191,10 +191,12 @@ function Ensure-BasicTool([string]$name, [string]$version = "") { ...@@ -191,10 +191,12 @@ function Ensure-BasicTool([string]$name, [string]$version = "") {
$version = Get-PackageVersion $name $version = Get-PackageVersion $name
} }
$p = Join-Path (Get-PackagesDir) "$($name).$($version)" $p = Join-Path (Get-PackagesDir) "$($name)\$($version)"
if (-not (Test-Path $p)) { if (-not (Test-Path $p)) {
$nuget = Ensure-NuGet $toolsetProject = Join-Path $repoDir "build\ToolsetPackages\RoslynToolset.csproj"
Exec-Block { & $nuget install $name -OutputDirectory (Get-PackagesDir) -Version $version } | Out-Null $dotnet = Ensure-DotnetSdk
Write-Host "Downloading $name"
Restore-Project $dotnet $toolsetProject
} }
return $p return $p
...@@ -389,34 +391,33 @@ function Get-VisualStudioDir() { ...@@ -389,34 +391,33 @@ function Get-VisualStudioDir() {
# Clear out the NuGet package cache # Clear out the NuGet package cache
function Clear-PackageCache() { function Clear-PackageCache() {
$nuget = Ensure-NuGet $dotnet = Ensure-DotnetSdk
Exec-Block { & $nuget locals all -clear } | Out-Host Exec-Console $dotnet "nuget locals all --clear"
} }
# Restore a single project # Restore a single project
function Restore-Project([string]$fileName, [string]$nuget, [string]$msbuildDir) { function Restore-Project([string]$dotnetExe, [string]$projectFileName) {
$nugetConfig = Join-Path $repoDir "nuget.config" $nugetConfig = Join-Path $repoDir "nuget.config"
$filePath = $fileName $projectFilePath = $projectFileName
if (-not (Test-Path $filePath)) { if (-not (Test-Path $projectFilePath)) {
$filePath = Join-Path $repoDir $fileName $projectFilePath = Join-Path $repoDir $projectFileName
} }
Exec-Console $nuget "restore $filePath -verbosity quiet -configfile $nugetConfig -MSBuildPath ""$msbuildDir"" -Project2ProjectTimeOut 1200" Exec-Console $dotnet "restore --verbosity quiet --configfile $nugetConfig $projectFilePath"
} }
# Restore all of the projects that the repo consumes # Restore all of the projects that the repo consumes
function Restore-Packages([string]$msbuildDir = "", [string]$project = "") { function Restore-Packages([string]$dotnetExe = "", [string]$project = "") {
$nuget = Ensure-NuGet if ($dotnetExe -eq "") {
if ($msbuildDir -eq "") { $dotnetExe = Ensure-DotnetSdk
$msbuildDir = Get-MSBuildDir
} }
Write-Host "Restore using MSBuild at $msbuildDir" Write-Host "Restore using dotnet at $dotnetExe"
if ($project -ne "") { if ($project -ne "") {
Write-Host "Restoring project $project" Write-Host "Restoring project $project"
Restore-Project -fileName $project -msbuildDir $msbuildDir -nuget $nuget Restore-Project $dotnetExe $project
} }
else { else {
$all = @( $all = @(
...@@ -427,13 +428,13 @@ function Restore-Packages([string]$msbuildDir = "", [string]$project = "") { ...@@ -427,13 +428,13 @@ function Restore-Packages([string]$msbuildDir = "", [string]$project = "") {
foreach ($cur in $all) { foreach ($cur in $all) {
$both = $cur.Split(':') $both = $cur.Split(':')
Write-Host "Restoring $($both[0])" Write-Host "Restoring $($both[0])"
Restore-Project -fileName $both[1] -msbuildDir $msbuildDir -nuget $nuget Restore-Project $dotnetExe $both[1]
} }
} }
} }
# Restore all of the projects that the repo consumes # Restore all of the projects that the repo consumes
function Restore-All([string]$msbuildDir = "") { function Restore-All([string]$dotnetExe = "") {
Restore-Packages -msbuildDir $msbuildDir Restore-Packages -dotnetExe $dotnetExe
} }
...@@ -27,7 +27,6 @@ param ( ...@@ -27,7 +27,6 @@ param (
[switch]$sign = $false, [switch]$sign = $false,
[switch]$pack = $false, [switch]$pack = $false,
[switch]$binaryLog = $false, [switch]$binaryLog = $false,
[string]$msbuildDir = "",
[string]$signType = "", [string]$signType = "",
# Test options # Test options
...@@ -61,7 +60,6 @@ function Print-Usage() { ...@@ -61,7 +60,6 @@ function Print-Usage() {
Write-Host " -sign Sign our binaries" Write-Host " -sign Sign our binaries"
Write-Host " -signType Type of sign: real, test, verify" Write-Host " -signType Type of sign: real, test, verify"
Write-Host " -pack Create our NuGet packages" Write-Host " -pack Create our NuGet packages"
Write-Host " -msbuildDir MSBuild to use for operations"
Write-Host " -binaryLog Create binary log for every MSBuild invocation" Write-Host " -binaryLog Create binary log for every MSBuild invocation"
Write-Host "" Write-Host ""
Write-Host "Test options" Write-Host "Test options"
...@@ -181,7 +179,9 @@ function Make-BootstrapBuild() { ...@@ -181,7 +179,9 @@ function Make-BootstrapBuild() {
} }
function Build-Artifacts() { function Build-Artifacts() {
Run-MSBuild "Roslyn.sln" "/p:DeployExtension=false" if ($build) {
Run-MSBuild "Roslyn.sln" "/p:DeployExtension=false"
}
if ($buildAll) { if ($buildAll) {
Build-ExtraSignArtifacts Build-ExtraSignArtifacts
...@@ -283,6 +283,7 @@ function Build-NuGetPackages() { ...@@ -283,6 +283,7 @@ function Build-NuGetPackages() {
$buildArgs = '/p:SkipReleaseVersion=true /p:SkipPreReleaseVersion=true' $buildArgs = '/p:SkipReleaseVersion=true /p:SkipPreReleaseVersion=true'
} }
Ensure-NuGet | Out-Null
Run-MSBuild "src\NuGet\NuGet.proj" $buildArgs Run-MSBuild "src\NuGet\NuGet.proj" $buildArgs
} }
...@@ -597,7 +598,7 @@ try { ...@@ -597,7 +598,7 @@ try {
Process-Arguments Process-Arguments
$msbuild, $msbuildDir = Ensure-MSBuildAndDir -msbuildDir $msbuildDir $msbuild = Ensure-MSBuild
$dotnet = Ensure-DotnetSdk $dotnet = Ensure-DotnetSdk
$buildConfiguration = if ($release) { "Release" } else { "Debug" } $buildConfiguration = if ($release) { "Release" } else { "Debug" }
$configDir = Join-Path $binariesDir $buildConfiguration $configDir = Join-Path $binariesDir $buildConfiguration
...@@ -615,7 +616,7 @@ try { ...@@ -615,7 +616,7 @@ try {
if ($restore) { if ($restore) {
Write-Host "Running restore" Write-Host "Running restore"
Restore-All -msbuildDir $msbuildDir Restore-All $dotnet
} }
if ($isAnyTestSpecial) { if ($isAnyTestSpecial) {
...@@ -627,7 +628,7 @@ try { ...@@ -627,7 +628,7 @@ try {
$bootstrapDir = Make-BootstrapBuild $bootstrapDir = Make-BootstrapBuild
} }
if ($build) { if ($build -or $pack) {
Build-Artifacts Build-Artifacts
} }
......
#!/usr/bin/env bash
mkdir -p ../../Binaries/mono_build
cd ../../Binaries/mono_build
sudo apt-get install git autoconf libtool automake build-essential mono-devel gettext cmake
PREFIX=$PWD/mono
VERSION=5.8.0.88
curl https://download.mono-project.com/sources/mono/mono-${VERSION}.tar.bz2 | tar xj
pushd mono-$VERSION
./configure --prefix=$PREFIX
make
make install
popd
tar czf mono-${VERSION}.tar.gz mono
...@@ -86,10 +86,7 @@ function Run-GetText() { ...@@ -86,10 +86,7 @@ function Run-GetText() {
# Build all of the tools that we need to generate the syntax trees and ensure # Build all of the tools that we need to generate the syntax trees and ensure
# they are in a published / runnable state. # they are in a published / runnable state.
function Build-Tools() { function Build-Tools() {
$msbuild = Ensure-MSBuild $dotnet = Ensure-DotnetSdk
$msbuildDir = Split-Path -parent $msbuild
$nuget = Ensure-NuGet
$list = @( $list = @(
'boundTreeGenerator;BoundTreeGenerator;BoundTreeGenerator\CompilersBoundTreeGenerator.csproj', 'boundTreeGenerator;BoundTreeGenerator;BoundTreeGenerator\CompilersBoundTreeGenerator.csproj',
'csharpErrorFactsGenerator;CSharpErrorFactsGenerator;CSharpErrorFactsGenerator\CSharpErrorFactsGenerator.csproj', 'csharpErrorFactsGenerator;CSharpErrorFactsGenerator;CSharpErrorFactsGenerator\CSharpErrorFactsGenerator.csproj',
...@@ -106,8 +103,8 @@ function Build-Tools() { ...@@ -106,8 +103,8 @@ function Build-Tools() {
$proj = $all[2] $proj = $all[2]
$fileName = [IO.Path]::GetFileNameWithoutExtension($proj) $fileName = [IO.Path]::GetFileNameWithoutExtension($proj)
Write-Host "Building $fileName" Write-Host "Building $fileName"
Restore-Project $proj -nuget $nuget -msbuildDir $msbuildDir Restore-Project $dotnet $proj
Exec-Command $msbuild "/t:Publish /p:Configuration=Debug /p:RuntimeIdentifier=win-x64 /v:m $proj" | Out-Null Exec-Command $dotnet "publish /p:Configuration=Debug /p:RuntimeIdentifier=win-x64 /v:m $proj" | Out-Null
$exePath = Join-Path $binariesDir "Debug\Exes\$fileName\win-x64\publish\$($exeName).exe" $exePath = Join-Path $binariesDir "Debug\Exes\$fileName\win-x64\publish\$($exeName).exe"
if (-not (Test-Path $exePath)) { if (-not (Test-Path $exePath)) {
......
#!/usr/bin/env bash
# Copyright (c) .NET Foundation and contributors. All rights reserved.
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
# Source this script to ensure mono is installed and on the path.
# This is a function to keep variable assignments out of the parent script (that is sourcing this file)
install_mono () {
# Download and install `mono` locally
local THIS_DIR="$(cd -P "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${THIS_DIR}"/build-utils.sh
local MONO_VERSION="$(get_tool_version mono)"
# the tar file has `mono` as the root directory
local MONO_PATH="${THIS_DIR}"/../../Binaries/Tools
if [[ ! -x "${MONO_PATH}/mono/bin/mono" ]]
then
echo "Downloading mono ${MONO_VERSION}"
mkdir -p "${MONO_PATH}"
curl -L https://roslyninfra.blob.core.windows.net/jenkins/mono/mono-${MONO_VERSION}.tar.gz | tar xz -C "${MONO_PATH}"
fi
export PATH="${MONO_PATH}/mono/bin:${PATH}"
}
install_mono
...@@ -26,7 +26,7 @@ function Run-Build([string]$rootDir, [switch]$restore = $false, [string]$logFile ...@@ -26,7 +26,7 @@ function Run-Build([string]$rootDir, [switch]$restore = $false, [string]$logFile
if ($restore) { if ($restore) {
Write-Host "Restoring the packages" Write-Host "Restoring the packages"
Restore-Project -fileName "Roslyn.sln" -nuget (Ensure-NuGet) -msbuildDir (Split-Path -parent $msbuild) Restore-Project $dotnet "Roslyn.sln"
} }
$args = "/nologo /v:m /nodeReuse:false /m /p:DebugDeterminism=true /p:BootstrapBuildPath=$script:bootstrapDir /p:Features=`"debug-determinism`" /p:UseRoslynAnalyzers=false Roslyn.sln" $args = "/nologo /v:m /nodeReuse:false /m /p:DebugDeterminism=true /p:BootstrapBuildPath=$script:bootstrapDir /p:Features=`"debug-determinism`" /p:UseRoslynAnalyzers=false Roslyn.sln"
...@@ -197,6 +197,7 @@ function Run-Test() { ...@@ -197,6 +197,7 @@ function Run-Test() {
try { try {
. (Join-Path $PSScriptRoot "build-utils.ps1") . (Join-Path $PSScriptRoot "build-utils.ps1")
$dotnet = Ensure-DotnetSdk
$msbuild = Ensure-MSBuild $msbuild = Ensure-MSBuild
if (($bootstrapDir -eq "") -or (-not ([IO.Path]::IsPathRooted($script:bootstrapDir)))) { if (($bootstrapDir -eq "") -or (-not ([IO.Path]::IsPathRooted($script:bootstrapDir)))) {
Write-Host "The bootstrap build path must be absolute" Write-Host "The bootstrap build path must be absolute"
......
...@@ -6,6 +6,7 @@ set -e ...@@ -6,6 +6,7 @@ set -e
set -u set -u
build_configuration=${1:-Debug} build_configuration=${1:-Debug}
runtime=${2:-dotnet}
this_dir="$(cd -P "$(dirname "${BASH_SOURCE[0]}")" && pwd)" this_dir="$(cd -P "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${this_dir}"/build-utils.sh source "${this_dir}"/build-utils.sh
...@@ -15,9 +16,19 @@ binaries_path="${root_path}"/Binaries ...@@ -15,9 +16,19 @@ binaries_path="${root_path}"/Binaries
unittest_dir="${binaries_path}"/"${build_configuration}"/UnitTests unittest_dir="${binaries_path}"/"${build_configuration}"/UnitTests
log_dir="${binaries_path}"/"${build_configuration}"/xUnitResults log_dir="${binaries_path}"/"${build_configuration}"/xUnitResults
nuget_dir="${HOME}"/.nuget/packages nuget_dir="${HOME}"/.nuget/packages
target_framework=netcoreapp2.0
xunit_console_version="$(get_package_version dotnet-xunit)" xunit_console_version="$(get_package_version dotnet-xunit)"
xunit_console="${nuget_dir}"/dotnet-xunit/"${xunit_console_version}"/tools/"${target_framework}"/xunit.console.dll
if [[ "${runtime}" == "dotnet" ]]; then
target_framework=netcoreapp2.0
xunit_console="${nuget_dir}"/dotnet-xunit/"${xunit_console_version}"/tools/${target_framework}/xunit.console.dll
elif [[ "${runtime}" == "mono" ]]; then
source ${root_path}/build/scripts/obtain_mono.sh
target_framework=net461
xunit_console="${nuget_dir}"/dotnet-xunit/"${xunit_console_version}"/tools/net452/xunit.console.exe
else
echo "Unknown runtime: ${runtime}"
exit 1
fi
UNAME="$(uname)" UNAME="$(uname)"
if [ "$UNAME" == "Darwin" ]; then if [ "$UNAME" == "Darwin" ]; then
...@@ -37,6 +48,7 @@ echo "Using ${xunit_console}" ...@@ -37,6 +48,7 @@ echo "Using ${xunit_console}"
# Discover and run the tests # Discover and run the tests
mkdir -p "${log_dir}" mkdir -p "${log_dir}"
exit_code=0
for test_path in "${unittest_dir}"/*/"${target_framework}" for test_path in "${unittest_dir}"/*/"${target_framework}"
do do
file_name=( "${test_path}"/*.UnitTests.dll ) file_name=( "${test_path}"/*.UnitTests.dll )
...@@ -45,17 +57,30 @@ do ...@@ -45,17 +57,30 @@ do
runtimeconfig_json="${file_name%.*}".runtimeconfig.json runtimeconfig_json="${file_name%.*}".runtimeconfig.json
# If the user specifies a test on the command line, only run that one # If the user specifies a test on the command line, only run that one
# "${2:-}" => take second arg, empty string if unset # "${3:-}" => take second arg, empty string if unset
if [[ ("${2:-}" != "") && (! "${file_name}" =~ "${2:-}") ]] if [[ ("${3:-}" != "") && (! "${file_name}" =~ "${2:-}") ]]
then then
echo "Skipping ${file_name}" echo "Skipping ${file_name}"
continue continue
fi fi
echo Running "${file_name[@]}" echo Running "${file_name[@]}"
dotnet exec --depsfile "${deps_json}" --runtimeconfig "${runtimeconfig_json}" "${xunit_console}" "${file_name[@]}" -xml "${log_file}" if [[ "${runtime}" == "dotnet" ]]; then
if [[ $? -ne 0 ]]; then runner="dotnet exec --depsfile ${deps_json} --runtimeconfig ${runtimeconfig_json}"
echo Unit test failed elif [[ "${runtime}" == "mono" ]]; then
exit 1 runner=mono
if [[ "${file_name[@]}" == *'Microsoft.CodeAnalysis.CSharp.Scripting.UnitTests.dll' || "${file_name[@]}" == *'Roslyn.Compilers.CompilerServer.UnitTests.dll' ]]
then
echo "Skipping ${file_name[@]}"
continue
fi
fi
if ${runner} "${xunit_console}" "${file_name[@]}" -xml "${log_file}"
then
echo "Assembly ${file_name[@]} passed"
else
echo "Assembly ${file_name[@]} failed"
exit_code=1
fi fi
done done
exit ${exit_code}
...@@ -99,11 +99,11 @@ commitPullList.each { isPr -> ...@@ -99,11 +99,11 @@ commitPullList.each { isPr ->
} }
} }
// Ubuntu 14.04 // Ubuntu 16.04
commitPullList.each { isPr -> commitPullList.each { isPr ->
def jobName = Utilities.getFullJobName(projectName, "ubuntu_14_debug", isPr) def jobName = Utilities.getFullJobName(projectName, "ubuntu_16_debug", isPr)
def myJob = job(jobName) { def myJob = job(jobName) {
description("Ubuntu 14.04 tests") description("Ubuntu 16.04 tests")
steps { steps {
shell("./build/scripts/cibuild.sh --debug") shell("./build/scripts/cibuild.sh --debug")
} }
...@@ -111,18 +111,18 @@ commitPullList.each { isPr -> ...@@ -111,18 +111,18 @@ commitPullList.each { isPr ->
def triggerPhraseOnly = false def triggerPhraseOnly = false
def triggerPhraseExtra = "linux" def triggerPhraseExtra = "linux"
Utilities.setMachineAffinity(myJob, 'Ubuntu14.04', 'latest-or-auto') Utilities.setMachineAffinity(myJob, 'Ubuntu16.04', 'latest-or-auto')
Utilities.addXUnitDotNETResults(myJob, '**/xUnitResults/*.xml') Utilities.addXUnitDotNETResults(myJob, '**/xUnitResults/*.xml')
addRoslynJob(myJob, jobName, branchName, isPr, triggerPhraseExtra, triggerPhraseOnly) addRoslynJob(myJob, jobName, branchName, isPr, triggerPhraseExtra, triggerPhraseOnly)
} }
// Ubuntu 16.04 // Ubuntu 16.04 mono
commitPullList.each { isPr -> commitPullList.each { isPr ->
def jobName = Utilities.getFullJobName(projectName, "ubuntu_16_debug", isPr) def jobName = Utilities.getFullJobName(projectName, "ubuntu_16_mono_debug", isPr)
def myJob = job(jobName) { def myJob = job(jobName) {
description("Ubuntu 16.04 tests") description("Ubuntu 16.04 mono tests")
steps { steps {
shell("./build/scripts/cibuild.sh --debug") shell("./build/scripts/cibuild.sh --debug --mono")
} }
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Odebrat tuto hodnotu, když se přidá jiná</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Dieser Wert wird entfernt, wenn ein anderer hinzugefügt wird.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Quite este valor cuando se agregue otro.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Supprimer cette valeur quand une autre est ajoutée.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Rimuovere questo valore quando ne viene aggiunto un altro.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">別の値が追加されたら、この値を削除します。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">다른 값을 추가할 때 이 값을 제거하세요.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Usuń tę wartość, gdy dodawana jest kolejna.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Remover este valor quando outro for adicionado.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Удалите это значение при добавлении другого значения.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Başka bir değer eklendiğinde bu değeri kaldırın.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">在添加其他值时删除此值。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">當新增另一個值時移除此值。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Odebrat tuto hodnotu, když se přidá jiná</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Dieser Wert wird entfernt, wenn ein anderer hinzugefügt wird.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Quite este valor cuando se agregue otro.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Supprimer cette valeur quand une autre est ajoutée.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Rimuovere questo valore quando ne viene aggiunto un altro.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">別の値が追加されたら、この値を削除します。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">다른 값을 추가할 때 이 값을 제거하세요.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Usuń tę wartość, gdy dodawana jest kolejna.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Remover este valor quando outro for adicionado.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Удалите это значение при добавлении другого значения.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Başka bir değer eklendiğinde bu değeri kaldırın.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">在添加其他值时删除此值。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">當新增另一個值時移除此值。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Odebrat tuto hodnotu, když se přidá jiná</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Dieser Wert wird entfernt, wenn ein anderer hinzugefügt wird.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Quite este valor cuando se agregue otro.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Supprimer cette valeur quand une autre est ajoutée.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Rimuovere questo valore quando ne viene aggiunto un altro.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">別の値が追加されたら、この値を削除します。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">다른 값을 추가할 때 이 값을 제거하세요.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Usuń tę wartość, gdy dodawana jest kolejna.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Remover este valor quando outro for adicionado.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Удалите это значение при добавлении другого значения.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Başka bir değer eklendiğinde bu değeri kaldırın.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">在添加其他值时删除此值。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">當新增另一個值時移除此值。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Odebrat tuto hodnotu, když se přidá jiná</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Dieser Wert wird entfernt, wenn ein anderer hinzugefügt wird.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Quite este valor cuando se agregue otro.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Supprimer cette valeur quand une autre est ajoutée.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Rimuovere questo valore quando ne viene aggiunto un altro.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">別の値が追加されたら、この値を削除します。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">다른 값을 추가할 때 이 값을 제거하세요.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Usuń tę wartość, gdy dodawana jest kolejna.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Remover este valor quando outro for adicionado.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Удалите это значение при добавлении другого значения.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Başka bir değer eklendiğinde bu değeri kaldırın.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">在添加其他值时删除此值。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">當新增另一個值時移除此值。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Odebrat tuto hodnotu, když se přidá jiná</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Dieser Wert wird entfernt, wenn ein anderer hinzugefügt wird.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Quite este valor cuando se agregue otro.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Supprimer cette valeur quand une autre est ajoutée.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Rimuovere questo valore quando ne viene aggiunto un altro.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">別の値が追加されたら、この値を削除します。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">다른 값을 추가할 때 이 값을 제거하세요.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Usuń tę wartość, gdy dodawana jest kolejna.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Remover este valor quando outro for adicionado.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Удалите это значение при добавлении другого значения.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Başka bir değer eklendiğinde bu değeri kaldırın.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">在添加其他值时删除此值。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">當新增另一個值時移除此值。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Odebrat tuto hodnotu, když se přidá jiná</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Dieser Wert wird entfernt, wenn ein anderer hinzugefügt wird.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Quite este valor cuando se agregue otro.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Supprimer cette valeur quand une autre est ajoutée.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Rimuovere questo valore quando ne viene aggiunto un altro.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">別の値が追加されたら、この値を削除します。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">다른 값을 추가할 때 이 값을 제거하세요.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Usuń tę wartość, gdy dodawana jest kolejna.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Remover este valor quando outro for adicionado.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Удалите это значение при добавлении другого значения.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">Başka bir değer eklendiğinde bu değeri kaldırın.</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">在添加其他值时删除此值。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<body> <body>
<trans-unit id="EmptyResource"> <trans-unit id="EmptyResource">
<source>Remove this value when another is added.</source> <source>Remove this value when another is added.</source>
<target state="new">Remove this value when another is added.</target> <target state="translated">當新增另一個值時移除此值。</target>
<note>https://github.com/Microsoft/msbuild/issues/1661</note> <note>https://github.com/Microsoft/msbuild/issues/1661</note>
</trans-unit> </trans-unit>
</body> </body>
......
...@@ -205,8 +205,11 @@ private int LineBreaksAfter(SyntaxToken currentToken, SyntaxToken nextToken) ...@@ -205,8 +205,11 @@ private int LineBreaksAfter(SyntaxToken currentToken, SyntaxToken nextToken)
return LineBreaksAfterCloseBrace(currentToken, nextToken); return LineBreaksAfterCloseBrace(currentToken, nextToken);
case SyntaxKind.CloseParenToken: case SyntaxKind.CloseParenToken:
// Note: the `where` case handles constraints on method declarations
// and also `where` clauses (consistently with other LINQ cases below)
return (((currentToken.Parent is StatementSyntax) && nextToken.Parent != currentToken.Parent) return (((currentToken.Parent is StatementSyntax) && nextToken.Parent != currentToken.Parent)
|| nextToken.Kind() == SyntaxKind.OpenBraceToken) ? 1 : 0; || nextToken.Kind() == SyntaxKind.OpenBraceToken
|| nextToken.Kind() == SyntaxKind.WhereKeyword) ? 1 : 0;
case SyntaxKind.CloseBracketToken: case SyntaxKind.CloseBracketToken:
if (currentToken.Parent is AttributeListSyntax && !(currentToken.Parent.Parent is ParameterSyntax)) if (currentToken.Parent is AttributeListSyntax && !(currentToken.Parent.Parent is ParameterSyntax))
...@@ -428,6 +431,7 @@ private static bool NeedsSeparator(SyntaxToken token, SyntaxToken next) ...@@ -428,6 +431,7 @@ private static bool NeedsSeparator(SyntaxToken token, SyntaxToken next)
!next.IsKind(SyntaxKind.QuestionToken) && !next.IsKind(SyntaxKind.QuestionToken) &&
!next.IsKind(SyntaxKind.SemicolonToken) && !next.IsKind(SyntaxKind.SemicolonToken) &&
!next.IsKind(SyntaxKind.OpenBracketToken) && !next.IsKind(SyntaxKind.OpenBracketToken) &&
(!next.IsKind(SyntaxKind.OpenParenToken) || KeywordNeedsSeparatorBeforeOpenParen(token.Kind())) &&
!next.IsKind(SyntaxKind.CloseParenToken) && !next.IsKind(SyntaxKind.CloseParenToken) &&
!next.IsKind(SyntaxKind.CloseBraceToken) && !next.IsKind(SyntaxKind.CloseBraceToken) &&
!next.IsKind(SyntaxKind.ColonColonToken) && !next.IsKind(SyntaxKind.ColonColonToken) &&
...@@ -455,6 +459,25 @@ private static bool NeedsSeparator(SyntaxToken token, SyntaxToken next) ...@@ -455,6 +459,25 @@ private static bool NeedsSeparator(SyntaxToken token, SyntaxToken next)
return false; return false;
} }
private static bool KeywordNeedsSeparatorBeforeOpenParen(SyntaxKind kind)
{
switch (kind)
{
case SyntaxKind.TypeOfKeyword:
case SyntaxKind.DefaultKeyword:
case SyntaxKind.NewKeyword:
case SyntaxKind.BaseKeyword:
case SyntaxKind.ThisKeyword:
case SyntaxKind.CheckedKeyword:
case SyntaxKind.UncheckedKeyword:
case SyntaxKind.SizeOfKeyword:
case SyntaxKind.ArgListKeyword:
return false;
default:
return true;
}
}
private static bool IsXmlTextToken(SyntaxKind kind) private static bool IsXmlTextToken(SyntaxKind kind)
{ {
switch (kind) switch (kind)
......
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册