Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
2892367
lexx/yacc warnings (#10950)
KevinRansom Jan 26, 2021
fe4a61a
Fix triggering the outer application's signature help when triggering…
cartermp Jan 27, 2021
ae2ab7d
Fix #10893 - FSI: Could not load file or assembly Azure.ResourceManag…
KevinRansom Jan 27, 2021
61710ca
[main] Update dependencies from dotnet/arcade (#10964)
dotnet-maestro[bot] Jan 28, 2021
9092765
Track the signaturehelp session kind in signature help (#10970)
cartermp Jan 29, 2021
e935115
[VS] Partial implementation of Go to definition for external IL symbo…
TIHan Jan 29, 2021
494bc60
SyntaxTree: always keep parsed implicit constructors (#10967)
auduchinok Jan 29, 2021
3b447ad
ToString('N') precision has changed for net5.0 (#10981)
KevinRansom Jan 30, 2021
b0999f9
Update dependencies from https://github.com/dotnet/arcade build 20210…
dotnet-maestro[bot] Jan 30, 2021
2c1c29d
Prevent tests from attempting to write to C:\Windows\System32 (#10888)
ScottHutchinson Jan 30, 2021
15390be
Two more Formatted Ns (#10985)
KevinRansom Feb 1, 2021
11a2c71
Account for properties and qualified items in the 'Use <- to mutate' …
cartermp Feb 1, 2021
d6629e5
Disable - LargeRecordDoesNotStackOverflow due to: https://github.com…
KevinRansom Feb 1, 2021
3119ef9
add .NET 3.1 SDK to CI machines (#10986)
brettfo Feb 2, 2021
bc1375d
Verbatim string ast (#10769)
nojaf Feb 2, 2021
19abb08
[main] Update dependencies from dotnet/arcade (#10993)
dotnet-maestro[bot] Feb 2, 2021
cf8bf3d
net5.0 (#10992)
KevinRansom Feb 2, 2021
4347437
merge main
Feb 3, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion FSharpBuild.Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@
<ProtoOutputPath>$(ArtifactsDir)\Bootstrap</ProtoOutputPath>
<ValueTupleImplicitPackageVersion>4.4.0</ValueTupleImplicitPackageVersion>
<WarningsAsErrors>1182;0025;$(WarningsAsErrors)</WarningsAsErrors>
</PropertyGroup>
<OtherFlags>$(OtherFlags) --nowarn:3384</OtherFlags>
</PropertyGroup>

<!-- nuget -->
<PropertyGroup>
Expand Down
26 changes: 26 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ variables:
value: .NETCore
- name: VisualStudioDropName
value: Products/$(System.TeamProject)/$(Build.Repository.Name)/$(Build.SourceBranchName)/$(Build.BuildNumber)
- name: LegacyDotNetSdkVersion
value: 3.1.405
- name: DotNetSdkVersion
value: '5.0.100'
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
Expand Down Expand Up @@ -103,6 +105,12 @@ stages:
steps:
- checkout: self
clean: true
- task: UseDotNet@2
displayName: Add legacy .NET SDK
inputs:
packageType: sdk
version: $(LegacyDotNetSdkVersion)
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: eng\CIBuild.cmd
-configuration $(_BuildConfig)
-prepareMachine
Expand Down Expand Up @@ -211,6 +219,12 @@ stages:
steps:
- checkout: self
clean: true
- task: UseDotNet@2
displayName: Add legacy .NET SDK
inputs:
packageType: sdk
version: $(LegacyDotNetSdkVersion)
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: eng\CIBuild.cmd -configuration $(_configuration) -$(_testKind)
displayName: Build / Test
- task: PublishTestResults@2
Expand Down Expand Up @@ -261,6 +275,12 @@ stages:
steps:
- checkout: self
clean: true
- task: UseDotNet@2
displayName: Add legacy .NET SDK
inputs:
packageType: sdk
version: $(LegacyDotNetSdkVersion)
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: ./eng/cibuild.sh --configuration $(_BuildConfig) --testcoreclr
displayName: Build / Test
- task: PublishTestResults@2
Expand Down Expand Up @@ -293,6 +313,12 @@ stages:
steps:
- checkout: self
clean: true
- task: UseDotNet@2
displayName: Add legacy .NET SDK
inputs:
packageType: sdk
version: $(LegacyDotNetSdkVersion)
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: ./eng/cibuild.sh --configuration $(_BuildConfig) --testcoreclr
displayName: Build / Test
- task: PublishTestResults@2
Expand Down
4 changes: 2 additions & 2 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
<ProductDependencies>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.21072.6">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.21081.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>c313ff83e84445094fa5463498d5c94c29f27e1d</Sha>
<Sha>f6ed3308865528c56ed26b85004121fce56bf4f4</Sha>
</Dependency>
</ToolsetDependencies>
</Dependencies>
2 changes: 0 additions & 2 deletions eng/common/internal-feed-operations.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,6 @@ function SetupCredProvider {
}

if (($endpoints | Measure-Object).Count -gt 0) {
# [SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="Endpoint code example with no real credentials.")]
# Create the JSON object. It should look like '{"endpointCredentials": [{"endpoint":"http://example.index.json", "username":"optional", "password":"accesstoken"}]}'
$endpointCredentials = @{endpointCredentials=$endpoints} | ConvertTo-Json -Compress

# Create the environment variables the AzDo way
Expand Down
2 changes: 0 additions & 2 deletions eng/common/internal-feed-operations.sh
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,6 @@ function SetupCredProvider {
endpoints+=']'

if [ ${#endpoints} -gt 2 ]; then
# [SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="Endpoint code example with no real credentials.")]
# Create the JSON object. It should look like '{"endpointCredentials": [{"endpoint":"http://example.index.json", "username":"optional", "password":"accesstoken"}]}'
local endpointCredentials="{\"endpointCredentials\": "$endpoints"}"

echo "##vso[task.setvariable variable=VSS_NUGET_EXTERNAL_FEED_ENDPOINTS]$endpointCredentials"
Expand Down
13 changes: 1 addition & 12 deletions eng/common/sdl/init-sdl.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,7 @@ $zipFile = "$WorkingDirectory/gdn.zip"

Add-Type -AssemblyName System.IO.Compression.FileSystem
$gdnFolder = (Join-Path $WorkingDirectory '.gdn')
try {
# We try to download the zip; if the request fails (e.g. the file doesn't exist), we catch it and init guardian instead
Write-Host 'Downloading gdn folder from internal config repostiory...'
Invoke-WebRequest -Headers @{ "Accept"="application/zip"; "Authorization"="Basic $encodedPat" } -Uri $uri -OutFile $zipFile
if (Test-Path $gdnFolder) {
# Remove the gdn folder if it exists (it shouldn't unless there's too much caching; this is just in case)
Remove-Item -Force -Recurse $gdnFolder
}
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipFile, $WorkingDirectory)
Write-Host $gdnFolder
ExitWithExitCode 0
} catch [System.Net.WebException] { } # Catch and ignore webexception

try {
# if the folder does not exist, we'll do a guardian init and push it to the remote repository
Write-Host 'Initializing Guardian...'
Expand Down
18 changes: 17 additions & 1 deletion eng/common/templates/post-build/post-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ parameters:
VS167ChannelId: 1011
VS168ChannelId: 1154
VSMasterChannelId: 1012
VS169ChannelId: 1473

stages:
- ${{ if or(and(le(parameters.publishingInfraVersion, 2), eq(parameters.inline, 'true')), eq( parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}:
Expand Down Expand Up @@ -90,7 +91,7 @@ stages:
inputs:
filePath: $(Build.SourcesDirectory)/eng/common/post-build/check-channel-consistency.ps1
arguments: -PromoteToChannels "$(TargetChannels)"
-AvailableChannelIds ${{parameters.NetEngLatestChannelId}},${{parameters.NetEngValidationChannelId}},${{parameters.NetDev5ChannelId}},${{parameters.NetDev6ChannelId}},${{parameters.GeneralTestingChannelId}},${{parameters.NETCoreToolingDevChannelId}},${{parameters.NETCoreToolingReleaseChannelId}},${{parameters.NETInternalToolingChannelId}},${{parameters.NETCoreExperimentalChannelId}},${{parameters.NetEngServicesIntChannelId}},${{parameters.NetEngServicesProdChannelId}},${{parameters.NetCoreSDK313xxChannelId}},${{parameters.NetCoreSDK313xxInternalChannelId}},${{parameters.NetCoreSDK314xxChannelId}},${{parameters.NetCoreSDK314xxInternalChannelId}},${{parameters.VS166ChannelId}},${{parameters.VS167ChannelId}},${{parameters.VS168ChannelId}},${{parameters.VSMasterChannelId}}
-AvailableChannelIds ${{parameters.NetEngLatestChannelId}},${{parameters.NetEngValidationChannelId}},${{parameters.NetDev5ChannelId}},${{parameters.NetDev6ChannelId}},${{parameters.GeneralTestingChannelId}},${{parameters.NETCoreToolingDevChannelId}},${{parameters.NETCoreToolingReleaseChannelId}},${{parameters.NETInternalToolingChannelId}},${{parameters.NETCoreExperimentalChannelId}},${{parameters.NetEngServicesIntChannelId}},${{parameters.NetEngServicesProdChannelId}},${{parameters.NetCoreSDK313xxChannelId}},${{parameters.NetCoreSDK313xxInternalChannelId}},${{parameters.NetCoreSDK314xxChannelId}},${{parameters.NetCoreSDK314xxInternalChannelId}},${{parameters.VS166ChannelId}},${{parameters.VS167ChannelId}},${{parameters.VS168ChannelId}},${{parameters.VSMasterChannelId}},${{parameters.VS169ChannelId}}

- job:
displayName: NuGet Validation
Expand Down Expand Up @@ -552,3 +553,18 @@ stages:
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-transport/nuget/v3/index.json'
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'

- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
parameters:
BARBuildId: ${{ parameters.BARBuildId }}
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
dependsOn: ${{ parameters.publishDependsOn }}
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
stageName: 'VS_16_9_Publishing'
channelName: 'VS 16.9'
channelId: ${{ parameters.VS169ChannelId }}
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-transport/nuget/v3/index.json'
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
2 changes: 1 addition & 1 deletion global.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
}
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21072.6",
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21081.1",
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19069.2"
}
}
28 changes: 14 additions & 14 deletions src/buildtools/fslex/Arg.fs
Original file line number Diff line number Diff line change
Expand Up @@ -52,21 +52,21 @@ type ArgParser() =
sbuf.ToString()


static member ParsePartial(cursor,argv,argSpecs:seq<ArgInfo>,?other,?usageText) =
let other = defaultArg other (fun _ -> ())
static member ParsePartial(cursor,argv,arguments:seq<ArgInfo>,?otherArgs,?usageText) =
let otherArgs = defaultArg otherArgs (fun _ -> ())
let usageText = defaultArg usageText ""
let nargs = Array.length argv
incr cursor;
let argSpecs = argSpecs |> Seq.toList
let specs = argSpecs |> List.map (fun (arg:ArgInfo) -> arg.Name, arg.ArgType)
let arguments = arguments |> Seq.toList
let specs = arguments |> List.map (fun (arg:ArgInfo) -> arg.Name, arg.ArgType)
while !cursor < nargs do
let arg = argv.[!cursor]
let rec findMatchingArg args =
match args with
| ((s, action) :: _) when s = arg ->
let getSecondArg () =
if !cursor + 1 >= nargs then
raise(Bad("option "+s+" needs an argument.\n"+getUsage argSpecs usageText));
raise(Bad("option "+s+" needs an argument.\n"+getUsage arguments usageText));
argv.[!cursor+1]

match action with
Expand All @@ -85,12 +85,12 @@ type ArgParser() =
cursor := !cursor + 2
| IntArg f ->
let arg2 = getSecondArg ()
let arg2 = try int32 arg2 with _ -> raise(Bad(getUsage argSpecs usageText)) in
let arg2 = try int32 arg2 with _ -> raise(Bad(getUsage arguments usageText)) in
f arg2;
cursor := !cursor + 2;
| FloatArg f ->
let arg2 = getSecondArg()
let arg2 = try float arg2 with _ -> raise(Bad(getUsage argSpecs usageText)) in
let arg2 = try float arg2 with _ -> raise(Bad(getUsage arguments usageText)) in
f arg2;
cursor := !cursor + 2;
| RestArg f ->
Expand All @@ -102,26 +102,26 @@ type ArgParser() =
| (_ :: more) -> findMatchingArg more
| [] ->
if arg = "-help" || arg = "--help" || arg = "/help" || arg = "/help" || arg = "/?" then
raise (HelpText (getUsage argSpecs usageText))
raise (HelpText (getUsage arguments usageText))
// Note: for '/abc/def' does not count as an argument
// Note: '/abc' does
elif arg.Length>0 && (arg.[0] = '-' || (arg.[0] = '/' && not (arg.Length > 1 && arg.[1..].Contains ("/")))) then
raise (Bad ("unrecognized argument: "+ arg + "\n" + getUsage argSpecs usageText))
raise (Bad ("unrecognized argument: "+ arg + "\n" + getUsage arguments usageText))
else
other arg;
otherArgs arg;
incr cursor
findMatchingArg specs

static member Usage (specs,?usage) =
static member Usage (arguments,?usage) =
let usage = defaultArg usage ""
System.Console.Error.WriteLine (getUsage (Seq.toList specs) usage)
System.Console.Error.WriteLine (getUsage (Seq.toList arguments) usage)

#if FX_NO_COMMAND_LINE_ARGS
#else
static member Parse (specs,?other,?usageText) =
static member Parse (arguments,?otherArgs,?usageText) =
let current = ref 0
let argv = System.Environment.GetCommandLineArgs()
try ArgParser.ParsePartial (current, argv, specs, ?other=other, ?usageText=usageText)
try ArgParser.ParsePartial (current, argv, arguments, ?otherArgs=otherArgs, ?usageText=usageText)
with
| Bad h
| HelpText h ->
Expand Down
2 changes: 1 addition & 1 deletion src/buildtools/fslex/Parsing.fsi
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ type Tables<'tok> =

/// Interpret the parser table taking input from the given lexer, using the given lex buffer, and the given start state.
/// Returns an object indicating the final synthesized value for the parse.
member Interpret : lexer:(LexBuffer<'char> -> 'tok) * lexbuf:LexBuffer<'char> * startState:int -> obj
member Interpret : lexer:(LexBuffer<'char> -> 'tok) * lexbuf:LexBuffer<'char> * initialState:int -> obj

#if INTERNALIZED_FSLEXYACC_RUNTIME
exception internal Accept of obj
Expand Down
28 changes: 14 additions & 14 deletions src/buildtools/fsyacc/Arg.fs
Original file line number Diff line number Diff line change
Expand Up @@ -52,21 +52,21 @@ type ArgParser() =
sbuf.ToString()


static member ParsePartial(cursor,argv,argSpecs:seq<ArgInfo>,?other,?usageText) =
let other = defaultArg other (fun _ -> ())
static member ParsePartial(cursor,argv,arguments:seq<ArgInfo>,?otherArgs,?usageText) =
let otherArgs = defaultArg otherArgs (fun _ -> ())
let usageText = defaultArg usageText ""
let nargs = Array.length argv
incr cursor;
let argSpecs = argSpecs |> Seq.toList
let specs = argSpecs |> List.map (fun (arg:ArgInfo) -> arg.Name, arg.ArgType)
let arguments = arguments |> Seq.toList
let specs = arguments |> List.map (fun (arg:ArgInfo) -> arg.Name, arg.ArgType)
while !cursor < nargs do
let arg = argv.[!cursor]
let rec findMatchingArg args =
match args with
| ((s, action) :: _) when s = arg ->
let getSecondArg () =
if !cursor + 1 >= nargs then
raise(Bad("option "+s+" needs an argument.\n"+getUsage argSpecs usageText));
raise(Bad("option "+s+" needs an argument.\n"+getUsage arguments usageText));
argv.[!cursor+1]

match action with
Expand All @@ -85,12 +85,12 @@ type ArgParser() =
cursor := !cursor + 2
| IntArg f ->
let arg2 = getSecondArg ()
let arg2 = try int32 arg2 with _ -> raise(Bad(getUsage argSpecs usageText)) in
let arg2 = try int32 arg2 with _ -> raise(Bad(getUsage arguments usageText)) in
f arg2;
cursor := !cursor + 2;
| FloatArg f ->
let arg2 = getSecondArg()
let arg2 = try float arg2 with _ -> raise(Bad(getUsage argSpecs usageText)) in
let arg2 = try float arg2 with _ -> raise(Bad(getUsage arguments usageText)) in
f arg2;
cursor := !cursor + 2;
| RestArg f ->
Expand All @@ -102,26 +102,26 @@ type ArgParser() =
| (_ :: more) -> findMatchingArg more
| [] ->
if arg = "-help" || arg = "--help" || arg = "/help" || arg = "/help" || arg = "/?" then
raise (HelpText (getUsage argSpecs usageText))
raise (HelpText (getUsage arguments usageText))
// Note: for '/abc/def' does not count as an argument
// Note: '/abc' does
elif arg.Length>0 && (arg.[0] = '-' || (arg.[0] = '/' && not (arg.Length > 1 && arg.[1..].Contains ("/")))) then
raise (Bad ("unrecognized argument: "+ arg + "\n" + getUsage argSpecs usageText))
raise (Bad ("unrecognized argument: "+ arg + "\n" + getUsage arguments usageText))
else
other arg;
otherArgs arg;
incr cursor
findMatchingArg specs

static member Usage (specs,?usage) =
static member Usage (arguments,?usage) =
let usage = defaultArg usage ""
System.Console.Error.WriteLine (getUsage (Seq.toList specs) usage)
System.Console.Error.WriteLine (getUsage (Seq.toList arguments) usage)

#if FX_NO_COMMAND_LINE_ARGS
#else
static member Parse (specs,?other,?usageText) =
static member Parse (arguments,?otherArgs,?usageText) =
let current = ref 0
let argv = System.Environment.GetCommandLineArgs()
try ArgParser.ParsePartial (current, argv, specs, ?other=other, ?usageText=usageText)
try ArgParser.ParsePartial (current, argv, arguments, ?otherArgs=otherArgs, ?usageText=usageText)
with
| Bad h
| HelpText h ->
Expand Down
2 changes: 1 addition & 1 deletion src/buildtools/fsyacc/Parsing.fsi
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ type Tables<'tok> =

/// Interpret the parser table taking input from the given lexer, using the given lex buffer, and the given start state.
/// Returns an object indicating the final synthesized value for the parse.
member Interpret : lexer:(LexBuffer<'char> -> 'tok) * lexbuf:LexBuffer<'char> * startState:int -> obj
member Interpret : lexer:(LexBuffer<'char> -> 'tok) * lexbuf:LexBuffer<'char> * initialState:int -> obj

#if INTERNALIZED_FSLEXYACC_RUNTIME
exception internal Accept of obj
Expand Down
2 changes: 1 addition & 1 deletion src/fsharp/CheckComputationExpressions.fs
Original file line number Diff line number Diff line change
Expand Up @@ -1918,7 +1918,7 @@ let TcArrayOrListSequenceExpression (cenv: cenv) env overallTy tpenv (isArray, c
if nelems > 0 && List.forall (function SynExpr.Const (SynConst.UInt16 _, _) -> true | _ -> false) elems
then SynExpr.Const (SynConst.UInt16s (Array.ofList (List.map (function SynExpr.Const (SynConst.UInt16 x, _) -> x | _ -> failwith "unreachable") elems)), m)
elif nelems > 0 && List.forall (function SynExpr.Const (SynConst.Byte _, _) -> true | _ -> false) elems
then SynExpr.Const (SynConst.Bytes (Array.ofList (List.map (function SynExpr.Const (SynConst.Byte x, _) -> x | _ -> failwith "unreachable") elems), m), m)
then SynExpr.Const (SynConst.Bytes (Array.ofList (List.map (function SynExpr.Const (SynConst.Byte x, _) -> x | _ -> failwith "unreachable") elems), SynByteStringKind.Regular, m), m)
else SynExpr.ArrayOrList (isArray, elems, m)
else
if elems.Length > 500 then
Expand Down
Loading