Skip to content

Integrate vfsharp feb 25 to mar 29 #894

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 32 commits into from
Mar 29, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
9379d61
Fix Fcs/build when proto is built (#6276)
KevinRansom Feb 25, 2019
8636405
Minor cleanup (replace hats, add spaces) (#6278)
ncave Feb 25, 2019
149e10b
fix xml doc for overloads (#6246)
vasily-kirichenko Feb 26, 2019
509b671
warnings as error again (#6292)
dsyme Feb 28, 2019
2919b3c
Compat fix for 6258 and fix deterministic flag (#6295)
dsyme Mar 1, 2019
5b3cddf
process more large expressions more systematically (#6294)
dsyme Mar 2, 2019
5cc0e1a
ignore ionide artifacts
baronfel Mar 2, 2019
7d8c7f4
add beta release notes
baronfel Mar 2, 2019
51fe921
Fix code formatting in some files (#6296)
dsyme Mar 2, 2019
3d186db
Code cleanup in optimizer (#6313)
dsyme Mar 9, 2019
5d44ce1
Add field names: whenExpr to Clause, isMutable to Field (#6308)
auduchinok Mar 9, 2019
24b5c2c
Add symbol creation for an operator with a constraint (#6307)
7sharp9 Mar 9, 2019
a65aae4
Cleanup semicolons, add documentation (#6316)
dsyme Mar 11, 2019
0db0079
Set compiler libraries to netstandard2.0" (#6311)
KevinRansom Mar 11, 2019
12d8027
ore cleanup - spacing for commas and colons (#6343)
dsyme Mar 20, 2019
5fb4c20
consume dotnet arcade sdk
brettfo Mar 19, 2019
decf64b
re-add changes/files removed during a hasty cherry-pick
brettfo Mar 21, 2019
b7ec69d
add missing test project
baronfel Mar 22, 2019
6e8f83d
update release notes
baronfel Mar 22, 2019
082fba6
Update dependencies from https://github.com/dotnet/arcade build 20190…
dotnet-maestro[bot] Mar 22, 2019
4c47cef
build FSharp.Core package with appropriate version number (#6368)
brettfo Mar 22, 2019
c8aa806
ensure dev15.9 nightly package version numbers are increasing (#6369)
brettfo Mar 22, 2019
c0abdd0
allow norestore switch for regular workflow (#6371)
brettfo Mar 23, 2019
4c5fcc7
remove *.en.xlf hack (#6377)
brettfo Mar 23, 2019
93e3154
whitespace cleanup (#6354)
dsyme Mar 26, 2019
1e2ce45
fix build variable typo (#6382)
brettfo Mar 27, 2019
7503f44
Always build FSharp.Core.UnitTests against the FSharp.Core in the rep…
KevinRansom Mar 28, 2019
c4eef3a
Re-enable ngen for desktop compiler builds (#6386)
KevinRansom Mar 28, 2019
06f811d
Add fsi to proto build, move version validation to ci only (#6387)
KevinRansom Mar 29, 2019
19f6afb
update FCS dependencies (#6388)
dsyme Mar 29, 2019
1a579da
update FsLexYacc to 8.0.1 source (by diret copy) (#6355)
dsyme Mar 29, 2019
5e04ccf
update release notes
baronfel Mar 29, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 5 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# output location
artifacts/

packages/

/tests/scripts/current
.dotnet/
.packages/
./tools

# Patches that may have been generated by scripts.
# (These aren't generally useful to commit directly; if anything, they should be applied.)
Expand Down Expand Up @@ -229,3 +230,5 @@ lib/netcore/fsc/bin/
msbuild.binlog
/fcs/FSharp.Compiler.Service.netstandard/*.fs
/fcs/FSharp.Compiler.Service.netstandard/*.fsi

.ionide
144 changes: 101 additions & 43 deletions .vsts-pr.yaml
Original file line number Diff line number Diff line change
@@ -1,26 +1,48 @@
jobs:

- job: Linux
pool:
vmImage: ubuntu-16.04
timeoutInMinutes: 90
strategy:
maxParallel: 3
matrix:
dotnet_sdk:
_command: make
_args: Configuration=release
release_fcs:
_command: ./fcs/build.sh
_args: Build
coreclr_release:
_configuration: Release
_testKind: testcoreclr
steps:
- script: ./eng/cibuild.sh --configuration $(_configuration) --$(_testKind)
- task: PublishBuildArtifacts@1
displayName: Publish Build Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_configuration)'
ArtifactName: 'Linux $(_configuration) $(_testKind) build log'
publishLocation: Container
continueOnError: true
condition: not(succeeded())
- task: PublishBuildArtifacts@1
displayName: Publish Test Results
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults'
ArtifactName: 'Linux $(_configuration) $(_testKind)'
publishLocation: Container
continueOnError: true
condition: not(succeeded())

- job: Linux_FCS
pool:
vmImage: ubuntu-16.04
timeoutInMinutes: 90
steps:
- script: $(_command) $(_args)
- script: ./fcs/build.sh Build
- task: PublishBuildArtifacts@1
displayName: Publish Test Results
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults'
ArtifactName: 'Linux $(_command) $(_args)'
ArtifactName: 'Linux FCS test results'
publishLocation: Container
continueOnError: true
condition: failed()
condition: not(succeeded())

- job: MacOS
pool:
Expand All @@ -29,56 +51,92 @@ jobs:
strategy:
maxParallel: 3
matrix:
dotnet_sdk:
_command: make
_args: Configuration=release
release_fcs:
_command: ./fcs/build.sh
_args: Build
coreclr_release:
_configuration: Release
_testKind: testcoreclr
steps:
- script: $(_command) $(_args)
- script: ./eng/cibuild.sh --configuration $(_configuration) --$(_testKind)
- task: PublishBuildArtifacts@1
displayName: Publish Build Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_configuration)'
ArtifactName: 'MacOS $(_configuration) $(_testKind) build log'
publishLocation: Container
continueOnError: true
condition: not(succeeded())
- task: PublishBuildArtifacts@1
displayName: Publish Test Results
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults'
ArtifactName: 'MacOS $(_command) $(_args)'
ArtifactName: 'MacOS $(_configuration) $(_testKind)'
publishLocation: Container
continueOnError: true
condition: failed()
condition: not(succeeded())

- job: MacOS_FCS
pool:
vmImage: macOS-10.13
timeoutInMinutes: 90
steps:
- script: ./fcs/build.sh Build
- task: PublishBuildArtifacts@1
displayName: Publish Test Results
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults'
ArtifactName: 'MacOS FCS test results'
publishLocation: Container
continueOnError: true
condition: not(succeeded())

- job: Windows
pool:
vmImage: vs2017-win2016
timeoutInMinutes: 120
strategy:
maxParallel: 7
maxParallel: 4
matrix:
ci_part1:
_command: build.cmd
_args: release ci_part1
ci_part2:
_command: build.cmd
_args: release ci_part2
ci_part3:
_command: build.cmd
_args: release ci_part3
ci_part4:
_command: build.cmd
_args: release ci_part4
debug_default:
_command: build.cmd
_args: debug
net40_no_vs:
_command: build.cmd
_args: release net40
release_fcs:
_command: fcs\build.cmd
_args: TestAndNuget
desktop_release:
_configuration: Release
_testKind: testDesktop
coreclr_release:
_configuration: Release
_testKind: testCoreclr
fsharpqa_release:
_configuration: Release
_testKind: testFSharpQA
vs_release:
_configuration: Release
_testKind: testVs
steps:
- script: eng\CIBuild.cmd -configuration $(_configuration) -$(_testKind)
- task: PublishBuildArtifacts@1
displayName: Publish Build Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\log\$(_configuration)'
ArtifactName: 'Windows $(_configuration) $(_testKind) build log'
publishLocation: Container
continueOnError: true
condition: not(succeeded())
- task: PublishBuildArtifacts@1
displayName: Publish Test Results
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults'
ArtifactName: 'Windows $(_configuration) $(_testKind) test results'
publishLocation: Container
continueOnError: true
condition: not(succeeded())

- job: Windows_FCS
pool:
vmImage: vs2017-win2016
timeoutInMinutes: 120
steps:
- script: $(_command) $(_args)
- script: fcs\build.cmd TestAndNuget
- task: PublishBuildArtifacts@1
displayName: Publish Test Results
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults'
ArtifactName: 'Windows $(_command) $(_args)'
ArtifactName: 'Windows FCS test results'
publishLocation: Container
continueOnError: true
condition: failed()
condition: not(succeeded())
2 changes: 2 additions & 0 deletions Build.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@echo off
powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\build.ps1""" -build -restore %*"
File renamed without changes.
2 changes: 0 additions & 2 deletions FSharp.Directory.Build.targets → Directory.Build.targets
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
<Project>

<Import Project="FSharpBuild.Directory.Build.targets" Condition = " '$(FSharpTestCompilerVersion)' == '' "/>
<Import Project="FSharpTests.Directory.Build.targets" Condition = " '$(FSharpTestCompilerVersion)' != '' "/>
<Import Project="CoordinateXlif.targets" Condition = " '$(FSharpBuildAssemblyFile)' != '' and '$(XliffTasksAssembly)' != '' "/>

</Project>
3 changes: 0 additions & 3 deletions FSharp.Profiles.props
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

<PropertyGroup Condition="$(TargetFramework.StartsWith('netstandard')) OR $(TargetFramework.StartsWith('netcoreapp'))">
<DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants>
<DefineConstants>$(DefineConstants);NETSTANDARD1_6</DefineConstants>
<DefineConstants>$(DefineConstants);FX_NO_APP_DOMAINS</DefineConstants>
<DefineConstants>$(DefineConstants);FX_NO_ARRAY_LONG_LENGTH</DefineConstants>
<DefineConstants>$(DefineConstants);FX_NO_BEGINEND_READWRITE</DefineConstants>
Expand All @@ -21,9 +20,7 @@
<DefineConstants>$(DefineConstants);FX_NO_CORHOST_SIGNER</DefineConstants>
<DefineConstants>$(DefineConstants);FX_NO_EVENTWAITHANDLE_IDISPOSABLE</DefineConstants>
<DefineConstants>$(DefineConstants);FX_NO_EXIT_CONTEXT_FLAGS</DefineConstants>
<DefineConstants>$(DefineConstants);FX_NO_HEAPTERMINATION</DefineConstants>
<DefineConstants>$(DefineConstants);FX_NO_LINKEDRESOURCES</DefineConstants>
<DefineConstants>$(DefineConstants);FX_NO_LOADER_OPTIMIZATION</DefineConstants>
<DefineConstants>$(DefineConstants);FX_NO_PARAMETERIZED_THREAD_START</DefineConstants>
<DefineConstants>$(DefineConstants);FX_NO_PDB_READER</DefineConstants>
<DefineConstants>$(DefineConstants);FX_NO_PDB_WRITER</DefineConstants>
Expand Down
35 changes: 13 additions & 22 deletions FSharpBuild.Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,26 +1,20 @@
<Project>

<Import Project="build\targets\AssemblyVersions.props" />
<Import Project="build\targets\PackageVersions.props" />
<Import Project="build\targets\GitHash.props" />
<Import Project="build\targets\CommonPackages.targets" />
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" />
<Import Project="eng\targets\Settings.props" />

<PropertyGroup>
<BUILD_IN_FSHARP_REPOSITORY>true</BUILD_IN_FSHARP_REPOSITORY>
</PropertyGroup>

<!-- directory locations -->
<PropertyGroup>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>
<FSharpSourcesRoot>$(RepoRoot)src</FSharpSourcesRoot>
<ArtifactsDir>$(RepoRoot)artifacts</ArtifactsDir>
<ToolsRoot>$(ArtifactsDir)\toolset</ToolsRoot>
<ArtifactsBinDir>$(ArtifactsDir)\bin</ArtifactsBinDir>
<ArtifactsObjDir>$(ArtifactsDir)\obj</ArtifactsObjDir>
<ArtifactsPackagesDir>$(ArtifactsDir)\packages</ArtifactsPackagesDir>
<BaseOutputPath>$(ArtifactsBinDir)\$(MSBuildProjectName)</BaseOutputPath>
<BaseIntermediateOutputPath>$(ArtifactsObjDir)\$(MSBuildProjectName)</BaseIntermediateOutputPath>
<SymStoreDirectory>$(ArtifactsDir)\SymStore</SymStoreDirectory>
<ProtoOutputPath Condition="'$(OS)' != 'Unix'">$(ArtifactsBinDir)\fsc\Proto\net46</ProtoOutputPath>
<ProtoOutputPath Condition="'$(OS)' == 'Unix'">$(ArtifactsBinDir)/fsc/Proto/netcoreapp2.1</ProtoOutputPath>
<ProtoOutputPath Condition="'$(OS)' != 'Unix'">$(ArtifactsDir)\Bootstrap</ProtoOutputPath>
<ProtoOutputPath Condition="'$(OS)' == 'Unix'">$(ArtifactsDir)/fsc/Proto/netcoreapp2.1</ProtoOutputPath>
<ValueTupleImplicitPackageVersion>4.4.0</ValueTupleImplicitPackageVersion>
<WarningsAsErrors>1182;0025;$(WarningsAsErrors)</WarningsAsErrors>
</PropertyGroup>

<!-- nuget -->
Expand Down Expand Up @@ -61,13 +55,8 @@

<!-- signing -->
<PropertyGroup>
<SkipSigning>false</SkipSigning>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(FSharpSourcesRoot)\fsharp\msft.pubkey</AssemblyOriginatorKeyFile>
<StrongNames>true</StrongNames>
<DelaySign>true</DelaySign>
<StrongNameKeyId>Microsoft</StrongNameKeyId>
</PropertyGroup>

<PropertyGroup Condition="'$(MonoPackaging)' == 'true'">
<AssemblyOriginatorKeyFile>$(FSharpSourcesRoot)\fsharp\test.snk</AssemblyOriginatorKeyFile>
<DelaySign>false</DelaySign>
Expand All @@ -82,14 +71,16 @@

<!-- other -->
<PropertyGroup>
<NoWarn Condition="'$(Language)' == 'F#'">$(NoWarn);FS2003</NoWarn><!-- warning when AssemblyInformationalVersion looks like '1.2.3-dev' -->
<NoCompilerStandardLib>true</NoCompilerStandardLib><!-- necessary for resource generation using csc.exe -->
<DebugType>portable</DebugType>
<MicroBuildAssemblyFileLanguage>fs</MicroBuildAssemblyFileLanguage>
<UseStandardResourceNames>false</UseStandardResourceNames>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>

<!-- SDK targets override -->
<PropertyGroup Condition="'$(Configuration)' != 'Proto' AND Exists('$(ProtoOutputPath)')">
<PropertyGroup Condition="'$(Configuration)' != 'Proto' AND '$(DisableCompilerRedirection)'!='true' AND Exists('$(ProtoOutputPath)')">
<FSharpTargetsPath>$(ProtoOutputPath)\Microsoft.FSharp.Targets</FSharpTargetsPath>
<FSharpPropsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.props</FSharpPropsShim>
<FSharpTargetsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.targets</FSharpTargetsShim>
Expand Down
14 changes: 4 additions & 10 deletions FSharpBuild.Directory.Build.targets
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
<Project>

<Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" />
<Import Project="eng\targets\NuGet.targets" />
<Import Project="eng\targets\NGenBinaries.targets" />
<Import Project="FSharp.Profiles.props" />

<PropertyGroup>
<XlfLanguages>en;$(XlfLanguages)</XlfLanguages>
</PropertyGroup>

<PropertyGroup Condition="'$(UseAssetTargetFallback)' == 'true'">
<!--
HACK: Necessary because the `netstandard1.6` version of FSharp.Compiler.Private requires a package that isn't
necessary for `net46`, but the package has a requirement on `net462`. The reference is excluded from the build
during `net46`, but for purposes of restore needs to be present.
-->
<AssetTargetFallback>$(AssetTargetFallback);net462</AssetTargetFallback>
<NoWarn>$(NoWarn);NU1605;NU1701</NoWarn>
</PropertyGroup>

<PropertyGroup>
Expand All @@ -34,9 +33,4 @@
</CreateItem>
</Target>

<Import Project="build\targets\NGenOrCrossGen.targets" />
<Import Project="build\targets\ConvertPortablePdbs.targets" />
<Import Project="build\targets\GenerateAssemblyAttributes.targets" />
<Import Project="build\targets\GenerateInternalsVisibleTo.targets" />

</Project>
File renamed without changes.
42 changes: 0 additions & 42 deletions PublishToBlob.proj

This file was deleted.

2 changes: 2 additions & 0 deletions Restore.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@echo off
powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\build.ps1""" -restore %*"
2 changes: 2 additions & 0 deletions Test.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@echo off
powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\build.ps1""" -test %*"
3 changes: 0 additions & 3 deletions build/projects/Directory.Build.props

This file was deleted.

3 changes: 0 additions & 3 deletions build/projects/Directory.Build.targets

This file was deleted.

Loading