Skip to content

Commit da4ead5

Browse files
committed
Merge pull request #1 from Microsoft/master
Merge branch 'master'
2 parents 2ffb0b6 + 8a2e393 commit da4ead5

File tree

543 files changed

+21674
-16102
lines changed

Some content is hidden

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

543 files changed

+21674
-16102
lines changed

.gitignore

+4-2
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,8 @@ src/fsharp/FSharp.Compiler/*.userprefs
2929
src/*.log
3030
Debug
3131
Release
32-
vsdebug
33-
vsrelease
3432
Proto
33+
sign_temp
3534
.libs
3635
Makefile
3736
configure
@@ -73,6 +72,7 @@ src/fsharp/FSharp.LanguageService.Compiler/pplex.fs
7372
src/fsharp/FSharp.LanguageService.Compiler/pppars.fs
7473
src/fsharp/FSharp.LanguageService.Compiler/pppars.fsi
7574
vsintegration/src/unittests/Unittests.fsi
75+
vsintegration/src/FSharp.ProjectSystem.FSharp/ctofiles/MenusAndCommands.cto
7676
tests/*FSharp_Failures.env
7777
tests/*FSharp_Failures.lst
7878
tests/fsharpqa/Source/CodeGen/EmittedIL/StaticInit/StaticInit_Module01.dll
@@ -94,4 +94,6 @@ tests/fsharpqa/Source/*FSharpQA_Failures.lst
9494
*.orig
9595
*.mdf
9696
*.ldf
97+
*.cto
9798
tests/**/FSharp.Core.dll
99+
project.lock.json

.nuget/NuGet.Config

+8-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,14 @@
44
<add key="disableSourceControlIntegration" value="true" />
55
</solution>
66
<packageSources>
7-
<add key="myget.org dotnet-corefx" value="https://www.myget.org/F/dotnet-corefx/" />
8-
<add key="myget.org dotnet-buildtools" value="https://www.myget.org/F/dotnet-buildtools/" />
9-
<add key="myget.org fsharp-daily" value="https://www.myget.org/F/fsharp-daily/" />
7+
8+
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
9+
<clear />
10+
<add key="myget.org fsharp-daily" value="https://www.myget.org/F/fsharp-daily/api/v3/index.json" />
11+
<add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
12+
<add key="myget.org dotnet-buildtools" value="https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json" />
13+
<add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
1014
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
15+
1116
</packageSources>
1217
</configuration>

.nuget/NuGet.exe

162 KB
Binary file not shown.

BuildToolsVersion.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1.0.25-prerelease-00317-01

DEVGUIDE.md

+27-19
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ For **Debug** this corresponds to these steps, which you can run individually fo
9191

9292
msbuild src/fsharp-library-build.proj
9393
msbuild src/fsharp-compiler-build.proj
94-
msbuild src/fsharp-typeproviders-build.proj
9594
msbuild src/fsharp-compiler-unittests-build.proj
9695
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable47
9796
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable7
@@ -102,8 +101,12 @@ For **Debug** this corresponds to these steps, which you can run individually fo
102101
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable7
103102
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable78
104103
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable259
105-
msbuild VisualFSharp.sln
106-
msbuild vsintegration\fsharp-vsintegration-unittests-build.proj
104+
msbuild vsintegration/fsharp-vsintegration-src-build.proj
105+
msbuild vsintegration/fsharp-vsintegration-project-templates-build.proj
106+
msbuild vsintegration/fsharp-vsintegration-item-templates-build.proj
107+
msbuild vsintegration/fsharp-vsintegration-deployment-build.proj
108+
msbuild vsintegration/fsharp-vsintegration-unittests-build.proj
109+
msbuild tests/fsharp/FSharp.Tests.fsproj
107110
src\update.cmd debug -ngen
108111
tests\BuildTestTools.cmd debug
109112

@@ -112,7 +115,6 @@ For **Release** this corresponds to these steps, which you can run individually
112115

113116
msbuild src/fsharp-library-build.proj /p:Configuration=Release
114117
msbuild src/fsharp-compiler-build.proj /p:Configuration=Release
115-
msbuild src/fsharp-typeproviders-build.proj /p:Configuration=Release
116118
msbuild src/fsharp-compiler-unittests-build.proj /p:Configuration=Release
117119
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable47 /p:Configuration=Release
118120
msbuild src/fsharp-library-build.proj /p:TargetFramework=portable7 /p:Configuration=Release
@@ -123,44 +125,50 @@ For **Release** this corresponds to these steps, which you can run individually
123125
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable7 /p:Configuration=Release
124126
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable78 /p:Configuration=Release
125127
msbuild src/fsharp-library-unittests-build.proj /p:TargetFramework=portable259 /p:Configuration=Release
126-
msbuild VisualFSharp.sln /p:Configuration=Release
127-
msbuild vsintegration\fsharp-vsintegration-unittests-build.proj /p:Configuration=Release
128+
msbuild vsintegration/fsharp-vsintegration-src-build.proj /p:Configuration=Release
129+
msbuild vsintegration/fsharp-vsintegration-project-templates-build.proj /p:Configuration=Release
130+
msbuild vsintegration/fsharp-vsintegration-item-templates-build.proj /p:Configuration=Release
131+
msbuild vsintegration/fsharp-vsintegration-deployment-build.proj /p:Configuration=Release
132+
msbuild vsintegration/fsharp-vsintegration-unittests-build.proj /p:Configuration=Release
133+
msbuild tests/fsharp/FSharp.Tests.fsproj /p:Configuration=Release
128134
src\update.cmd release -ngen
129135
tests\BuildTestTools.cmd release
130136

131-
### 4. [Optional] Install the Visual F# IDE Tools and Clobber the F# SDK on the machine
137+
### 4. [Optional] Install the Visual F# IDE Tools
132138

133-
**Note:** Step #2 below will install a VSIX extension into Visual Studio 2015 that changes the Visual F# IDE Tools
139+
**Note:** This step will install a VSIX extension into Visual Studio 2015 that changes the Visual F# IDE Tools
134140
components installed into Visual Studio 2015. You can revert this step by disabling or uninstalling the addin.
135141

136-
**Note:** Step #3 below will clobber the machine-wide installed F# SDK on your machine. This replaces the ``fsi.exe``/``fsiAnyCpu.exe`` used
137-
by Visual F# Interactive and the ``fsc.exe`` used by ``Microsoft.FSharp.targets``. Repairing Visual Studio 2015 is currently the
138-
only way to revert this step.
139-
140-
**Note:** After you complete the install, the FSharp.Core referenced by your projects will not be updated. If you want to make
141-
a project that references your updated FSharp.Core, you must explicitly change the ``TargetFSharpCoreVersion`` in the .fsproj
142-
file to ``4.4.0.5099`` (or a corresponding portable version number with suffix ``5099``).
143-
144142
For **Debug**:
145143

146144
1. Ensure that the VSIX package is uninstalled. In VS, select Tools/Extensions and Updates and if the package `VisualStudio.FSharp.EnableOpenSource` is installed, select Uninstall
147145
1. Run ``debug\net40\bin\EnableOpenSource.vsix``
148-
1. Run ``vsintegration\update-vsintegration.cmd debug`` (clobbers the installed F# SDK)
149146

150147
For **Release**:
151148

152149
1. Ensure that the VSIX package is uninstalled. In VS, select Tools/Extensions and Updates and if the package `VisualStudio.FSharp.EnableOpenSource` is installed, select Uninstall
153150
1. Run ``release\net40\bin\EnableOpenSource.vsix``
154-
1. Run ``vsintegration\update-vsintegration.cmd release`` (clobbers the installed F# SDK)
155151

156152
Restart Visual Studio, it should now be running your freshly-built Visual F# IDE Tools with updated F# Interactive.
157153

154+
### 5. [Optional] Clobber the F# SDK on the machine
155+
156+
**Note:** Step #3 below will clobber the machine-wide installed F# SDK on your machine. This replaces the ``fsi.exe``/``fsiAnyCpu.exe`` used by Visual F# Interactive and the ``fsc.exe`` used by ``Microsoft.FSharp.targets``. Repairing Visual Studio 2015 is currently the only way to revert this step.
157+
158+
For **Debug**:
159+
160+
1. Run ``vsintegration\update-vsintegration.cmd debug`` (clobbers the installed F# SDK)
161+
162+
For **Release**:
163+
164+
1. Run ``vsintegration\update-vsintegration.cmd release`` (clobbers the installed F# SDK)
165+
158166

159167
### Notes on the build
160168

161169
1. The `update.cmd` script adds required strong name validation skips, and NGens the compiler and libraries. This requires admin privileges.
162170
1. The compiler binaries produced are "private" and strong-named signed with a test key.
163-
1. Some additional tools are required to build the compiler, notably `fslex.exe`, `fsyacc.exe`, `FSharp.PowerPack.Build.Tasks.dll` and the other tools found in the `lkg` directory.
171+
1. Some additional tools are required to build the compiler, notably `fslex.exe`, `fsyacc.exe`, `FSharp.PowerPack.Build.Tasks.dll`, `FsSrGen.exe`, `FSharp.SRGen.Build.Tasks.dll`, and the other tools found in the `lkg` directory.
164172
1. The overall bootstrapping process executes as follows
165173
- We first need an existing F# compiler. We use the one in the `lkg` directory. Let's assume this compiler has an `FSharp.Core.dll` with version X.
166174
- We use this compiler to compile the source in this distribution, to produce a "proto" compiler, dropped to the `proto` directory. When run, this compiler still relies on `FSharp.Core.dll` with version X.

DotnetCLIVersion.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1.0.0-beta-002173

ISSUE_TEMPLATE.md

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
2+
3+
Please provide a succinct description of the issue.
4+
5+
#### Repro steps
6+
7+
Provide the steps required to reproduce the problem
8+
9+
1. Step A
10+
11+
2. Step B
12+
13+
#### Expected behavior
14+
15+
Provide a description of the expected behaviour.
16+
17+
#### Actual behavior
18+
19+
Provide a description of the actual behaviour observed.
20+
21+
#### Known workarounds
22+
23+
Provide a description of any known workarounds.
24+
25+
#### Related information
26+
27+
Provide any related information
28+
29+
* Operating system
30+
* Branch
31+
* .NET Runtime, CoreCLR or Mono Version
32+
* Editing Tools (e.g. Visual Studio Version)
33+
* Links to F# RFCs or entries on http://fslang.uservoice.com
34+
* Links to performance testing scripts
35+
* Indications of severity
36+
37+

README.md

+11-9
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,14 @@ Quickstart guides for build and test can be found [here](https://github.com/Micr
3636

3737
###Required Tools for Windows Development and Testing
3838

39-
###Development tools
39+
####Development tools
4040

41-
For F# 3.1.X development
42-
43-
- [Visual Studio 2013](http://www.visualstudio.com/en-us/downloads) + latest updates (or the free [Visual Studio Community Edition](http://www.visualstudio.com/products/visual-studio-community-vs))
44-
- [Visual Studio 2013 SDK](https://www.microsoft.com/en-us/download/details.aspx?id=40758)
45-
46-
For F# 4.0 development
41+
For F# 4.0+ development
4742

4843
- [Visual Studio 2015](http://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs)
4944
- [Visual Studio 2015 SDK](http://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs)
5045

51-
###Additional frameworks
46+
####Additional frameworks
5247

5348
- [Git for windows](http://msysgit.github.io/)
5449
- [Perl](http://www.perl.org/get.html#win32) (ActiveState 5.16.3 is known to be supported)
@@ -60,7 +55,7 @@ For F# 4.0 development
6055
- [Windows 8 SDK](http://msdn.microsoft.com/en-us/windows/desktop/hh852363.aspx)
6156
- [Windows 8.1 SDK](http://msdn.microsoft.com/en-us/library/windows/desktop/bg162891.aspx)
6257

63-
###Contributing
58+
####Contributing
6459

6560
Guidelines for contributions to the Visual F# compiler, library, and tools can be found [here](CONTRIBUTING.md).
6661

@@ -71,6 +66,12 @@ This project has adopted the code of conduct defined by the [Contributor Covenan
7166

7267
If you would like to contribute to the F# ecosystem more generally see the F# Software Foundation's [Community Projects](http://fsharp.org/community/projects/) pages.
7368

69+
###Using CI Builds
70+
71+
To install F#, see http://fsharp.org.
72+
73+
To download the bits for the latest CI builds see [these instructions](https://github.com/Microsoft/visualfsharp/wiki/Using-CI-Builds). This includes and ZIPs containing the F# compiler and VSIX installers for the Visual F# IDE Tools.
74+
7475
###Code Flow to Other Platforms
7576

7677
Currently, this repository only enables development and testing on the Windows platform. If you are using Linux, OSX, Android, or iOS, and would like to contribute, please see the instructions provided at the [Open Edition repo](https://github.com/fsharp/fsharp/#the-open-edition-of-the-f-compiler-core-library--tools).
@@ -81,3 +82,4 @@ Although the primary focus of this repo is F# for Windows and the Visual Studio
8182

8283
Keep up with the Visual F# Team and the development of the Visual F# Tools by following us [@VisualFSharp](https://twitter.com/VisualFSharp) or subscribing to our [team blog](http://blogs.msdn.com/b/fsharpteam/).
8384

85+

0 commit comments

Comments
 (0)