Skip to content

Commit 6c761a6

Browse files
darthtrevinotimoznjosefpihrt
authored
Add .slnx support (#1662)
* Add support for the slnx solution file type * Add support for the slnx solution file type * fix formatting * add slnx support * use net9.0 path in some tool scripts * add setup-dotnet step * Squashed commit of the following: commit 219124e Author: Chris Trevino <chtrevin@microsoft.com> Date: Tue Jul 1 22:02:34 2025 -0700 dotnet format commit f721781 Author: Chris Trevino <chtrevin@microsoft.com> Date: Tue Jul 1 21:57:24 2025 -0700 add pragma disable commit b645a59 Author: Chris Trevino <chtrevin@microsoft.com> Date: Tue Jul 1 21:47:40 2025 -0700 remove net7.0 targets (deprecated) commit 85b7920 Author: Chris Trevino <chtrevin@microsoft.com> Date: Tue Jul 1 21:42:00 2025 -0700 conditional Microsoft.Build import commit 7ce673f Author: Chris Trevino <chtrevin@microsoft.com> Date: Tue Jul 1 21:20:28 2025 -0700 drop net7.0 commit f26dd93 Author: Chris Trevino <chtrevin@microsoft.com> Date: Tue Jul 1 21:08:32 2025 -0700 update dotnet 9.0.x install commit c8f9262 Author: Chris Trevino <chtrevin@microsoft.com> Date: Tue Jul 1 21:02:57 2025 -0700 leave roslynator.sln commit 88581a4 Author: Chris Trevino <chtrevin@microsoft.com> Date: Tue Jul 1 20:55:47 2025 -0700 test fix commit 922110c Author: Chris Trevino <chtrevin@microsoft.com> Date: Tue Jul 1 20:44:34 2025 -0700 fix lint issue commit 4782f89 Author: Chris Trevino <chtrevin@microsoft.com> Date: Tue Jul 1 20:41:52 2025 -0700 fix lint violation commit cf5a4ed Merge: 27d7848 1384df8 Author: Chris Trevino <chtrevin@microsoft.com> Date: Tue Jul 1 20:36:51 2025 -0700 Merge branch 'dathtrevino/feat/slnx_support' into task/slnx_everything commit 27d7848 Author: Chris Trevino <chtrevin@microsoft.com> Date: Tue Jul 1 11:43:53 2025 -0700 slnx everything * revert slnx changes * revert a couple of changes * update pragma text * Update src/Tests/Analyzers.Tests/RCS1213RemoveUnusedMemberDeclarationTests.cs Co-authored-by: Josef Pihrt <josef@pihrt.net> * Update src/CommandLine.DocumentationGenerator/DocumentationWriter.cs Co-authored-by: Josef Pihrt <josef@pihrt.net> * fix tests * update changelog --------- Co-authored-by: timo <timo.nuernberg@online.de> Co-authored-by: Josef Pihrt <josef@pihrt.net>
1 parent 37a845a commit 6c761a6

15 files changed

+33
-15
lines changed

ChangeLog.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Added
11+
12+
- [CLI] Add support for `slnx` files ([PR](https://github.com/dotnet/roslynator/pull/1662) by @darthtrevino)
13+
- Bump Roslyn to 4.14.0
14+
- Drop support for .NET 7 SDK
15+
1016
### Fixed
1117

1218
- Fix analyzer [RCS1246](https://josefpihrt.github.io/docs/roslynator/analyzers/RCS1246) ([PR](https://github.com/dotnet/roslynator/pull/1676))

src/CommandLine.DocumentationGenerator/CommandLine.DocumentationGenerator.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup Condition="'$(RoslynatorDotNetCli)' != true AND '$(RoslynatorCommandLine)' != true">
4-
<TargetFramework>net8.0</TargetFramework>
4+
<TargetFramework>net9.0</TargetFramework>
55
</PropertyGroup>
66

77
<PropertyGroup Condition="'$(RoslynatorDotNetCli)' == true">
8-
<TargetFrameworks>net7.0;net8.0;net9.0</TargetFrameworks>
8+
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
99
</PropertyGroup>
1010

1111
<PropertyGroup Condition="'$(RoslynatorCommandLine)' == true">

src/CommandLine/CommandLine.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup Condition="'$(RoslynatorDotNetCli)' != true AND '$(RoslynatorCommandLine)' != true">
4-
<TargetFramework>net8.0</TargetFramework>
4+
<TargetFramework>net9.0</TargetFramework>
55
</PropertyGroup>
66

77
<PropertyGroup Condition="'$(RoslynatorDotNetCli)' == true">
8-
<TargetFrameworks>net7.0;net8.0;net9.0</TargetFrameworks>
8+
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
99
</PropertyGroup>
1010

1111
<PropertyGroup Condition="'$(RoslynatorCommandLine)' == true">
@@ -56,6 +56,7 @@
5656

5757
<ItemGroup>
5858
<PackageReference Include="CommandLineParser" Version="2.8.0" />
59+
<PackageReference Include="Microsoft.Build" Version="17.14.8" ExcludeAssets="runtime" Condition="'$(TargetFramework)' == 'net9.0'" />
5960
<PackageReference Include="Microsoft.Build.Locator" Version="$(RoslynatorMicrosoftBuildLocatorVersion)" />
6061
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="$(RoslynatorCliRoslynVersion)" />
6162
<PackageReference Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces" Version="$(RoslynatorCliRoslynVersion)" />

src/CommandLine/CommandLineHelpers.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ public static bool IsGlobPatternForProject(string pattern)
2121
public static bool IsGlobPatternForSolution(string pattern)
2222
{
2323
return pattern.EndsWith(".sln", StringComparison.OrdinalIgnoreCase)
24-
|| pattern.EndsWith(".slnf", StringComparison.OrdinalIgnoreCase);
24+
|| pattern.EndsWith(".slnf", StringComparison.OrdinalIgnoreCase)
25+
|| pattern.EndsWith(".slnx", StringComparison.OrdinalIgnoreCase);
2526
}
2627

2728
public static void WaitForKeyPress(string message = null)

src/CommandLine/Commands/MSBuildWorkspaceCommand.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,8 @@ private static bool IsSolutionFile(string path)
414414
string extension = Path.GetExtension(path);
415415

416416
return string.Equals(extension, ".sln", StringComparison.OrdinalIgnoreCase)
417-
|| string.Equals(extension, ".slnf", StringComparison.OrdinalIgnoreCase);
417+
|| string.Equals(extension, ".slnf", StringComparison.OrdinalIgnoreCase)
418+
|| string.Equals(extension, ".slnx", StringComparison.OrdinalIgnoreCase);
418419
}
419420

420421
protected class ConsoleProgressReporter : IProgress<ProjectLoadProgress>

src/CommandLine/Json/DiagnosticGitLabJsonSerializer.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,11 @@ public static void Serialize(
6464
#else
6565
hashBytes = SHA256.HashData(source);
6666
#endif
67+
#pragma warning disable CA1872 // Use Convert.ToHexString instead of BitConverter.ToString
6768
issueFingerPrint = BitConverter.ToString(hashBytes)
6869
.Replace("-", "")
6970
.ToLowerInvariant();
71+
#pragma warning restore CA1872
7072

7173
reportItems.Add(new GitLabIssue()
7274
{

src/CommandLine/Program.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -871,7 +871,10 @@ private static bool TryParsePaths(IEnumerable<string> values, out ImmutableArray
871871

872872
string directoryPath = Environment.CurrentDirectory;
873873

874-
if (!TryFindFile(Directory.EnumerateFiles(directoryPath, "*.sln", SearchOption.TopDirectoryOnly), out string solutionPath))
874+
if (!TryFindFile(
875+
Directory.EnumerateFiles(directoryPath, "*.sln", SearchOption.TopDirectoryOnly)
876+
.Concat(Directory.EnumerateFiles(directoryPath, "*.slnx", SearchOption.TopDirectoryOnly)),
877+
out string solutionPath))
875878
{
876879
WriteLine($"Multiple MSBuild solution files found in '{directoryPath}'", Verbosity.Quiet);
877880
return false;

src/Directory.Build.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131

3232
<PropertyGroup>
3333
<Version Condition="'$(Version)' == ''">1.0.0</Version>
34-
<RoslynatorCliRoslynVersion>4.12.0</RoslynatorCliRoslynVersion>
35-
<RoslynatorTestingRoslynVersion>4.12.0</RoslynatorTestingRoslynVersion>
34+
<RoslynatorCliRoslynVersion>4.14.0</RoslynatorCliRoslynVersion>
35+
<RoslynatorTestingRoslynVersion>4.14.0</RoslynatorTestingRoslynVersion>
3636
<RoslynatorAnalyzersPackageReferenceVersion>4.12.11</RoslynatorAnalyzersPackageReferenceVersion>
3737
<RoslynatorCliPackageVersion>$(RoslynatorCliVersion)</RoslynatorCliPackageVersion>
3838
<RoslynatorPackageVersion>$(Version)</RoslynatorPackageVersion>

src/Tests/Analyzers.Tests/RCS1213RemoveUnusedMemberDeclarationTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ class C
119119
{
120120
#region R
121121
122-
#endregion R
122+
#endregion R
123123
}
124124
");
125125
}

src/Tests/CSharp.Tests/SyntaxKindTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,10 @@ public static void DetectNewSyntaxKinds()
595595
case SyntaxKind.RefStructConstraint:
596596
// new in 4.12.0
597597
case SyntaxKind.FieldExpression:
598+
// new in 4.14.0
599+
case SyntaxKind.ExtensionKeyword:
600+
case SyntaxKind.ExtensionDeclaration:
601+
case SyntaxKind.IgnoredDirectiveTrivia:
598602
{
599603
break;
600604
}

0 commit comments

Comments
 (0)