From 93869d4011d3f5f7ce39a9198047645f3f934186 Mon Sep 17 00:00:00 2001 From: Santiago Gerhart <54191182+sant11h@users.noreply.github.com> Date: Tue, 10 Dec 2024 09:51:08 -0300 Subject: [PATCH] BREAKING: drops net6.0 support. adds net9.0 support. updates packages (#109) Drops net6.0 support EOL November 2024 and adds support for net9.0 --------- Co-authored-by: Leonardo Chaia --- .github/workflows/build.yml | 6 +++--- Directory.Build.props | 5 ++++- Directory.Packages.props | 20 +++++++++---------- eng/install-sdk.ps1 | 2 +- eng/install-sdk.sh | 2 +- global.json | 2 +- .../TraversalProjectOutputFormatter.cs | 6 ++++-- test/Directory.Packages.props | 8 ++++---- .../TemporaryRepositoryExtensions.cs | 2 +- 9 files changed, 29 insertions(+), 24 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c10f068..f02e70c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,12 +59,12 @@ jobs: - name: Run Tool PowerShell if: matrix.os == 'windows-latest' shell: pwsh - run: ./src/dotnet-affected/bin/Debug/net6.0/dotnet-affected -p $Env:GITHUB_WORKSPACE --assume-changes dotnet-affected -v + run: ./src/dotnet-affected/bin/Debug/net9.0/dotnet-affected -p $Env:GITHUB_WORKSPACE --assume-changes dotnet-affected -v - name: Run Tool Bash if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' shell: bash - run: ./src/dotnet-affected/bin/Debug/net6.0/dotnet-affected -p $GITHUB_WORKSPACE --assume-changes dotnet-affected -v + run: ./src/dotnet-affected/bin/Debug/net9.0/dotnet-affected -p $GITHUB_WORKSPACE --assume-changes dotnet-affected -v - name: Pack if: success() && matrix.os == 'ubuntu-latest' @@ -82,4 +82,4 @@ jobs: if: success() && matrix.os == 'ubuntu-latest' with: name: artifacts - path: src/dotnet-affected/bin/Debug/net8.0/ + path: src/dotnet-affected/bin/Debug/net9.0/ diff --git a/Directory.Build.props b/Directory.Build.props index 67224cb..1c18ad8 100755 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,6 +1,6 @@  - net6.0;net8.0 + net8.0;net9.0 9.0 @@ -8,6 +8,9 @@ true + + true + direct diff --git a/Directory.Packages.props b/Directory.Packages.props index 1bb1adf..0a35edf 100755 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -8,26 +8,26 @@ - + - - - - - - - - - + + + + + + + + + diff --git a/eng/install-sdk.ps1 b/eng/install-sdk.ps1 index 251cfe4..05062be 100644 --- a/eng/install-sdk.ps1 +++ b/eng/install-sdk.ps1 @@ -10,4 +10,4 @@ $globalJsonFile = "$PSScriptRoot\..\global.json" $dotnetInstallDir = "$PSScriptRoot\.dotnet" . $installScript -InstallDir $dotnetInstallDir -JSonFile $globalJsonFile -. $installScript -InstallDir $dotnetInstallDir -Channel 6.0 +. $installScript -InstallDir $dotnetInstallDir -Channel 8.0 diff --git a/eng/install-sdk.sh b/eng/install-sdk.sh index 05bb835..9837417 100755 --- a/eng/install-sdk.sh +++ b/eng/install-sdk.sh @@ -14,4 +14,4 @@ global_json_file="$(dirname "$0")/../global.json" dotnet_install_dir="$(dirname "$0")/.dotnet" "$install_script" --install-dir "$dotnet_install_dir" --jsonfile "$global_json_file" -"$install_script" --install-dir "$dotnet_install_dir" --channel 6.0 +"$install_script" --install-dir "$dotnet_install_dir" --channel 8.0 diff --git a/global.json b/global.json index 41c7105..267666c 100755 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "8.0.401", + "version": "9.0.101", "allowPrerelease": true } } diff --git a/src/dotnet-affected/Infrastructure/Formatters/TraversalProjectOutputFormatter.cs b/src/dotnet-affected/Infrastructure/Formatters/TraversalProjectOutputFormatter.cs index 3938b17..5035d76 100644 --- a/src/dotnet-affected/Infrastructure/Formatters/TraversalProjectOutputFormatter.cs +++ b/src/dotnet-affected/Infrastructure/Formatters/TraversalProjectOutputFormatter.cs @@ -19,8 +19,10 @@ public Task Format(IEnumerable projects) var stringReader = new StringReader(projectRootElement); var xmlReader = new XmlTextReader(stringReader); var root = ProjectRootElement.Create(xmlReader); - - var project = new Project(root); + + // REMARKS: IgnoreMissingImports is required due to the Microsoft.Build.Traversal Sdk not being found + // on macos/darwin. We don't really need to evaluate the project, we just need to build the RawXml. + var project = new Project(root, null, null, ProjectCollection.GlobalProjectCollection, ProjectLoadSettings.IgnoreMissingImports); // Find all affected and add them as project references foreach (var projectInfo in projects) diff --git a/test/Directory.Packages.props b/test/Directory.Packages.props index b29ece4..582a991 100644 --- a/test/Directory.Packages.props +++ b/test/Directory.Packages.props @@ -1,13 +1,13 @@ - + - + - + - + diff --git a/test/DotnetAffected.Testing.Utils/Repository/TemporaryRepositoryExtensions.cs b/test/DotnetAffected.Testing.Utils/Repository/TemporaryRepositoryExtensions.cs index b5fc84a..e131e1e 100644 --- a/test/DotnetAffected.Testing.Utils/Repository/TemporaryRepositoryExtensions.cs +++ b/test/DotnetAffected.Testing.Utils/Repository/TemporaryRepositoryExtensions.cs @@ -51,7 +51,7 @@ public static ProjectRootElement CreateMsBuildProject( // Directory.Build.Props / Directory.Packages.props project.Sdk = "Microsoft.NET.Sdk"; // Required for net8.0 MSBuild Project Creation - project.AddProperty("TargetFrameworks", "net6.0,net8.0"); + project.AddProperty("TargetFrameworks", "net8.0;net9.0"); customizer?.Invoke(project); project.Save();