Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/workflows/commands.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ jobs:
"/run fantomas") dotnet fantomas . ;;
"/run xlf") dotnet build src/Compiler /t:UpdateXlf ;;
"/run ilverify") pwsh tests/ILVerify/ilverify.ps1 || true ;;
"/run test-baseline") dotnet test ./FSharp.Compiler.Service.sln -- --filter-query "${{ needs.parsing_job.outputs.arg }}" -c Release || true ;;
"/run test-baseline") dotnet test ./FSharp.Compiler.Service.slnx -- --filter-query "${{ needs.parsing_job.outputs.arg }}" -c Release || true ;;
*) echo "Unknown command" && exit 1 ;;
esac

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- name: Restore the language server solution
env:
CI: false
run: dotnet build ./LSPSolutionSlim.sln -c Release --verbosity quiet || true
run: dotnet build ./LSPSolutionSlim.slnx -c Release --verbosity quiet || true
- name: Restore dotnet tools
env:
CI: false
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,12 @@ scripts/*.patch
/src/fsi/*.resx
/src/FSharp.Compiler.Interactive.Settings/*.resx
/src/fsi/Fsi.sln
/src/fsi/Fsi.slnx
/src/FSharp.Build/*.resources
/src/Compiler/*.resx
/src/Compiler/*.resources
/src/Compiler/*.sln
/src/Compiler/*.slnx
/src/Compiler/*.userprefs
/src/Compiler/StandardOutput.txt
/src/Compiler/StandardError.txt
Expand Down Expand Up @@ -68,6 +70,7 @@ ossreadme*.txt
*.fsproj.user
*.vbproj.user
*.sln.DotSettings.user
*.slnx.DotSettings.user
*.props.user
launchSettings.json
*.log
Expand Down
4 changes: 2 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"FSharp.suggestGitignore": false,
"FSharp.enableMSBuildProjectGraph": true,
"FSharp.enableAdaptiveLspServer": true,
"FSharp.workspacePath": "FSharp.Compiler.Service.sln",
"FSharp.workspacePath": "FSharp.Compiler.Service.slnx",
"FSharp.workspaceModePeekDeepLevel": 1,
"FSharp.excludeProjectDirectories": [
".git",
Expand Down Expand Up @@ -53,5 +53,5 @@
}
},
"editor.inlayHints.enabled": "offUnlessPressed",
"dotnet.defaultSolution": "FSharp.Compiler.Service.sln"
"dotnet.defaultSolution": "FSharp.Compiler.Service.slnx"
}
8 changes: 4 additions & 4 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,15 +41,15 @@
"build",
"-c",
"Debug",
"FSharp.Compiler.Service.sln"
"FSharp.Compiler.Service.slnx"
],
"windows": {
"command": "dotnet",
"args": [
"build",
"-c",
"Debug",
"FSharp.Compiler.Service.sln"
"FSharp.Compiler.Service.slnx"
]
},
"options": {
Expand All @@ -71,15 +71,15 @@
"build",
"-c",
"Release",
"FSharp.Compiler.Service.sln"
"FSharp.Compiler.Service.slnx"
],
"windows": {
"command": "dotnet",
"args": [
"build",
"-c",
"Release",
"FSharp.Compiler.Service.sln"
"FSharp.Compiler.Service.slnx"
]
},
"options": {
Expand Down
26 changes: 9 additions & 17 deletions DEVGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,12 @@ build.cmd -test -c Release
After you build the first time you can open and use this solution in Visual Studio:

```shell
.\VisualFSharp.sln
.\VisualFSharp.slnx
```

If you don't have everything installed yet, you'll get prompted by Visual Studio to install a few more things. This is because we use a `.vsconfig` file that specifies all our dependencies.

If you are just developing the core compiler and library then building ``FSharp.sln`` will be enough.
If you are just developing the core compiler and library then building ``FSharp.slnx`` will be enough.

We recommend installing the latest Visual Studio preview and using that if you are on Windows. However, if you prefer not to do that, you will need to install the following:

Expand All @@ -84,7 +84,7 @@ You'll need to pass an additional flag to the build script:
build.cmd -noVisualStudio
```

You can open `FSharp.sln` in your editor of choice.
You can open `FSharp.slnx` in your editor of choice.

## Developing on Linux or macOS

Expand All @@ -100,7 +100,7 @@ Running tests:
./build.sh --test
```

You can then open `FSharp.sln` in your editor of choice.
You can then open `FSharp.slnx` in your editor of choice.

## Working with non-released .NET SDKs

Expand Down Expand Up @@ -141,7 +141,7 @@ After running the setup script once to install the SDK, you can use regular `dot

2. **Regular dotnet commands** (after SDK installation):
```shell
dotnet build FSharp.Compiler.Service.sln
dotnet build FSharp.Compiler.Service.slnx
dotnet test tests/FSharp.Compiler.Service.Tests/
```

Expand Down Expand Up @@ -422,23 +422,15 @@ Use the `Debug` configuration to test your changes locally. It is the default. D

### Benchmarking

Existing compiler benchmarks can be found in `tests\benchmarks\`. The folder contains READMEs describing specific benchmark projects as well as guidelines for creating new benchmarks. There is also `FSharp.Benchmarks.sln` solution containing all the benchmark project and their dependencies.
Existing compiler benchmarks can be found in `tests\benchmarks\`. The folder contains READMEs describing specific benchmark projects as well as guidelines for creating new benchmarks.

To exercise the benchmarking infrastructure locally, run:
To run benchmarks locally, build the benchmark projects individually in Release configuration, e.g.:

(Windows)
```cmd
build.cmd -configuration Release -testBenchmarks
dotnet run -c Release --project tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/FSharp.Compiler.Benchmarks.fsproj
```

(Linux/Mac)
```shell
./build.sh --configuration Release --testBenchmarks
```

This is executed in CI as well. It does the following:
- builds all the benchmarking projects
- does smoke testing for fast benchmarks (executes them once to check they don't fail in the runtime)
See the READMEs in `tests\benchmarks\` for details on each benchmark suite and how to interpret results.

### Benchmarking and profiling the compiler

Expand Down
97 changes: 0 additions & 97 deletions FSharp.Benchmarks.sln

This file was deleted.

Loading
Loading