diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ff21958..0baf87a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,6 +17,8 @@ jobs: steps: - uses: actions/checkout@v7 + with: + fetch-depth: '0' - name: Setup .NET uses: actions/setup-dotnet@v6 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7f643f7..3bab96b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,6 +32,9 @@ jobs: dotnet-version: | 11.0.x + - name: Restore tools + run: dotnet tool restore + - name: Restore dependencies run: dotnet restore - name: Build @@ -39,6 +42,8 @@ jobs: - name: Package run: dotnet pack -c Release --no-build --property:PackageOutputPath=../../nupkgs + - name: Validate Package + run: dotnet tool run dotnet-validate -- package local ./nupkgs/*.nupkg - name: NuGet login (OIDC → temp API key) uses: NuGet/login@v1 diff --git a/Directory.Build.props b/Directory.Build.props index 3e106a7..4759723 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,6 +1,6 @@ - net8.0;net9.0;net10.0;net11.0 + net8.0;net10.0;net11.0 latest enable diff --git a/Directory.Packages.props b/Directory.Packages.props index 8c906e7..5dc7b63 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -26,17 +26,9 @@ - - - - - - - - - + @@ -51,27 +43,20 @@ - + - + - - - - - - - @@ -79,7 +64,7 @@ - + diff --git a/src/Immediate.Validations.Analyzers/Immediate.Validations.Analyzers.csproj b/src/Immediate.Validations.Analyzers/Immediate.Validations.Analyzers.csproj index 284b085..5094536 100644 --- a/src/Immediate.Validations.Analyzers/Immediate.Validations.Analyzers.csproj +++ b/src/Immediate.Validations.Analyzers/Immediate.Validations.Analyzers.csproj @@ -1,7 +1,7 @@ - netstandard2.0;net10.0 + roslyn4.8;roslyn5.0;roslyn5.9 true true @@ -15,4 +15,22 @@ + + .NETStandard + v2.0 + .NETStandard,Version=v2.0 + + + + .NETStandard + v2.0 + .NETStandard,Version=v2.0 + + + + .NETStandard + v2.0 + .NETStandard,Version=v2.0 + + diff --git a/src/Immediate.Validations.CodeFixes/Immediate.Validations.CodeFixes.csproj b/src/Immediate.Validations.CodeFixes/Immediate.Validations.CodeFixes.csproj index 002ce67..031b560 100644 --- a/src/Immediate.Validations.CodeFixes/Immediate.Validations.CodeFixes.csproj +++ b/src/Immediate.Validations.CodeFixes/Immediate.Validations.CodeFixes.csproj @@ -1,7 +1,7 @@ - netstandard2.0 + roslyn4.8;roslyn5.0;roslyn5.9 true true @@ -17,4 +17,22 @@ + + .NETStandard + v2.0 + .NETStandard,Version=v2.0 + + + + .NETStandard + v2.0 + .NETStandard,Version=v2.0 + + + + .NETStandard + v2.0 + .NETStandard,Version=v2.0 + + diff --git a/src/Immediate.Validations.Generators/Immediate.Validations.Generators.csproj b/src/Immediate.Validations.Generators/Immediate.Validations.Generators.csproj index c89af30..37244e7 100644 --- a/src/Immediate.Validations.Generators/Immediate.Validations.Generators.csproj +++ b/src/Immediate.Validations.Generators/Immediate.Validations.Generators.csproj @@ -1,9 +1,10 @@ - netstandard2.0;net10.0 + roslyn4.8;roslyn5.0;roslyn5.9 true true + $(NoWarn);CA1716 @@ -19,17 +20,48 @@ + + + + + + + + + true + $(DefineConstants);SCRIBAN_NO_ASYNC + + + - + $(GetTargetPathDependsOn);GetDependencyTargetPaths - + + + .NETStandard + v2.0 + .NETStandard,Version=v2.0 + + + + .NETCoreApp + v10.0 + .NETCoreApp,Version=v10.0 + + + + .NETCoreApp + v10.0 + .NETCoreApp,Version=v10.0 + + diff --git a/src/Immediate.Validations.Shared/Immediate.Validations.Shared.csproj b/src/Immediate.Validations.Shared/Immediate.Validations.Shared.csproj index 9d6e377..254b3af 100644 --- a/src/Immediate.Validations.Shared/Immediate.Validations.Shared.csproj +++ b/src/Immediate.Validations.Shared/Immediate.Validations.Shared.csproj @@ -1,10 +1,5 @@ - - - - - @@ -14,4 +9,20 @@ + + roslyn4.8 + roslyn5.0 + roslyn5.9 + + + + + TargetFramework=$(RoslynVersion) + + + + TargetFramework=$(RoslynVersion) + + + diff --git a/src/Immediate.Validations/CompatibilitySuppressions.xml b/src/Immediate.Validations/CompatibilitySuppressions.xml new file mode 100644 index 0000000..855e1b2 --- /dev/null +++ b/src/Immediate.Validations/CompatibilitySuppressions.xml @@ -0,0 +1,46 @@ + + + + + CP0001 + T:System.Runtime.CompilerServices.IsExternalInit + lib/net10.0/Immediate.Validations.Shared.dll + lib/net10.0/Immediate.Validations.Shared.dll + true + + + CP0001 + T:System.Runtime.CompilerServices.RequiresLocationAttribute + lib/net10.0/Immediate.Validations.Shared.dll + lib/net10.0/Immediate.Validations.Shared.dll + true + + + CP0001 + T:System.Runtime.CompilerServices.IsExternalInit + lib/net8.0/Immediate.Validations.Shared.dll + lib/net8.0/Immediate.Validations.Shared.dll + true + + + CP0001 + T:System.Runtime.CompilerServices.RequiresLocationAttribute + lib/net8.0/Immediate.Validations.Shared.dll + lib/net8.0/Immediate.Validations.Shared.dll + true + + + CP0001 + T:System.Runtime.CompilerServices.IsExternalInit + lib/net9.0/Immediate.Validations.Shared.dll + lib/net8.0/Immediate.Validations.Shared.dll + true + + + CP0001 + T:System.Runtime.CompilerServices.RequiresLocationAttribute + lib/net9.0/Immediate.Validations.Shared.dll + lib/net8.0/Immediate.Validations.Shared.dll + true + + \ No newline at end of file diff --git a/src/Immediate.Validations/Immediate.Validations.csproj b/src/Immediate.Validations/Immediate.Validations.csproj index 150d1be..99cc726 100644 --- a/src/Immediate.Validations/Immediate.Validations.csproj +++ b/src/Immediate.Validations/Immediate.Validations.csproj @@ -3,6 +3,9 @@ true false + + true + 3.0.0 @@ -22,7 +25,7 @@ - + - - + - - - - - + - - - + + + + + + + + + + - - - + + roslyn4.8 + roslyn5.0 + roslyn5.9 + + + + + TargetFramework=$(RoslynVersion) + + + + TargetFramework=$(RoslynVersion) + + + + TargetFramework=$(RoslynVersion) + + + diff --git a/tests/Immediate.Validations.FunctionalTests/Immediate.Validations.FunctionalTests.csproj b/tests/Immediate.Validations.FunctionalTests/Immediate.Validations.FunctionalTests.csproj index 98c429b..83492bf 100644 --- a/tests/Immediate.Validations.FunctionalTests/Immediate.Validations.FunctionalTests.csproj +++ b/tests/Immediate.Validations.FunctionalTests/Immediate.Validations.FunctionalTests.csproj @@ -9,13 +9,6 @@ - - - - - - - @@ -25,27 +18,51 @@ - - ResXFileCodeGenerator - Validators.Designer.cs - - - ResXFileCodeGenerator - Validators.fr-CA.Designer.cs - + + ResXFileCodeGenerator + Validators.Designer.cs + + + ResXFileCodeGenerator + Validators.fr-CA.Designer.cs + + + + + + True + True + Validators.resx + + + True + True + Validators.fr-CA.resx + + + + + + + roslyn4.8 + roslyn5.0 + roslyn5.9 + + - - True - True - Validators.resx - - - True - True - Validators.fr-CA.resx - + + TargetFramework=$(RoslynVersion) + + + + TargetFramework=$(RoslynVersion) + + + + TargetFramework=$(RoslynVersion) + diff --git a/tests/Immediate.Validations.FunctionalTests/Resources/Validators.Designer.cs b/tests/Immediate.Validations.FunctionalTests/Resources/Validators.Designer.cs index d5ff2f6..cdc7a6f 100644 --- a/tests/Immediate.Validations.FunctionalTests/Resources/Validators.Designer.cs +++ b/tests/Immediate.Validations.FunctionalTests/Resources/Validators.Designer.cs @@ -19,7 +19,7 @@ namespace Immediate.Validations.FunctionalTests.Resources { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Validators { diff --git a/tests/Immediate.Validations.Tests/Immediate.Validations.Tests.csproj b/tests/Immediate.Validations.Tests/Immediate.Validations.Tests.csproj index cb8b933..d000ae2 100644 --- a/tests/Immediate.Validations.Tests/Immediate.Validations.Tests.csproj +++ b/tests/Immediate.Validations.Tests/Immediate.Validations.Tests.csproj @@ -3,8 +3,10 @@ Exe <_SkipUpgradeNetAnalyzersNuGetWarning>true - - $(NoWarn);NU1603 + + + + runtime-async=on @@ -44,20 +46,38 @@ - - - + + roslyn4.8 + roslyn5.0 + roslyn5.9 + + - + + TargetFramework=$(RoslynVersion) + + - - + + TargetFramework=$(RoslynVersion) + + - + + TargetFramework=$(RoslynVersion) + + + + + + + + + + +