Skip to content

Commit 1a862ca

Browse files
authored
Merge pull request #894 from baronfel/integrate-vfsharp-feb-25-to-mar-02
Integrate vfsharp feb 25 to mar 29
2 parents 4827886 + 5e04ccf commit 1a862ca

File tree

462 files changed

+24171
-29186
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

462 files changed

+24171
-29186
lines changed

.gitignore

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# output location
22
artifacts/
33

4-
packages/
5-
64
/tests/scripts/current
5+
.dotnet/
6+
.packages/
7+
./tools
78

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

.vsts-pr.yaml

Lines changed: 101 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,48 @@
11
jobs:
2+
23
- job: Linux
34
pool:
45
vmImage: ubuntu-16.04
56
timeoutInMinutes: 90
67
strategy:
78
maxParallel: 3
89
matrix:
9-
dotnet_sdk:
10-
_command: make
11-
_args: Configuration=release
12-
release_fcs:
13-
_command: ./fcs/build.sh
14-
_args: Build
10+
coreclr_release:
11+
_configuration: Release
12+
_testKind: testcoreclr
13+
steps:
14+
- script: ./eng/cibuild.sh --configuration $(_configuration) --$(_testKind)
15+
- task: PublishBuildArtifacts@1
16+
displayName: Publish Build Logs
17+
inputs:
18+
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_configuration)'
19+
ArtifactName: 'Linux $(_configuration) $(_testKind) build log'
20+
publishLocation: Container
21+
continueOnError: true
22+
condition: not(succeeded())
23+
- task: PublishBuildArtifacts@1
24+
displayName: Publish Test Results
25+
inputs:
26+
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults'
27+
ArtifactName: 'Linux $(_configuration) $(_testKind)'
28+
publishLocation: Container
29+
continueOnError: true
30+
condition: not(succeeded())
31+
32+
- job: Linux_FCS
33+
pool:
34+
vmImage: ubuntu-16.04
35+
timeoutInMinutes: 90
1536
steps:
16-
- script: $(_command) $(_args)
37+
- script: ./fcs/build.sh Build
1738
- task: PublishBuildArtifacts@1
39+
displayName: Publish Test Results
1840
inputs:
1941
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults'
20-
ArtifactName: 'Linux $(_command) $(_args)'
42+
ArtifactName: 'Linux FCS test results'
2143
publishLocation: Container
2244
continueOnError: true
23-
condition: failed()
45+
condition: not(succeeded())
2446

2547
- job: MacOS
2648
pool:
@@ -29,56 +51,92 @@ jobs:
2951
strategy:
3052
maxParallel: 3
3153
matrix:
32-
dotnet_sdk:
33-
_command: make
34-
_args: Configuration=release
35-
release_fcs:
36-
_command: ./fcs/build.sh
37-
_args: Build
54+
coreclr_release:
55+
_configuration: Release
56+
_testKind: testcoreclr
3857
steps:
39-
- script: $(_command) $(_args)
58+
- script: ./eng/cibuild.sh --configuration $(_configuration) --$(_testKind)
4059
- task: PublishBuildArtifacts@1
60+
displayName: Publish Build Logs
61+
inputs:
62+
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_configuration)'
63+
ArtifactName: 'MacOS $(_configuration) $(_testKind) build log'
64+
publishLocation: Container
65+
continueOnError: true
66+
condition: not(succeeded())
67+
- task: PublishBuildArtifacts@1
68+
displayName: Publish Test Results
4169
inputs:
4270
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults'
43-
ArtifactName: 'MacOS $(_command) $(_args)'
71+
ArtifactName: 'MacOS $(_configuration) $(_testKind)'
4472
publishLocation: Container
4573
continueOnError: true
46-
condition: failed()
74+
condition: not(succeeded())
75+
76+
- job: MacOS_FCS
77+
pool:
78+
vmImage: macOS-10.13
79+
timeoutInMinutes: 90
80+
steps:
81+
- script: ./fcs/build.sh Build
82+
- task: PublishBuildArtifacts@1
83+
displayName: Publish Test Results
84+
inputs:
85+
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults'
86+
ArtifactName: 'MacOS FCS test results'
87+
publishLocation: Container
88+
continueOnError: true
89+
condition: not(succeeded())
4790

4891
- job: Windows
4992
pool:
5093
vmImage: vs2017-win2016
5194
timeoutInMinutes: 120
5295
strategy:
53-
maxParallel: 7
96+
maxParallel: 4
5497
matrix:
55-
ci_part1:
56-
_command: build.cmd
57-
_args: release ci_part1
58-
ci_part2:
59-
_command: build.cmd
60-
_args: release ci_part2
61-
ci_part3:
62-
_command: build.cmd
63-
_args: release ci_part3
64-
ci_part4:
65-
_command: build.cmd
66-
_args: release ci_part4
67-
debug_default:
68-
_command: build.cmd
69-
_args: debug
70-
net40_no_vs:
71-
_command: build.cmd
72-
_args: release net40
73-
release_fcs:
74-
_command: fcs\build.cmd
75-
_args: TestAndNuget
98+
desktop_release:
99+
_configuration: Release
100+
_testKind: testDesktop
101+
coreclr_release:
102+
_configuration: Release
103+
_testKind: testCoreclr
104+
fsharpqa_release:
105+
_configuration: Release
106+
_testKind: testFSharpQA
107+
vs_release:
108+
_configuration: Release
109+
_testKind: testVs
110+
steps:
111+
- script: eng\CIBuild.cmd -configuration $(_configuration) -$(_testKind)
112+
- task: PublishBuildArtifacts@1
113+
displayName: Publish Build Logs
114+
inputs:
115+
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\log\$(_configuration)'
116+
ArtifactName: 'Windows $(_configuration) $(_testKind) build log'
117+
publishLocation: Container
118+
continueOnError: true
119+
condition: not(succeeded())
120+
- task: PublishBuildArtifacts@1
121+
displayName: Publish Test Results
122+
inputs:
123+
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults'
124+
ArtifactName: 'Windows $(_configuration) $(_testKind) test results'
125+
publishLocation: Container
126+
continueOnError: true
127+
condition: not(succeeded())
128+
129+
- job: Windows_FCS
130+
pool:
131+
vmImage: vs2017-win2016
132+
timeoutInMinutes: 120
76133
steps:
77-
- script: $(_command) $(_args)
134+
- script: fcs\build.cmd TestAndNuget
78135
- task: PublishBuildArtifacts@1
136+
displayName: Publish Test Results
79137
inputs:
80138
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults'
81-
ArtifactName: 'Windows $(_command) $(_args)'
139+
ArtifactName: 'Windows FCS test results'
82140
publishLocation: Container
83141
continueOnError: true
84-
condition: failed()
142+
condition: not(succeeded())

Build.cmd

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@echo off
2+
powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\build.ps1""" -build -restore %*"
File renamed without changes.
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
<Project>
2-
32
<Import Project="FSharpBuild.Directory.Build.targets" Condition = " '$(FSharpTestCompilerVersion)' == '' "/>
43
<Import Project="FSharpTests.Directory.Build.targets" Condition = " '$(FSharpTestCompilerVersion)' != '' "/>
54
<Import Project="CoordinateXlif.targets" Condition = " '$(FSharpBuildAssemblyFile)' != '' and '$(XliffTasksAssembly)' != '' "/>
6-
75
</Project>

FSharp.Profiles.props

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
<PropertyGroup Condition="$(TargetFramework.StartsWith('netstandard')) OR $(TargetFramework.StartsWith('netcoreapp'))">
1313
<DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants>
14-
<DefineConstants>$(DefineConstants);NETSTANDARD1_6</DefineConstants>
1514
<DefineConstants>$(DefineConstants);FX_NO_APP_DOMAINS</DefineConstants>
1615
<DefineConstants>$(DefineConstants);FX_NO_ARRAY_LONG_LENGTH</DefineConstants>
1716
<DefineConstants>$(DefineConstants);FX_NO_BEGINEND_READWRITE</DefineConstants>
@@ -21,9 +20,7 @@
2120
<DefineConstants>$(DefineConstants);FX_NO_CORHOST_SIGNER</DefineConstants>
2221
<DefineConstants>$(DefineConstants);FX_NO_EVENTWAITHANDLE_IDISPOSABLE</DefineConstants>
2322
<DefineConstants>$(DefineConstants);FX_NO_EXIT_CONTEXT_FLAGS</DefineConstants>
24-
<DefineConstants>$(DefineConstants);FX_NO_HEAPTERMINATION</DefineConstants>
2523
<DefineConstants>$(DefineConstants);FX_NO_LINKEDRESOURCES</DefineConstants>
26-
<DefineConstants>$(DefineConstants);FX_NO_LOADER_OPTIMIZATION</DefineConstants>
2724
<DefineConstants>$(DefineConstants);FX_NO_PARAMETERIZED_THREAD_START</DefineConstants>
2825
<DefineConstants>$(DefineConstants);FX_NO_PDB_READER</DefineConstants>
2926
<DefineConstants>$(DefineConstants);FX_NO_PDB_WRITER</DefineConstants>

FSharpBuild.Directory.Build.props

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,20 @@
11
<Project>
22

3-
<Import Project="build\targets\AssemblyVersions.props" />
4-
<Import Project="build\targets\PackageVersions.props" />
5-
<Import Project="build\targets\GitHash.props" />
6-
<Import Project="build\targets\CommonPackages.targets" />
3+
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" />
4+
<Import Project="eng\targets\Settings.props" />
5+
6+
<PropertyGroup>
7+
<BUILD_IN_FSHARP_REPOSITORY>true</BUILD_IN_FSHARP_REPOSITORY>
8+
</PropertyGroup>
79

810
<!-- directory locations -->
911
<PropertyGroup>
10-
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
11-
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>
1212
<FSharpSourcesRoot>$(RepoRoot)src</FSharpSourcesRoot>
13-
<ArtifactsDir>$(RepoRoot)artifacts</ArtifactsDir>
14-
<ToolsRoot>$(ArtifactsDir)\toolset</ToolsRoot>
15-
<ArtifactsBinDir>$(ArtifactsDir)\bin</ArtifactsBinDir>
16-
<ArtifactsObjDir>$(ArtifactsDir)\obj</ArtifactsObjDir>
17-
<ArtifactsPackagesDir>$(ArtifactsDir)\packages</ArtifactsPackagesDir>
18-
<BaseOutputPath>$(ArtifactsBinDir)\$(MSBuildProjectName)</BaseOutputPath>
19-
<BaseIntermediateOutputPath>$(ArtifactsObjDir)\$(MSBuildProjectName)</BaseIntermediateOutputPath>
2013
<SymStoreDirectory>$(ArtifactsDir)\SymStore</SymStoreDirectory>
21-
<ProtoOutputPath Condition="'$(OS)' != 'Unix'">$(ArtifactsBinDir)\fsc\Proto\net46</ProtoOutputPath>
22-
<ProtoOutputPath Condition="'$(OS)' == 'Unix'">$(ArtifactsBinDir)/fsc/Proto/netcoreapp2.1</ProtoOutputPath>
14+
<ProtoOutputPath Condition="'$(OS)' != 'Unix'">$(ArtifactsDir)\Bootstrap</ProtoOutputPath>
15+
<ProtoOutputPath Condition="'$(OS)' == 'Unix'">$(ArtifactsDir)/fsc/Proto/netcoreapp2.1</ProtoOutputPath>
2316
<ValueTupleImplicitPackageVersion>4.4.0</ValueTupleImplicitPackageVersion>
17+
<WarningsAsErrors>1182;0025;$(WarningsAsErrors)</WarningsAsErrors>
2418
</PropertyGroup>
2519

2620
<!-- nuget -->
@@ -61,13 +55,8 @@
6155

6256
<!-- signing -->
6357
<PropertyGroup>
64-
<SkipSigning>false</SkipSigning>
65-
<SignAssembly>true</SignAssembly>
66-
<AssemblyOriginatorKeyFile>$(FSharpSourcesRoot)\fsharp\msft.pubkey</AssemblyOriginatorKeyFile>
67-
<StrongNames>true</StrongNames>
68-
<DelaySign>true</DelaySign>
58+
<StrongNameKeyId>Microsoft</StrongNameKeyId>
6959
</PropertyGroup>
70-
7160
<PropertyGroup Condition="'$(MonoPackaging)' == 'true'">
7261
<AssemblyOriginatorKeyFile>$(FSharpSourcesRoot)\fsharp\test.snk</AssemblyOriginatorKeyFile>
7362
<DelaySign>false</DelaySign>
@@ -82,14 +71,16 @@
8271

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

9182
<!-- SDK targets override -->
92-
<PropertyGroup Condition="'$(Configuration)' != 'Proto' AND Exists('$(ProtoOutputPath)')">
83+
<PropertyGroup Condition="'$(Configuration)' != 'Proto' AND '$(DisableCompilerRedirection)'!='true' AND Exists('$(ProtoOutputPath)')">
9384
<FSharpTargetsPath>$(ProtoOutputPath)\Microsoft.FSharp.Targets</FSharpTargetsPath>
9485
<FSharpPropsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.props</FSharpPropsShim>
9586
<FSharpTargetsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.targets</FSharpTargetsShim>

FSharpBuild.Directory.Build.targets

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
<Project>
2-
2+
<Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" />
3+
<Import Project="eng\targets\NuGet.targets" />
4+
<Import Project="eng\targets\NGenBinaries.targets" />
35
<Import Project="FSharp.Profiles.props" />
46

5-
<PropertyGroup>
6-
<XlfLanguages>en;$(XlfLanguages)</XlfLanguages>
7-
</PropertyGroup>
8-
97
<PropertyGroup Condition="'$(UseAssetTargetFallback)' == 'true'">
108
<!--
119
HACK: Necessary because the `netstandard1.6` version of FSharp.Compiler.Private requires a package that isn't
1210
necessary for `net46`, but the package has a requirement on `net462`. The reference is excluded from the build
1311
during `net46`, but for purposes of restore needs to be present.
1412
-->
1513
<AssetTargetFallback>$(AssetTargetFallback);net462</AssetTargetFallback>
14+
<NoWarn>$(NoWarn);NU1605;NU1701</NoWarn>
1615
</PropertyGroup>
1716

1817
<PropertyGroup>
@@ -34,9 +33,4 @@
3433
</CreateItem>
3534
</Target>
3635

37-
<Import Project="build\targets\NGenOrCrossGen.targets" />
38-
<Import Project="build\targets\ConvertPortablePdbs.targets" />
39-
<Import Project="build\targets\GenerateAssemblyAttributes.targets" />
40-
<Import Project="build\targets\GenerateInternalsVisibleTo.targets" />
41-
4236
</Project>
File renamed without changes.

PublishToBlob.proj

Lines changed: 0 additions & 42 deletions
This file was deleted.

Restore.cmd

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@echo off
2+
powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\build.ps1""" -restore %*"

Test.cmd

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@echo off
2+
powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\build.ps1""" -test %*"

build/projects/Directory.Build.props

Lines changed: 0 additions & 3 deletions
This file was deleted.

build/projects/Directory.Build.targets

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)