Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use solution filter instead of multiple solutions #47531

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
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
517 changes: 0 additions & 517 deletions Compilers.sln

This file was deleted.

15 changes: 15 additions & 0 deletions Compilers.slnf
Original file line number Diff line number Diff line change
Expand Up @@ -45,20 +45,35 @@
"src\\Compilers\\VisualBasic\\Test\\Symbol\\Microsoft.CodeAnalysis.VisualBasic.Symbol.UnitTests.vbproj",
"src\\Compilers\\VisualBasic\\Test\\Syntax\\Microsoft.CodeAnalysis.VisualBasic.Syntax.UnitTests.vbproj",
"src\\Compilers\\VisualBasic\\vbc\\vbc.csproj",
"src\\Dependencies\\CodeAnalysis.Debugging\\Microsoft.CodeAnalysis.Debugging.shproj",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is another issue that affects Mac and Linux users that we need to take into account - dotnet/msbuild#5715

~/Source/roslyn [master ≡ +1 ~0 -0 !]> dotnet restore "./Compilers.slnf"
/Users/joeyrobichaud/Source/roslyn/src/Analyzers/CSharp/Analyzers/CSharpAnalyzers.shproj : Solution file error MSB5028: Solution filter file at "System.Collections.Generic.HashSet`1[System.String]" includes project "src\Analyzers\CSharp\Analyzers\CSharpAnalyzers.shproj" that is not in the solution file at "/Users/joeyrobichaud/Source/roslyn/Roslyn.sln".

"src\\Dependencies\\PooledObjects\\Microsoft.CodeAnalysis.PooledObjects.Package.csproj",
"src\\Dependencies\\PooledObjects\\Microsoft.CodeAnalysis.PooledObjects.shproj",
"src\\Interactive\\csi\\csi.csproj",
"src\\Interactive\\vbi\\vbi.vbproj",
"src\\NuGet\\Microsoft.CodeAnalysis.Compilers.Package.csproj",
"src\\NuGet\\Microsoft.CodeAnalysis.Package.csproj",
"src\\NuGet\\Microsoft.CodeAnalysis.Scripting.Package.csproj",
"src\\NuGet\\Microsoft.NETCore.Compilers\\Microsoft.NETCore.Compilers.Package.csproj",
"src\\NuGet\\Microsoft.Net.Compilers.Toolset\\Microsoft.Net.Compilers.Toolset.Package.csproj",
"src\\NuGet\\Microsoft.Net.Compilers\\Microsoft.Net.Compilers.Package.csproj",
"src\\Scripting\\CSharpTest\\Microsoft.CodeAnalysis.CSharp.Scripting.UnitTests.csproj",
"src\\Scripting\\CSharp\\Microsoft.CodeAnalysis.CSharp.Scripting.csproj",
"src\\Scripting\\CoreTestUtilities\\Microsoft.CodeAnalysis.Scripting.TestUtilities.csproj",
"src\\Scripting\\CoreTest\\Microsoft.CodeAnalysis.Scripting.UnitTests.csproj",
"src\\Scripting\\Core\\Microsoft.CodeAnalysis.Scripting.csproj",
"src\\Scripting\\VisualBasicTest\\Microsoft.CodeAnalysis.VisualBasic.Scripting.UnitTests.vbproj",
"src\\Scripting\\VisualBasic\\Microsoft.CodeAnalysis.VisualBasic.Scripting.vbproj",
"src\\Test\\PdbUtilities\\Roslyn.Test.PdbUtilities.csproj",
"src\\Test\\Utilities\\Portable\\Roslyn.Test.Utilities.csproj",
"src\\Tools\\AnalyzerRunner\\AnalyzerRunner.csproj",
"src\\Tools\\BuildBoss\\BuildBoss.csproj",
"src\\Tools\\Source\\CompilerGeneratorTools\\Source\\BoundTreeGenerator\\CompilersBoundTreeGenerator.csproj",
"src\\Tools\\Source\\CompilerGeneratorTools\\Source\\CSharpErrorFactsGenerator\\CSharpErrorFactsGenerator.csproj",
"src\\Tools\\Source\\CompilerGeneratorTools\\Source\\CSharpSyntaxGenerator\\CSharpSyntaxGenerator.csproj",
"src\\Tools\\Source\\CompilerGeneratorTools\\Source\\IOperationGenerator\\CompilersIOperationGenerator.csproj",
"src\\Tools\\Source\\CompilerGeneratorTools\\Source\\VisualBasicErrorFactsGenerator\\VisualBasicErrorFactsGenerator.vbproj",
"src\\Tools\\Source\\CompilerGeneratorTools\\Source\\VisualBasicSyntaxGenerator\\VisualBasicSyntaxGenerator.vbproj",
"src\\Tools\\Source\\RunTests\\RunTests.csproj",
"src\\Workspaces\\CSharp\\Portable\\Microsoft.CodeAnalysis.CSharp.Workspaces.csproj",
"src\\Workspaces\\Core\\Portable\\Microsoft.CodeAnalysis.Workspaces.csproj",
"src\\Workspaces\\SharedUtilitiesAndExtensions\\Compiler\\CSharp\\CSharpCompilerExtensions.shproj",
Expand Down
2 changes: 1 addition & 1 deletion docs/infrastructure/cross-platform.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ cd <roslyn-git-directory>
./build.sh --restore
```

The script will install .NET Core to `.dotnet` directory if it is not found on `$PATH`. It will then restore required NuGet packages and build `Compilers.sln` solution. The option `--restore` (or `-r`) is only needed when building for the first time, or when NuGet references change.
The script will install .NET Core to `.dotnet` directory if it is not found on `$PATH`. It will then restore required NuGet packages and build `Compilers.slnf` solution. The option `--restore` (or `-r`) is only needed when building for the first time, or when NuGet references change.

## Using the compiler

Expand Down
2 changes: 1 addition & 1 deletion docs/wiki/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ We do want to make it super easy for customers who have given us feedback to log

## GitHub Site
### Why are there several solution files?
The main solution, Roslyn.sln, contains the entire codebase consisting of the compilers, workspaces, and Visual Studio layers. Building Roslyn.sln requires Visual Studio and a compatible version of the VS SDK. The Compilers.sln solution contains only the compiler layer and can therefore be built without Visual Studio or the VS SDK, but only on Windows. The CrossPlatform.sln solution contains the projects that currently support building on Linux.
The main solution, Roslyn.sln, contains the entire codebase consisting of the compilers, workspaces, and Visual Studio layers. Building Roslyn.sln requires Visual Studio and a compatible version of the VS SDK. The Compilers.slnf solution filter contains only the compiler layer and can therefore be built without Visual Studio or the VS SDK.

### What components can I run locally in Visual Studio?
Starting with Visual Studio 2015 Update 1, all parts of Roslyn can be ran inside Visual Studio. Read our instructions for [Building on Windows](https://github.com/dotnet/roslyn/blob/master/docs/contributing/Building%2C%20Debugging%2C%20and%20Testing%20on%20Windows.md) for more information.
Expand Down
2 changes: 1 addition & 1 deletion eng/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ function MakeBootstrapBuild {
}

function BuildSolution {
local solution="Compilers.sln"
local solution="Compilers.slnf"
echo "$solution:"

InitializeToolset
Expand Down
2 changes: 1 addition & 1 deletion src/Tools/IdeCoreBenchmarks/NavigateToBenchmarks.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public class NavigateToBenchmarks
public NavigateToBenchmarks()
{
var roslynRoot = Environment.GetEnvironmentVariable(Program.RoslynRootPathEnvVariableName);
_solutionPath = Path.Combine(roslynRoot, @"C:\github\roslyn\Compilers.sln");
_solutionPath = Path.Combine(roslynRoot, @"C:\github\roslyn\Compilers.slnf");

if (!File.Exists(_solutionPath))
throw new ArgumentException("Couldn't find Roslyn.sln");
Expand Down