Skip to content

Commit

Permalink
Merge pull request #9 from Microsoft/master
Browse files Browse the repository at this point in the history
merge from master
  • Loading branch information
AviAvni authored Nov 9, 2016
2 parents 500c342 + 5a65c08 commit de769f2
Show file tree
Hide file tree
Showing 190 changed files with 2,137 additions and 25,256 deletions.
Empty file modified .nuget/NuGet.exe
100644 → 100755
Empty file.
28 changes: 28 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

language: csharp

sudo: required
dist: trusty

os:
- linux

mono:
- latest
- 4.6.1

env:
- BUILD_NET40=1 TEST_NET40_COREUNIT_SUITE=1

# These are not yet enabled
# - BUILD_CORECLR=1 TEST_CORECLR_COREUNIT_SUITE=1
# - BUILD_CORECLR=1 TEST_CORECLR_COREUNIT_SUITE=1 BUILD_PROTO_WITH_CORECLR_LKG=1

script:
- ./build.sh






2 changes: 1 addition & 1 deletion BuildToolsVersion.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.0.26-prerelease-00920-02
1.0.27-prerelease-01001-04
21 changes: 19 additions & 2 deletions DEVGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,24 @@ The primary technical documents for the F# compiler code are

## Quick Start: Build, Test, Develop

You can build the F# compiler for .NET Framework as follows:
### F# Compiler (Linux)

Currently you can do on Linux a bootstrap of the Mono version of the compiler. Full testing is not enabled,
nor is a .NET Core build of the compiler.

First [install Mono](http://www.mono-project.com/docs/getting-started/install/linux/).
Then:

./build.sh

results will be in ``Debug\net40\bin\...``. This doesn't do any testing (beyond the bootstrap). You can
run the compiler ``fsc.exe`` and F# Interactive ``fsi.exe`` by hand to test it.

These steps are tested under the Linux/Mono configuration(s) in ``.travis.yml`` (Ubuntu).

### F# Compiler (Windows)

On Windows you can build the F# compiler for .NET Framework as follows:

build.cmd

Expand Down Expand Up @@ -70,7 +87,7 @@ Building ``VisualFSharp.sln`` builds _nearly_ everything. However building porta
FSharp.Core.dll is not included. If you are just developing the core compiler, library
and Visual F# Tools then building the solution will be enough.

### [Optional] Install the Visual F# IDE Tools
## [Optional] Install the Visual F# IDE Tools (Windows Only)

At time of writing, the Visual F# IDE Tools can only be installed into Visual Studio "Next" (aka "Dev15") releases.
The new builds of the Visual F# IDE Tools can no longer be installed into Visual Studio 2015.
Expand Down
24 changes: 18 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

| |Debug (Build only)|Release (Tests Part 1)|Release (Tests Part 2)|
|:----------:|:----------------:|:------------------:|:-----------------------:|
|**master** |[![Build Status](http://dotnet-ci.cloudapp.net/buildStatus/icon?job=Microsoft_visualfsharp/master/debug_windows_nt)](http://dotnet-ci.cloudapp.net/job/Microsoft_visualfsharp/job/master/job/debug_windows_nt/)|[![Build Status](http://dotnet-ci.cloudapp.net/buildStatus/icon?job=Microsoft_visualfsharp/master/release_ci_part1_windows_nt)](http://dotnet-ci.cloudapp.net/job/Microsoft_visualfsharp/job/master/job/release_ci_part1_windows_nt/)|[![Build Status](http://dotnet-ci.cloudapp.net/buildStatus/icon?job=Microsoft_visualfsharp/master/release_ci_part2_windows_nt)](http://dotnet-ci.cloudapp.net/job/Microsoft_visualfsharp/job/master/job/release_ci_part2_windows_nt/)|
|**master** |[![Build Status](https://ci.dot.net/buildStatus/icon?job=Microsoft_visualfsharp/master/debug_windows_nt)](https://ci.dot.net/job/Microsoft_visualfsharp/job/master/job/debug_windows_nt/)|[![Build Status](https://ci.dot.net/buildStatus/icon?job=Microsoft_visualfsharp/master/release_ci_part1_windows_nt)](https://ci.dot.net/job/Microsoft_visualfsharp/job/master/job/release_ci_part1_windows_nt/)|[![Build Status](https://ci.dot.net/buildStatus/icon?job=Microsoft_visualfsharp/master/release_ci_part2_windows_nt)](https://ci.dot.net/job/Microsoft_visualfsharp/job/master/job/release_ci_part2_windows_nt/)|

###Contributing to the F# Language, Library, and Tools

Expand All @@ -30,13 +30,23 @@ This project is subject to the Apache Licence, Version 2.0. A copy of the licens
###Development and Testing

See [DEVGUIDE.md](DEVGUIDE.md) and [TESTGUIDE.md](TESTGUIDE.md) in the root of the repo for details on build, development, and testing.
Quickstart guides for build and test can be found [here](https://github.com/Microsoft/visualfsharp/wiki/Build-Quickstart) and [here](https://github.com/Microsoft/visualfsharp/wiki/Test-Quickstart), respectively.

###Required Tools for Windows Development and Testing

####Development tools

For F# 4.1 development
For F# Compiler on Windows (``build net40``)

- [.NET 4.5.1](http://www.microsoft.com/en-us/download/details.aspx?id=40779)
- [MSBuild 12.0](http://www.microsoft.com/en-us/download/details.aspx?id=40760)

For F# Compiler on OSX and Linux (see .travis.yml for build steps)

- [Mono latest](http://www.mono-project.com/download/#download-lin)
- If building for .NET Core, then .NET Core will be downloaded from Linux packages


For Visual F# IDE Tools 4.1 development (Windows)

- [Visual Studio 15](https://www.visualstudio.com/en-us/downloads/visual-studio-next-downloads-vs.aspx)
- Select Visual C++ / Common Tools For Visual C++
Expand All @@ -60,11 +70,10 @@ For F# 4.1 development

####Contributing

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

How we label issues and PRs: https://github.com/dotnet/roslyn/wiki/Labels-used-for-issues


This project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/) to clarify expected behavior in our community. This code of conduct has been [adopted by many other projects](http://contributor-covenant.org/adopters/). For more information see the [Code of conduct](https://github.com/Microsoft/visualfsharp/wiki/Code-of-Conduct).

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.
Expand All @@ -77,7 +86,9 @@ To download the bits for the latest CI builds see [these instructions](https://g

###Code Flow to Other Platforms

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).
This repository enables development on Windows, Linux and OSX. It enables automated CI testing primarily on Windows.

If using 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).

Although the primary focus of this repo is F# for Windows and the Visual Studio F# tools, contributions here flow directly to the F# Open Edition repo. More details can be found [here](https://github.com/Microsoft/visualfsharp/wiki/Code-Flow-to-Open-Edition).

Expand All @@ -86,3 +97,4 @@ Although the primary focus of this repo is F# for Windows and the Visual Studio
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/).



42 changes: 42 additions & 0 deletions before_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get -y install mono-devel

mono .nuget/NuGet.exe restore packages.config -PackagesDirectory packages -ConfigFile .nuget/NuGet.Config

(if test x-$BUILD_CORECLR = x-1; then \
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'; \
sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893; \
sudo apt-get update; \
sudo apt-get -y install dotnet-dev-1.0.0-preview2-003131; \
(cd tests/fsharp; mono ../../.nuget/NuGet.exe restore project.json -PackagesDirectory ../../packages -ConfigFile ../../.nuget/NuGet.Config); \
./init-tools.sh; \
echo "------ start log"; \
cat ./init-tools.log; echo "------ end log"; \
fi)

(if test x-$BUILD_PROTO_WITH_CORECLR_LKG = x-1; then \
(cd lkg/fsc && dotnet restore --packages ../packages && dotnet publish project.json -o ../Tools/lkg -r ubuntu.14.04-x64); \
(cd lkg/fsi && dotnet restore --packages ../packages && dotnet publish project.json -o ../Tools/lkg -r ubuntu.14.04-x64); \
fi)

#TODO: work out how to avoid the need for this
chmod u+x packages/FSharp.Compiler.Tools.4.0.1.19/tools/fsi.exe
chmod u+x packages/FsLexYacc.7.0.1/build/fslex.exe
chmod u+x packages/FsLexYacc.7.0.1/build/fsyacc.exe

# The FSharp.Compiler.Tools package doesn't work correctly unless a proper install of F# has been done on the machine
sudo apt-get -y install fsharp

# "access to the path /etc/mono/registry/last-time is denied"
sudo mkdir /etc/mono/registry
sudo chmod uog+rw /etc/mono/registry







4 changes: 2 additions & 2 deletions build-everything.proj
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<ProjectsWithNet40 Include="src/fsharp/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj" />
<ProjectsWithNet40 Include="src/fsharp/Fsc/Fsc.fsproj" />
<ProjectsWithNet40 Include="src/fsharp/fsi/Fsi.fsproj" />
<ProjectsWithNet40 Include="src/fsharp/fsiAnyCpu/FsiAnyCpu.fsproj"/>
<ProjectsWithNet40 Include="src/fsharp/fsiAnyCpu/FsiAnyCPU.fsproj"/>
</ItemGroup>

<ItemGroup Condition="'$(BUILD_CORECLR)'=='1'">
Expand All @@ -27,7 +27,7 @@
</ItemGroup>

<ItemGroup Condition="'$(BUILD_PORTABLE)'=='1'">
<ProjectsWithPortableFrameworks Include="src/fsharp-library-build.proj" />
<ProjectsWithPortableFrameworks Include="src/fsharp/FSharp.Core/FSharp.Core.fsproj" />
</ItemGroup>

<ItemGroup Condition="'$(BUILD_VS)'=='1'">
Expand Down
Loading

0 comments on commit de769f2

Please sign in to comment.