Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
08061bc
Merge pull request #6990 from dotnet/merges/release/dev16.2-to-releas…
brettfo Jun 12, 2019
d445116
update version number for VS 16.3 (#6991)
brettfo Jun 13, 2019
fd17050
Merge pull request #7005 from dotnet/merges/master-to-release/dev16.3
brettfo Jun 17, 2019
27d65e4
Merge pull request #7004 from dotnet/merges/release/dev16.2-to-releas…
brettfo Jun 17, 2019
ce98492
properly fail the build on unix failures (#7015)
brettfo Jun 18, 2019
cb880d5
Fixed line directive ranges when not applying a line directive (#7011)
TIHan Jun 18, 2019
b900968
Remove IVTs to legacy language service (#7001)
cartermp Jun 19, 2019
66a209a
[master] Update dependencies from dotnet/arcade (#7013)
dotnet-maestro[bot] Jun 19, 2019
51684d4
Add get/set to item description tooltip (#7016)
cartermp Jun 20, 2019
fa5ef91
[master] Update dependencies from dotnet/arcade (#7023)
dotnet-maestro[bot] Jun 21, 2019
1a1ae4b
Merge pull request #7029 from dotnet/merges/master-to-release/dev16.3
Jun 21, 2019
5289eb0
Merge pull request #7028 from dotnet/merges/release/dev16.2-to-releas…
Jun 21, 2019
4d15e56
update package versions for 16.1 (#6994)
brettfo Jun 22, 2019
7ee0b8c
Merge pull request #7042 from dotnet/merges/master-to-release/dev16.3
brettfo Jun 22, 2019
6633abe
Update dependencies from https://github.com/dotnet/arcade build 20190…
dotnet-maestro[bot] Jun 22, 2019
4f6aecc
Update dependencies from https://github.com/dotnet/arcade build 20190…
Jun 23, 2019
5e68e76
Update dependencies from https://github.com/dotnet/arcade build 20190…
Jun 24, 2019
0de649d
Ignore ionide (#7059)
forki Jun 25, 2019
e2693ce
Merge pull request #7053 from dotnet/darc-master-ee187335-5c39-4328-9…
KevinRansom Jun 25, 2019
108428b
Update several links (#7055)
milbrandt Jun 25, 2019
6d69922
Remove dead code (#7068)
forki Jun 27, 2019
86f8b17
Avoid allocating in IsOperatorName (#7061)
forki Jun 27, 2019
c3b6dff
Fix build GenerateDocs (#7054)
milbrandt Jun 27, 2019
6af64a7
List.transpose should throw error when given jagged array (#6908) (#6…
PatrickMcDonald Jun 27, 2019
010bd00
Added -noVisualStudio flag for build.cmd. (#7071)
TIHan Jun 28, 2019
5a8f454
Use a MaxBuffer for Suggestions (#7060)
forki Jun 28, 2019
459162b
Merge pull request #7084 from dotnet/merges/master-to-release/dev16.3
Jul 1, 2019
5306722
Update dependencies from https://github.com/dotnet/arcade build 20190…
dotnet-maestro[bot] Jul 1, 2019
787d4c5
Merge pull request #7092 from dotnet/merges/master-to-release/dev16.3
Jul 2, 2019
4d724f2
Reorder and clarify devguide (#7082)
cartermp Jul 2, 2019
d7cee80
Merge pull request #7094 from dotnet/merges/master-to-release/dev16.3
Jul 2, 2019
f878da6
Update dependencies from https://github.com/dotnet/arcade build 20190…
dotnet-maestro[bot] Jul 2, 2019
d51ae07
Merge pull request #7100 from dotnet/merges/master-to-release/dev16.3
Jul 3, 2019
7891cbd
Merge branch 'release/fsharp47' into merges/release/dev16.3-to-releas…
KevinRansom Jul 3, 2019
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -128,3 +128,4 @@ tests/fsharpqa/testenv/bin/System.ValueTuple.dll
msbuild.binlog
/fcs/FSharp.Compiler.Service.netstandard/*.fs
/fcs/FSharp.Compiler.Service.netstandard/*.fsi
/.ionide/
6 changes: 3 additions & 3 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Project maintainers who do not follow or enforce the Code of Conduct in good fai

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
[homepage]: https://contributor-covenant.org
[version]: https://contributor-covenant.org/version/1/4/
213 changes: 95 additions & 118 deletions DEVGUIDE.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion NuGet.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ These are the branches in use:

* `dev15.9`
- Long-term servicing branch for VS 2017 update 15.9.x. We do not expect to service that release, but if we do, that's where the changes will go.

* `dev16.x`
- Latest release branch for the particular point release of Visual Studio.
- Incorporates features and fixes from master up to a particular branch point, then selective cherry-picks.
Expand All @@ -84,28 +84,28 @@ Evolution of the F# language and core library follows a process spanning two add

The following links can help you get an overview of some technical aspects of the F# language and compiler:

* [The F# Compiler Technical Guide](http://fsharp.github.io/2015/09/29/fsharp-compiler-guide.html)
* [The F# Language Specification](http://fsharp.org/specs/language-spec/)
* [The F# Compiler Technical Guide](https://fsharp.github.io/2015/09/29/fsharp-compiler-guide.html)
* [The F# Language Specification](https://fsharp.org/specs/language-spec/)

## License

This project is subject to the MIT License. A copy of this license is in [License.txt](License.txt).

## Code of Conduct

This project has adopted the [Contributor Covenant](http://contributor-covenant.org/) code of conduct to clarify expected behavior in our community. You can read it at [CODE_OF_CONDUCT](CODE_OF_CONDUCT.md).
This project has adopted the [Contributor Covenant](https://contributor-covenant.org/) code of conduct to clarify expected behavior in our community. You can read it at [CODE_OF_CONDUCT](CODE_OF_CONDUCT.md).

## Get In Touch

Members of the [F# Software Foundation](http://fsharp.org) are invited to the [FSSF Slack](http://fsharp.org/guides/slack/). You can find support from other contributors in the `#compiler` and `#editor-support` channels.
Members of the [F# Software Foundation](https://fsharp.org) are invited to the [FSSF Slack](https://fsharp.org/guides/slack/). You can find support from other contributors in the `#compiler` and `#editor-support` channels.

Additionally, you can use the `#fsharp` tag on Twitter if you have general F# questions, including about this repository. Chances are you'll get multiple responses.

## About F#
## About F\#

If you're curious about F# itself, check out these links:

* [What is F#](https://docs.microsoft.com/dotnet/fsharp/what-is-fsharp)
* [Get started with F#](https://docs.microsoft.com/dotnet/fsharp/get-started/)
* [F# Software Foundation](http://fsharp.org)
* [F# Testimonials](http://fsharp.org/testimonials)
* [F# Software Foundation](https://fsharp.org)
* [F# Testimonials](https://fsharp.org/testimonials)
70 changes: 60 additions & 10 deletions eng/Build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ param (
[switch]$testVs,
[switch]$testAll,
[string]$officialSkipTests = "false",
[switch]$noVisualStudio,

[parameter(ValueFromRemainingArguments=$true)][string[]]$properties)

Expand Down Expand Up @@ -96,6 +97,7 @@ function Print-Usage() {
Write-Host " -procdump Monitor test runs with procdump"
Write-Host " -prepareMachine Prepare machine for CI run, clean up processes after build"
Write-Host " -useGlobalNuGetCache Use global NuGet cache."
Write-Host " -noVisualStudio Only build fsc and fsi as .NET Core applications. No Visual Studio required. '-configuration', '-verbosity', '-norestore', '-rebuild' are supported."
Write-Host ""
Write-Host "Command line arguments starting with '/p:' are passed through to MSBuild."
}
Expand Down Expand Up @@ -145,8 +147,19 @@ function Process-Arguments() {
}

function Update-Arguments() {
if (-Not (Test-Path "$ArtifactsDir\Bootstrap\fsc\fsc.exe")) {
$script:bootstrap = $True
if ($script:noVisualStudio) {
$script:bootstrapTfm = "netcoreapp2.1"
$script:msbuildEngine = "dotnet"
}

if ($bootstrapTfm -eq "netcoreapp2.1") {
if (-Not (Test-Path "$ArtifactsDir\Bootstrap\fsc\fsc.runtimeconfig.json")) {
$script:bootstrap = $True
}
} else {
if (-Not (Test-Path "$ArtifactsDir\Bootstrap\fsc\fsc.exe") -or (Test-Path "$ArtifactsDir\Bootstrap\fsc\fsc.runtimeconfig.json")) {
$script:bootstrap = $True
}
}
}

Expand Down Expand Up @@ -227,10 +240,37 @@ function TestUsingNUnit([string] $testProject, [string] $targetFramework) {
$projectName = [System.IO.Path]::GetFileNameWithoutExtension($testProject)
$testLogPath = "$ArtifactsDir\TestResults\$configuration\${projectName}_$targetFramework.xml"
$testBinLogPath = "$LogDir\${projectName}_$targetFramework.binlog"
$args = "test $testProject --no-restore --no-build -c $configuration -f $targetFramework -v n --test-adapter-path . --logger ""nunit;LogFilePath=$testLogPath"" /bl:$testBinLogPath"
$args = "test $testProject -c $configuration -f $targetFramework -v n --test-adapter-path . --logger ""nunit;LogFilePath=$testLogPath"" /bl:$testBinLogPath"

if (-not $noVisualStudio -or $norestore) {
$args += " --no-restore"
}

if (-not $noVisualStudio) {
$args += " --no-build"
}

Exec-Console $dotnetExe $args
}

function BuildCompiler() {
if ($bootstrapTfm -eq "netcoreapp2.1") {
$dotnetPath = InitializeDotNetCli
$dotnetExe = Join-Path $dotnetPath "dotnet.exe"
$fscProject = "$RepoRoot\src\fsharp\fsc\fsc.fsproj"
$fsiProject = "$RepoRoot\src\fsharp\fsi\fsi.fsproj"

$argNoRestore = if ($norestore) { " --no-restore" } else { "" }
$argNoIncremental = if ($rebuild) { " --no-incremental" } else { "" }

$args = "build $fscProject -c $configuration -v $verbosity -f netcoreapp2.1" + $argNoRestore + $argNoIncremental
Exec-Console $dotnetExe $args

$args = "build $fsiProject -c $configuration -v $verbosity -f netcoreapp2.1" + $argNoRestore + $argNoIncremental
Exec-Console $dotnetExe $args
}
}

function Prepare-TempDir() {
Copy-Item (Join-Path $RepoRoot "tests\Resources\Directory.Build.props") $TempDir
Copy-Item (Join-Path $RepoRoot "tests\Resources\Directory.Build.targets") $TempDir
Expand Down Expand Up @@ -259,7 +299,11 @@ try {
}

if ($restore -or $build -or $rebuild -or $pack -or $sign -or $publish) {
BuildSolution
if ($noVisualStudio) {
BuildCompiler
} else {
BuildSolution
}
}

if ($build) {
Expand All @@ -269,7 +313,7 @@ try {
$desktopTargetFramework = "net472"
$coreclrTargetFramework = "netcoreapp2.1"

if ($testDesktop) {
if ($testDesktop -and -not $noVisualStudio) {
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.UnitTests\FSharp.Compiler.UnitTests.fsproj" -targetFramework $desktopTargetFramework
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.LanguageServer.UnitTests\FSharp.Compiler.LanguageServer.UnitTests.fsproj" -targetFramework $desktopTargetFramework
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Build.UnitTests\FSharp.Build.UnitTests.fsproj" -targetFramework $desktopTargetFramework
Expand All @@ -285,7 +329,7 @@ try {
TestUsingNUnit -testProject "$RepoRoot\tests\fsharp\FSharpSuite.Tests.fsproj" -targetFramework $coreclrTargetFramework
}

if ($testFSharpQA) {
if ($testFSharpQA -and -not $noVisualStudio) {
Push-Location "$RepoRoot\tests\fsharpqa\source"
$resultsRoot = "$ArtifactsDir\TestResults\$configuration"
$resultsLog = "test-net40-fsharpqa-results.log"
Expand All @@ -304,21 +348,27 @@ try {
}

if ($testFSharpCore) {
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" -targetFramework $desktopTargetFramework
if (-not $noVisualStudio) {
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" -targetFramework $desktopTargetFramework
}
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" -targetFramework $coreclrTargetFramework
}

if ($testCompiler) {
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.UnitTests\FSharp.Compiler.UnitTests.fsproj" -targetFramework $desktopTargetFramework
if (-not $noVisualStudio) {
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.UnitTests\FSharp.Compiler.UnitTests.fsproj" -targetFramework $desktopTargetFramework
}
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.UnitTests\FSharp.Compiler.UnitTests.fsproj" -targetFramework $coreclrTargetFramework
}

if ($testCambridge) {
TestUsingNUnit -testProject "$RepoRoot\tests\fsharp\FSharpSuite.Tests.fsproj" -targetFramework $desktopTargetFramework
if (-not $noVisualStudio) {
TestUsingNUnit -testProject "$RepoRoot\tests\fsharp\FSharpSuite.Tests.fsproj" -targetFramework $desktopTargetFramework
}
TestUsingNUnit -testProject "$RepoRoot\tests\fsharp\FSharpSuite.Tests.fsproj" -targetFramework $coreclrTargetFramework
}

if ($testVs) {
if ($testVs -and -not $noVisualStudio) {
TestUsingNUnit -testProject "$RepoRoot\vsintegration\tests\GetTypesVS.UnitTests\GetTypesVS.UnitTests.fsproj" -targetFramework $desktopTargetFramework
TestUsingNUnit -testProject "$RepoRoot\vsintegration\tests\UnitTests\VisualFSharp.UnitTests.fsproj" -targetFramework $desktopTargetFramework
}
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="1.0.0-beta.19315.2">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.19351.4">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>aa4285be7fab64e2b6e62e4d5688ea50931c407c</Sha>
<Sha>1fb1e240c889cd7f6e10cb1eacd129efa3ddb4b4</Sha>
</Dependency>
</ToolsetDependencies>
</Dependencies>
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
</PropertyGroup>
<PropertyGroup>
<VSMajorVersion>16</VSMajorVersion>
<VSMinorVersion>1</VSMinorVersion>
<VSMinorVersion>3</VSMinorVersion>
<VSGeneralVersion>$(VSMajorVersion).0</VSGeneralVersion>
<VSAssemblyVersionPrefix>$(VSMajorVersion).$(VSMinorVersion).0</VSAssemblyVersionPrefix>
<VSAssemblyVersion>$(VSAssemblyVersionPrefix).0</VSAssemblyVersion>
Expand Down
4 changes: 2 additions & 2 deletions eng/build-utils.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ function Run-MSBuild([string]$projectFilePath, [string]$buildArgs = "", [string]
# Important to not set $script:bootstrapDir here yet as we're actually in the process of
# building the bootstrap.
function Make-BootstrapBuild() {
Write-Host "Building bootstrap compiler"
Write-Host "Building bootstrap '$bootstrapTfm' compiler"

$dir = Join-Path $ArtifactsDir "Bootstrap"
Remove-Item -re $dir -ErrorAction SilentlyContinue
Expand All @@ -243,7 +243,7 @@ function Make-BootstrapBuild() {

# prepare compiler
$projectPath = "$RepoRoot\proto.proj"
Run-MSBuild $projectPath "/restore /t:Publish" -logFileName "Bootstrap" -configuration $bootstrapConfiguration
Run-MSBuild $projectPath "/restore /t:Publish /p:TargetFramework=$bootstrapTfm;ProtoTargetFramework=$bootstrapTfm" -logFileName "Bootstrap" -configuration $bootstrapConfiguration
Copy-Item "$ArtifactsDir\bin\fsc\$bootstrapConfiguration\$bootstrapTfm\publish" -Destination "$dir\fsc" -Force -Recurse
Copy-Item "$ArtifactsDir\bin\fsi\$bootstrapConfiguration\$bootstrapTfm\publish" -Destination "$dir\fsi" -Force -Recurse

Expand Down
6 changes: 5 additions & 1 deletion eng/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,11 @@ function TestUsingNUnit() {
projectname="${projectname%.*}"
testlogpath="$artifacts_dir/TestResults/$configuration/${projectname}_$targetframework.xml"
args="test \"$testproject\" --no-restore --no-build -c $configuration -f $targetframework --test-adapter-path . --logger \"nunit;LogFilePath=$testlogpath\""
"$DOTNET_INSTALL_DIR/dotnet" $args
"$DOTNET_INSTALL_DIR/dotnet" $args || {
local exit_code=$?
echo "dotnet test failed (exit code '$exit_code')." >&2
ExitWithExitCode $exit_code
}
}

function BuildSolution {
Expand Down
11 changes: 11 additions & 0 deletions eng/common/PSScriptAnalyzerSettings.psd1
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
@{
IncludeRules=@('PSAvoidUsingCmdletAliases',
'PSAvoidUsingWMICmdlet',
'PSAvoidUsingPositionalParameters',
'PSAvoidUsingInvokeExpression',
'PSUseDeclaredVarsMoreThanAssignments',
'PSUseCmdletCorrectly',
'PSStandardDSCFunctionsInResource',
'PSUseIdenticalMandatoryParametersForDSC',
'PSUseIdenticalParametersForDSC')
}
1 change: 1 addition & 0 deletions eng/common/cross/build-rootfs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@ if [[ "$__LinuxCodeName" == "alpine" ]]; then
-X http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/main \
-X http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/community \
-X http://dl-cdn.alpinelinux.org/alpine/edge/testing \
-X http://dl-cdn.alpinelinux.org/alpine/edge/main \
-U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \
add $__AlpinePackages
rm -r $__ApkToolsDir
Expand Down
Loading