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

Support Roslyn 3.11, 4.4, 4.6, and 4.8 #73

Merged
merged 15 commits into from
Feb 27, 2024
Merged
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
10 changes: 9 additions & 1 deletion .github/workflows/pr_validation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,16 @@ jobs:
- name: "dotnet build"
run: dotnet build -c Release

# .NET Framework tests can't run reliably on Linux, so we only do .NET 8

- name: "dotnet test"
run: dotnet test -c Release
shell: bash
run: |
if [ "${{ matrix.os }}" = "ubuntu-latest" ]; then
Copy link
Member Author

Choose a reason for hiding this comment

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

Can't run .NET Framework tests reliably on Linux; worked around that here.

dotnet test -c Release --framework net8.0
else
dotnet test -c Release
fi

- name: "dotnet pack"
run: dotnet pack -c Release
43 changes: 40 additions & 3 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,16 @@
<PropertyGroup>
<Copyright>Copyright © 2013-2024 Akka.NET Project</Copyright>
<NoWarn>$(NoWarn);CS1591;NU1701;CA1707;</NoWarn>
<VersionPrefix>0.2.1</VersionPrefix>
<VersionPrefix>0.2.2</VersionPrefix>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<Authors>Akka.NET Team</Authors>
<PackageProjectUrl>https://github.com/akkadotnet/akka.analyzers</PackageProjectUrl>
<PackageReleaseNotes>* [Resolved `AK2001`: `if` statements not cleanly managed by Code Fix](https://github.com/akkadotnet/akka.analyzers/pull/46)</PackageReleaseNotes>
<PackageReleaseNotes>* [AK2001: Harden rule, only run on Akka.NET v1.5.15 and later](https://github.com/akkadotnet/akka.analyzers/pull/51)
* [AK1001: Make sure that analyzer also considers `Context.Sender`](https://github.com/akkadotnet/akka.analyzers/pull/54)
* [AK1001: Make sure that analyzer also consider lambda expressions with no code blocks](https://github.com/akkadotnet/akka.analyzers/pull/56)
* [AK1002: Add new rule to prevent `GracefulStop()` from being called in `ReceiveAsync()` and `ReceiveAnyAsync()`](https://github.com/akkadotnet/akka.analyzers/pull/58)
* [AK1002: Improve rule to ignore user code with the same name](https://github.com/akkadotnet/akka.analyzers/pull/60)
* [AK1003: Add rule to flag non-performant `ReceiveAsync()` and `ReceiveAnyAsync()` invocation](https://github.com/akkadotnet/akka.analyzers/pull/61)</PackageReleaseNotes>
<PackageTags>akka.net, akka.analyzers, akakdotnet, roslyn, analyzers</PackageTags>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
Expand All @@ -21,6 +26,7 @@
<LangVersion>latest</LangVersion>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<RoslynVersion>4.8.0</RoslynVersion>
Copy link
Member Author

Choose a reason for hiding this comment

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

The key driver of this Roslyn-versioning system is this custom property - this is used to specify the version of the Roslyn tooling that gets included inside each distributable.

</PropertyGroup>
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)\logo.png" Pack="true" Visible="false" PackagePath="\" />
Expand All @@ -29,7 +35,7 @@
<!-- ======================================== -->
<!-- Production-specific properties and items -->
<Choose>
<When Condition=" !$(MSBuildProjectName.Contains('.tests')) ">
<When Condition=" !$(MSBuildProjectName.Contains('.Tests')) ">
<PropertyGroup>
<AnalysisLevel>latest-All</AnalysisLevel>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
Expand All @@ -38,4 +44,35 @@
</PropertyGroup>
</When>
</Choose>

<Choose>
<When Condition="$(MSBuildProjectName.Contains('.Tests'))">
<ItemGroup>
<!-- Download packages referenced by ReferenceAssembliesHelper -->
<PackageDownload Include="Akka.Cluster.Sharding" Version="[1.5.15]"/>
Copy link
Member Author

Choose a reason for hiding this comment

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

Moved this to here so all of the individual .Tests projects could all download the same dependencies needed for running integration tests

</ItemGroup>
</When>
</Choose>

<PropertyGroup Condition="$(MSBuildProjectName.StartsWith('Akka.Analyzers.Roslyn'))">
<AssemblyName>Akka.Analyzers</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition="$(MSBuildProjectName.StartsWith('Akka.Analyzers.Fixes.Roslyn'))">
<AssemblyName>Akka.Analyzers.Fixes</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition="$(MSBuildProjectName.Contains('Roslyn311'))">
<DefineConstants>$(DefineConstants);ROSLYN_3_11;ROSLYN_3_11_OR_GREATER</DefineConstants>
<RoslynVersion>3.11.0</RoslynVersion>
Copy link
Member Author

Choose a reason for hiding this comment

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

Defines the versions of Roslyn we use based on the naming convention of the projects

</PropertyGroup>
<PropertyGroup Condition="$(MSBuildProjectName.Contains('Roslyn44'))">
<DefineConstants>$(DefineConstants);ROSLYN_4_4;ROSLYN_3_11_OR_GREATER;ROSLYN_4_4_OR_GREATER</DefineConstants>
<RoslynVersion>4.4.0</RoslynVersion>
</PropertyGroup>
<PropertyGroup Condition="$(MSBuildProjectName.Contains('Roslyn46'))">
<DefineConstants>$(DefineConstants);ROSLYN_4_6;ROSLYN_3_11_OR_GREATER;ROSLYN_4_4_OR_GREATER;ROSLYN_4_6_OR_GREATER</DefineConstants>
<RoslynVersion>4.6.0</RoslynVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(RoslynVersion)' == '4.8.0' ">
<DefineConstants>$(DefineConstants);ROSLYN_4_8;ROSLYN_3_11_OR_GREATER;ROSLYN_4_4_OR_GREATER;ROSLYN_4_6_OR_GREATER;ROSLYN_4_8_OR_GREATER</DefineConstants>
</PropertyGroup>
</Project>
4 changes: 4 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,8 @@
<PackageVersion Include="FluentAssertions" Version="6.12.0"/>
<PackageVersion Include="coverlet.collector" Version="6.0.1"/>
</ItemGroup>

<ItemGroup>
<GlobalPackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="all" />
Copy link
Member Author

Choose a reason for hiding this comment

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

Added SourceLink as a global package reference for all projects in the solution.

</ItemGroup>
</Project>
71 changes: 71 additions & 0 deletions akka.analyzers.sln
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,30 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akka.Analyzers.Fixes", "src
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akka.Analyzers.NuGet", "src\Akka.Analyzers.NuGet\Akka.Analyzers.NuGet.csproj", "{48DD55F0-1E83-4EA2-B2E6-A2EBE7EAC9A4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akka.Analyzers.Roslyn311", "src\Akka.Analyzers.Roslyn311\Akka.Analyzers.Roslyn311.csproj", "{AC236C92-762A-4F43-9A92-683D81AF6BA4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akka.Analyzers.Fixes.Roslyn311", "src\Akka.Analyzers.Fixes.Roslyn311\Akka.Analyzers.Fixes.Roslyn311.csproj", "{1C7E113D-4700-4DAB-9EC1-D3BE21E6CBCD}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Roslyn 3.11", "Roslyn 3.11", "{FF127ED4-CA50-445C-A533-0D36899966E6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akka.Analyzers.Tests.Roslyn311", "src\Akka.Analyzers.Tests.Roslyn311\Akka.Analyzers.Tests.Roslyn311.csproj", "{43BB2D31-2A21-4946-A4A1-AC198B22956A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Roslyn 4.4", "Roslyn 4.4", "{D8291026-A8A5-40F9-B22C-493962616192}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akka.Analyzers.Roslyn44", "src\Akka.Analyzers.Roslyn44\Akka.Analyzers.Roslyn44.csproj", "{C3030644-1F58-4091-99C5-460BEDF164FD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akka.Analyzers.Fixes.Roslyn44", "src\Akka.Analyzers.Fixes.Roslyn44\Akka.Analyzers.Fixes.Roslyn44.csproj", "{95C34A93-29D3-4B89-954E-F5AAF2331A0D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akka.Analyzers.Tests.Roslyn44", "src\Akka.Analyzers.Tests.Roslyn44\Akka.Analyzers.Tests.Roslyn44.csproj", "{28063452-F29F-4762-B6C9-95019330262A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Roslyn 4.6", "Roslyn 4.6", "{DE128A6B-CAF9-466F-B9D5-AC3CF12849F3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akka.Analyzers.Roslyn46", "src\Akka.Analyzers.Roslyn46\Akka.Analyzers.Roslyn46.csproj", "{A856FB2B-8B4F-4738-8B96-B724CB9BAC2A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akka.Analyzers.Fixes.Roslyn46", "src\Akka.Analyzers.Fixes.Roslyn46\Akka.Analyzers.Fixes.Roslyn46.csproj", "{1B09921A-448B-4308-912C-F9E48F333588}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akka.Analyzers.Tests.Roslyn46", "src\Akka.Analyzers.Tests.Roslyn46\Akka.Analyzers.Tests.Roslyn46.csproj", "{E164864D-0EC9-4E39-BECC-5141124CBF23}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand All @@ -44,5 +68,52 @@ Global
{48DD55F0-1E83-4EA2-B2E6-A2EBE7EAC9A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{48DD55F0-1E83-4EA2-B2E6-A2EBE7EAC9A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{48DD55F0-1E83-4EA2-B2E6-A2EBE7EAC9A4}.Release|Any CPU.Build.0 = Release|Any CPU
{AC236C92-762A-4F43-9A92-683D81AF6BA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AC236C92-762A-4F43-9A92-683D81AF6BA4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AC236C92-762A-4F43-9A92-683D81AF6BA4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AC236C92-762A-4F43-9A92-683D81AF6BA4}.Release|Any CPU.Build.0 = Release|Any CPU
{1C7E113D-4700-4DAB-9EC1-D3BE21E6CBCD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1C7E113D-4700-4DAB-9EC1-D3BE21E6CBCD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1C7E113D-4700-4DAB-9EC1-D3BE21E6CBCD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1C7E113D-4700-4DAB-9EC1-D3BE21E6CBCD}.Release|Any CPU.Build.0 = Release|Any CPU
{43BB2D31-2A21-4946-A4A1-AC198B22956A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{43BB2D31-2A21-4946-A4A1-AC198B22956A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{43BB2D31-2A21-4946-A4A1-AC198B22956A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{43BB2D31-2A21-4946-A4A1-AC198B22956A}.Release|Any CPU.Build.0 = Release|Any CPU
{C3030644-1F58-4091-99C5-460BEDF164FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C3030644-1F58-4091-99C5-460BEDF164FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C3030644-1F58-4091-99C5-460BEDF164FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C3030644-1F58-4091-99C5-460BEDF164FD}.Release|Any CPU.Build.0 = Release|Any CPU
{95C34A93-29D3-4B89-954E-F5AAF2331A0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{95C34A93-29D3-4B89-954E-F5AAF2331A0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{95C34A93-29D3-4B89-954E-F5AAF2331A0D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{95C34A93-29D3-4B89-954E-F5AAF2331A0D}.Release|Any CPU.Build.0 = Release|Any CPU
{28063452-F29F-4762-B6C9-95019330262A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{28063452-F29F-4762-B6C9-95019330262A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{28063452-F29F-4762-B6C9-95019330262A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{28063452-F29F-4762-B6C9-95019330262A}.Release|Any CPU.Build.0 = Release|Any CPU
{A856FB2B-8B4F-4738-8B96-B724CB9BAC2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A856FB2B-8B4F-4738-8B96-B724CB9BAC2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A856FB2B-8B4F-4738-8B96-B724CB9BAC2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A856FB2B-8B4F-4738-8B96-B724CB9BAC2A}.Release|Any CPU.Build.0 = Release|Any CPU
{1B09921A-448B-4308-912C-F9E48F333588}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1B09921A-448B-4308-912C-F9E48F333588}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1B09921A-448B-4308-912C-F9E48F333588}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1B09921A-448B-4308-912C-F9E48F333588}.Release|Any CPU.Build.0 = Release|Any CPU
{E164864D-0EC9-4E39-BECC-5141124CBF23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E164864D-0EC9-4E39-BECC-5141124CBF23}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E164864D-0EC9-4E39-BECC-5141124CBF23}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E164864D-0EC9-4E39-BECC-5141124CBF23}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{1C7E113D-4700-4DAB-9EC1-D3BE21E6CBCD} = {FF127ED4-CA50-445C-A533-0D36899966E6}
{AC236C92-762A-4F43-9A92-683D81AF6BA4} = {FF127ED4-CA50-445C-A533-0D36899966E6}
{43BB2D31-2A21-4946-A4A1-AC198B22956A} = {FF127ED4-CA50-445C-A533-0D36899966E6}
{C3030644-1F58-4091-99C5-460BEDF164FD} = {D8291026-A8A5-40F9-B22C-493962616192}
{95C34A93-29D3-4B89-954E-F5AAF2331A0D} = {D8291026-A8A5-40F9-B22C-493962616192}
{28063452-F29F-4762-B6C9-95019330262A} = {D8291026-A8A5-40F9-B22C-493962616192}
{A856FB2B-8B4F-4738-8B96-B724CB9BAC2A} = {DE128A6B-CAF9-466F-B9D5-AC3CF12849F3}
{1B09921A-448B-4308-912C-F9E48F333588} = {DE128A6B-CAF9-466F-B9D5-AC3CF12849F3}
{E164864D-0EC9-4E39-BECC-5141124CBF23} = {DE128A6B-CAF9-466F-B9D5-AC3CF12849F3}
EndGlobalSection
EndGlobal
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<RootNamespace>Akka.Analyzers.Fixes</RootNamespace>
<TargetFramework>netstandard2.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\Akka.Analyzers.Roslyn311\Akka.Analyzers.Roslyn311.csproj" />
</ItemGroup>

<ItemGroup>
<Compile Include="..\Akka.Analyzers.Fixes\**\*.cs" Exclude="..\Akka.Analyzers.Fixes\obj\**\*.cs" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<RootNamespace>Akka.Analyzers.Fixes</RootNamespace>
<TargetFramework>netstandard2.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\Akka.Analyzers.Roslyn44\Akka.Analyzers.Roslyn44.csproj" />
</ItemGroup>

<ItemGroup>
<Compile Include="..\Akka.Analyzers.Fixes\**\*.cs" Exclude="..\Akka.Analyzers.Fixes\obj\**\*.cs" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<RootNamespace>Akka.Analyzers.Fixes</RootNamespace>
<TargetFramework>netstandard2.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\Akka.Analyzers.Roslyn46\Akka.Analyzers.Roslyn46.csproj" />
</ItemGroup>

<ItemGroup>
<Compile Include="..\Akka.Analyzers.Fixes\**\*.cs" Exclude="..\Akka.Analyzers.Fixes\obj\**\*.cs" />
</ItemGroup>

</Project>
2 changes: 0 additions & 2 deletions src/Akka.Analyzers.Fixes/Akka.Analyzers.Fixes.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>

Expand Down
12 changes: 10 additions & 2 deletions src/Akka.Analyzers.NuGet/Akka.Analyzers.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<licenseUrl>https://licenses.nuget.org/Apache-2.0</licenseUrl>
<icon>logo.png</icon>
<description>$Description$</description>
<copyright>Copyright © 2013-2023 Akka.NET Project</copyright>
<copyright>Copyright © 2013-2024 Akka.NET Project</copyright>
<repository type="git" url="https://github.com/akkadotnet/akka.analyzers"/>
<tags>akka.net, akka.analyzers, akakdotnet, roslyn, analyzers</tags>
<readme>README.md</readme>
Expand All @@ -22,6 +22,14 @@

<file target="analyzers\dotnet\cs\" src="..\Akka.Analyzers\bin\$Configuration$\netstandard2.0\Akka.Analyzers.dll" />
<file target="analyzers\dotnet\cs\" src="..\Akka.Analyzers.Fixes\bin\$Configuration$\netstandard2.0\Akka.Analyzers.Fixes.dll" />
<!-- <file target="tools\" src="..\xunit.analyzers.fixes\tools\*.ps1" />-->

<file target="analyzers\dotnet\roslyn3.11\cs\" src="..\Akka.Analyzers.Fixes.Roslyn311\bin\$Configuration$\netstandard2.0\Akka.Analyzers.dll" />
Copy link
Member Author

Choose a reason for hiding this comment

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

This is what makes the solution workable for end-users - this moves compiler-platform specific versions of the Roslyn analyzers + fixes into the directories expected by the .NET Compiler platform. So if the user is running version 4.3 of Roslyn, the system should fall back to using the 4.2 version specified in this directory.

<file target="analyzers\dotnet\roslyn3.11\cs\" src="..\Akka.Analyzers.Fixes.Roslyn311\bin\$Configuration$\netstandard2.0\Akka.Analyzers.Fixes.dll" />

<file target="analyzers\dotnet\roslyn4.4\cs\" src="..\Akka.Analyzers.Fixes.Roslyn44\bin\$Configuration$\netstandard2.0\Akka.Analyzers.dll" />
<file target="analyzers\dotnet\roslyn4.4\cs\" src="..\Akka.Analyzers.Fixes.Roslyn44\bin\$Configuration$\netstandard2.0\Akka.Analyzers.Fixes.dll" />

<file target="analyzers\dotnet\roslyn4.6\cs\" src="..\Akka.Analyzers.Fixes.Roslyn46\bin\$Configuration$\netstandard2.0\Akka.Analyzers.dll" />
<file target="analyzers\dotnet\roslyn4.6\cs\" src="..\Akka.Analyzers.Fixes.Roslyn46\bin\$Configuration$\netstandard2.0\Akka.Analyzers.Fixes.dll" />
</files>
</package>
16 changes: 16 additions & 0 deletions src/Akka.Analyzers.Roslyn311/Akka.Analyzers.Roslyn311.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<RootNamespace>Akka.Analyzers</RootNamespace>
<TargetFramework>netstandard2.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis" VersionOverride="[$(RoslynVersion)]"/>
</ItemGroup>

<ItemGroup>
<Compile Include="..\Akka.Analyzers\**\*.cs" Exclude="..\Akka.Analyzers\obj\**\*.cs" />
</ItemGroup>
</Project>
16 changes: 16 additions & 0 deletions src/Akka.Analyzers.Roslyn44/Akka.Analyzers.Roslyn44.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<RootNamespace>Akka.Analyzers</RootNamespace>
<TargetFramework>netstandard2.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis" VersionOverride="[$(RoslynVersion)]"/>
</ItemGroup>

<ItemGroup>
<Compile Include="..\Akka.Analyzers\**\*.cs" Exclude="..\Akka.Analyzers\obj\**\*.cs" />
</ItemGroup>
</Project>
16 changes: 16 additions & 0 deletions src/Akka.Analyzers.Roslyn46/Akka.Analyzers.Roslyn46.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<RootNamespace>Akka.Analyzers</RootNamespace>
<TargetFramework>netstandard2.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis" VersionOverride="[$(RoslynVersion)]"/>
</ItemGroup>

<ItemGroup>
<Compile Include="..\Akka.Analyzers\**\*.cs" Exclude="..\Akka.Analyzers\obj\**\*.cs" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net8.0;net472</TargetFrameworks>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk"/>
<PackageReference Include="xunit"/>
<PackageReference Include="xunit.runner.visualstudio">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="FluentAssertions"/>
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Analyzer.Testing"/>
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.CodeFix.Testing"/>
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Akka.Analyzers.Fixes.Roslyn311\Akka.Analyzers.Fixes.Roslyn311.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="true" />
<ProjectReference Include="..\Akka.Analyzers.Roslyn311\Akka.Analyzers.Roslyn311.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="true" />
</ItemGroup>

<ItemGroup>
<Compile Include="..\Akka.Analyzers.Tests\**\*.cs" Exclude="..\Akka.Analyzers.Tests\obj\**\*.cs" />
</ItemGroup>

</Project>
Loading