From 4beb32b115b58cd77eeacd520d96dabe058cf54d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Feb 2025 17:22:22 +0100 Subject: [PATCH 01/60] Bump github/codeql-action from 2 to 3 in the actions-deps group (#241) Bumps the actions-deps group with 1 update: [github/codeql-action](https://github.com/github/codeql-action). Updates `github/codeql-action` from 2 to 3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v2...v3) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 561acfa..aa5a8af 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -22,10 +22,10 @@ jobs: with: dotnet-version: '8.0.x' - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: languages: 'csharp' - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@v3 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v3 From 1c5594946fe179136087f7f7dab0fa996bf498d5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Mar 2025 15:25:52 +0100 Subject: [PATCH 02/60] Bump the all-deps group across 1 directory with 3 updates (#244) Bumps the all-deps group with 3 updates in the / directory: [JsonSchema.Net](https://github.com/json-everything/json-everything), [System.Text.Json](https://github.com/dotnet/runtime) and [Testably.Abstractions.Testing](https://github.com/Testably/Testably.Abstractions). Updates `JsonSchema.Net` from 7.3.3 to 7.3.4 - [Commits](https://github.com/json-everything/json-everything/commits) Updates `System.Text.Json` from 9.0.2 to 9.0.0 - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/compare/v9.0.2...v9.0.0) Updates `System.Text.Json` from 9.0.2 to 9.0.3 - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/compare/v9.0.2...v9.0.0) Updates `Testably.Abstractions.Testing` from 4.0.0 to 4.0.1 - [Release notes](https://github.com/Testably/Testably.Abstractions/releases) - [Commits](https://github.com/Testably/Testably.Abstractions/compare/v4.0.0...v4.0.1) --- updated-dependencies: - dependency-name: JsonSchema.Net dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps - dependency-name: System.Text.Json dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps - dependency-name: System.Text.Json dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps - dependency-name: Testably.Abstractions.Testing dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 4 ++-- src/EawModinfo/EawModinfo.csproj | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index 7f6a51d..c37878e 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -1,4 +1,4 @@ - + AET.Modinfo.Tests @@ -19,7 +19,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + all diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 9d8b41f..bd293a9 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -1,4 +1,4 @@ - + AlamoEngineTools.Modinfo @@ -40,7 +40,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -51,7 +51,7 @@ - + From 04646d863865ec40617fc1bee534c4ff9eefd523 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 12 Apr 2025 11:11:24 +0200 Subject: [PATCH 03/60] Bump System.Text.Json from 9.0.3 to 9.0.4 in the all-deps group (#245) Bumps the all-deps group with 1 update: [System.Text.Json](https://github.com/dotnet/runtime). Updates `System.Text.Json` from 9.0.3 to 9.0.4 - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/compare/v9.0.3...v9.0.4) --- updated-dependencies: - dependency-name: System.Text.Json dependency-version: 9.0.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo/EawModinfo.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index bd293a9..17b5992 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -51,7 +51,7 @@ - + From 40ba63c8e9c7ba5b3fa224a0f964e88adef8fa5f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 May 2025 19:50:00 +0200 Subject: [PATCH 04/60] Bump xunit.runner.visualstudio from 3.0.2 to 3.1.0 in the all-deps group (#246) Bumps the all-deps group with 1 update: [xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit). Updates `xunit.runner.visualstudio` from 3.0.2 to 3.1.0 - [Release notes](https://github.com/xunit/visualstudio.xunit/releases) - [Commits](https://github.com/xunit/visualstudio.xunit/compare/3.0.2...3.1.0) --- updated-dependencies: - dependency-name: xunit.runner.visualstudio dependency-version: 3.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index c37878e..094f00f 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -21,7 +21,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive From 22660cbf292adc173baeb4d71fc346cf835ddbb4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 09:29:07 +0200 Subject: [PATCH 05/60] Bump the all-deps group with 2 updates (#249) Bumps Microsoft.NET.Test.Sdk from 17.13.0 to 17.14.1 Bumps System.Text.Json from 9.0.4 to 9.0.5 --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 17.14.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-deps - dependency-name: System.Text.Json dependency-version: 9.0.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 2 +- src/EawModinfo/EawModinfo.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index 094f00f..83c1683 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -18,7 +18,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 17b5992..a3bfc83 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -51,7 +51,7 @@ - + From 30988e69e0cd215d4ec73263ec507c4f912585bf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 09:30:37 +0200 Subject: [PATCH 06/60] Bump Microsoft.NET.Test.Sdk from 17.13.0 to 17.14.1 (#250) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 17.14.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> From e1959acfdb5cfe8dd8302c37aa61a06416d6297c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Jun 2025 11:04:29 +0200 Subject: [PATCH 07/60] Bump the all-deps group with 1 update (#251) Bumps xunit.runner.visualstudio from 3.1.0 to 3.1.1 --- updated-dependencies: - dependency-name: xunit.runner.visualstudio dependency-version: 3.1.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index 83c1683..ce7bfb8 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -21,7 +21,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive From 7178d9c316029cc69dea10ead66ea1d7fd68a3d8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Jun 2025 16:41:12 +0200 Subject: [PATCH 08/60] Bump the all-deps group with 1 update (#252) Bumps System.Text.Json from 9.0.5 to 9.0.6 --- updated-dependencies: - dependency-name: System.Text.Json dependency-version: 9.0.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo/EawModinfo.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index a3bfc83..3bb1304 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -51,7 +51,7 @@ - + From 7962b79489c7e9e4fd56901d347c655e1e73f483 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 13:10:20 +0200 Subject: [PATCH 09/60] Bump the all-deps group with 1 update (#253) Bumps System.Text.Json from 9.0.6 to 9.0.7 --- updated-dependencies: - dependency-name: System.Text.Json dependency-version: 9.0.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo/EawModinfo.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 3bb1304..2e6f27c 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -51,7 +51,7 @@ - + From 1605bdc1abb446ad0c2a9cfbe53957a1840115b3 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sat, 16 Aug 2025 19:22:30 +0200 Subject: [PATCH 10/60] update deps --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 4 ++-- src/EawModinfo/EawModinfo.csproj | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index ce7bfb8..1ebb918 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -19,9 +19,9 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 2e6f27c..e8b88c9 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -40,7 +40,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -51,7 +51,7 @@ - + From 7dacbfdabeed5ec11160ab4da9a0bb552f933870 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 17 Aug 2025 10:36:41 +0200 Subject: [PATCH 11/60] Bump the actions-deps group across 1 directory with 2 updates (#258) Bumps the actions-deps group with 2 updates in the / directory: [actions/checkout](https://github.com/actions/checkout) and [actions/download-artifact](https://github.com/actions/download-artifact). Updates `actions/checkout` from 4 to 5 - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) Updates `actions/download-artifact` from 4 to 5 - [Commits](https://github.com/actions/download-artifact/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: actions/download-artifact dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/release.yml | 6 +++--- .github/workflows/test.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index aa5a8af..41310cf 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -14,7 +14,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Setup .NET Core SDK diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 59183dd..996a797 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Setup .NET @@ -39,12 +39,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Setup .NET uses: actions/setup-dotnet@v4 - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v5 with: name: NuGet packages path: packages diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 83e26e3..1e4f05e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 - uses: actions/setup-dotnet@v4 From 7a492d9dffed029566ef2dacaa6b69b3dcf926e7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:06:26 +0200 Subject: [PATCH 12/60] Bump actions/setup-dotnet from 4 to 5 in the actions-deps group (#260) Bumps the actions-deps group with 1 update: [actions/setup-dotnet](https://github.com/actions/setup-dotnet). Updates `actions/setup-dotnet` from 4 to 5 - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/release.yml | 4 ++-- .github/workflows/test.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 41310cf..58df1fc 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -18,7 +18,7 @@ jobs: with: fetch-depth: 0 - name: Setup .NET Core SDK - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 with: dotnet-version: '8.0.x' - name: Initialize CodeQL diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 996a797..1428e4b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: with: fetch-depth: 0 - name: Setup .NET - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 - name: Create packages run: dotnet pack --configuration Release --output ./packages - name: Upload a Build Artifact @@ -43,7 +43,7 @@ jobs: with: fetch-depth: 0 - name: Setup .NET - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 - uses: actions/download-artifact@v5 with: name: NuGet packages diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1e4f05e..2282a4c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ jobs: - uses: actions/checkout@v5 with: fetch-depth: 0 - - uses: actions/setup-dotnet@v4 + - uses: actions/setup-dotnet@v5 with: dotnet-version: '8.0.x' From 83121ba9a19e19bf2ce7d77197049d77de94b5a6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:07:19 +0200 Subject: [PATCH 13/60] Bump System.Text.Json from 9.0.8 to 9.0.9 (#263) --- updated-dependencies: - dependency-name: System.Text.Json dependency-version: 9.0.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo/EawModinfo.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index e8b88c9..51809ef 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -51,7 +51,7 @@ - + From 295c2e110f608044e709509517046b66dcfc083f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 7 Dec 2025 18:41:30 +0100 Subject: [PATCH 14/60] Bump the actions-deps group across 1 directory with 4 updates (#286) Bumps the actions-deps group with 4 updates in the / directory: [actions/checkout](https://github.com/actions/checkout), [github/codeql-action](https://github.com/github/codeql-action), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact). Updates `actions/checkout` from 5 to 6 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v5...v6) Updates `github/codeql-action` from 3 to 4 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v3...v4) Updates `actions/upload-artifact` from 4 to 5 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4...v5) Updates `actions/download-artifact` from 5 to 6 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: github/codeql-action dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: actions/upload-artifact dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: actions/download-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 8 ++++---- .github/workflows/release.yml | 8 ++++---- .github/workflows/test.yml | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 58df1fc..0fd7b22 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -14,7 +14,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Setup .NET Core SDK @@ -22,10 +22,10 @@ jobs: with: dotnet-version: '8.0.x' - name: Initialize CodeQL - uses: github/codeql-action/init@v3 + uses: github/codeql-action/init@v4 with: languages: 'csharp' - name: Autobuild - uses: github/codeql-action/autobuild@v3 + uses: github/codeql-action/autobuild@v4 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 + uses: github/codeql-action/analyze@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1428e4b..c486296 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Setup .NET @@ -26,7 +26,7 @@ jobs: - name: Create packages run: dotnet pack --configuration Release --output ./packages - name: Upload a Build Artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: NuGet packages path: packages/*.* @@ -39,12 +39,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Setup .NET uses: actions/setup-dotnet@v5 - - uses: actions/download-artifact@v5 + - uses: actions/download-artifact@v6 with: name: NuGet packages path: packages diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2282a4c..2f70750 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: fetch-depth: 0 - uses: actions/setup-dotnet@v5 From 355846a9f24f894512ffa4e306a639d77f99cf19 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sun, 7 Dec 2025 18:43:11 +0100 Subject: [PATCH 15/60] update deps --- Directory.Build.props | 2 +- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 8 ++++---- src/EawModinfo/EawModinfo.csproj | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 3f0f7fc..e0cce4f 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -21,7 +21,7 @@ all - 3.7.115 + 3.9.50 diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index 1ebb918..b147461 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -14,14 +14,14 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 51809ef..19bb707 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -50,8 +50,8 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - - + + From 769737fb7d6f73b0791ce9537a5f6f35d847ab52 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sun, 7 Dec 2025 18:48:38 +0100 Subject: [PATCH 16/60] update .net and migrate solution --- .github/workflows/test.yml | 2 +- EawModinfo.sln | 4 ++-- EawModinfo.slnx | 8 ++++++++ src/EawModinfo.Tests/EawModinfo.Tests.csproj | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 EawModinfo.slnx diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2f70750..ecb52d5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -23,7 +23,7 @@ jobs: fetch-depth: 0 - uses: actions/setup-dotnet@v5 with: - dotnet-version: '8.0.x' + dotnet-version: '10.0.x' - name: Build & Test in Release Mode run: dotnet test --configuration Release --logger "GitHubActions" \ No newline at end of file diff --git a/EawModinfo.sln b/EawModinfo.sln index ddaf650..7ad49c4 100644 --- a/EawModinfo.sln +++ b/EawModinfo.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.13.35723.152 +# Visual Studio Version 18 +VisualStudioVersion = 18.3.11222.16 d18.3 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EawModinfo", "src\EawModinfo\EawModinfo.csproj", "{733214FA-5043-46DB-B529-AC83159FA358}" EndProject diff --git a/EawModinfo.slnx b/EawModinfo.slnx new file mode 100644 index 0000000..af4299f --- /dev/null +++ b/EawModinfo.slnx @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index b147461..bae23ca 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -3,7 +3,7 @@ AET.Modinfo.Tests AET.Modinfo.Tests - net8.0 + net10.0 $(TargetFrameworks);net48 false true From 47074c6f02f392aaef266b3be01671ac1a7b2962 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sun, 7 Dec 2025 18:49:43 +0100 Subject: [PATCH 17/60] delete --- EawModinfo.sln | 39 --------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 EawModinfo.sln diff --git a/EawModinfo.sln b/EawModinfo.sln deleted file mode 100644 index 7ad49c4..0000000 --- a/EawModinfo.sln +++ /dev/null @@ -1,39 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 18 -VisualStudioVersion = 18.3.11222.16 d18.3 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EawModinfo", "src\EawModinfo\EawModinfo.csproj", "{733214FA-5043-46DB-B529-AC83159FA358}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{FBDA9CBA-AEE7-4170-A392-6E2E424817B4}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{7998C683-3F8A-4095-92A7-CFBA6285E560}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EawModinfo.Tests", "src\EawModinfo.Tests\EawModinfo.Tests.csproj", "{52CB3040-444C-4AA6-9E4E-89755F8A03BF}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {733214FA-5043-46DB-B529-AC83159FA358}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {733214FA-5043-46DB-B529-AC83159FA358}.Debug|Any CPU.Build.0 = Debug|Any CPU - {733214FA-5043-46DB-B529-AC83159FA358}.Release|Any CPU.ActiveCfg = Release|Any CPU - {733214FA-5043-46DB-B529-AC83159FA358}.Release|Any CPU.Build.0 = Release|Any CPU - {52CB3040-444C-4AA6-9E4E-89755F8A03BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {52CB3040-444C-4AA6-9E4E-89755F8A03BF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {52CB3040-444C-4AA6-9E4E-89755F8A03BF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {52CB3040-444C-4AA6-9E4E-89755F8A03BF}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {733214FA-5043-46DB-B529-AC83159FA358} = {FBDA9CBA-AEE7-4170-A392-6E2E424817B4} - {52CB3040-444C-4AA6-9E4E-89755F8A03BF} = {7998C683-3F8A-4095-92A7-CFBA6285E560} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {91AC9A85-3941-4D0A-8654-F078CED3321C} - EndGlobalSection -EndGlobal From 8674005019ab5c9397f30497e652ca2ec9841a5e Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sun, 7 Dec 2025 19:06:03 +0100 Subject: [PATCH 18/60] delete --- .../Spec/ModInfoFinderCollection.cs | 56 ------------------- .../Spec/ModinfoFinderCollection.cs | 56 ------------------- 2 files changed, 112 deletions(-) delete mode 100644 src/EawModinfo/Spec/ModInfoFinderCollection.cs delete mode 100644 src/EawModinfo/Spec/ModinfoFinderCollection.cs diff --git a/src/EawModinfo/Spec/ModInfoFinderCollection.cs b/src/EawModinfo/Spec/ModInfoFinderCollection.cs deleted file mode 100644 index 06e6214..0000000 --- a/src/EawModinfo/Spec/ModInfoFinderCollection.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; -using System.IO.Abstractions; -using System.Linq; -using AET.Modinfo.File; - -namespace AET.Modinfo.Spec; - -/// -/// Represents the result when a modinfo file query was performed. -/// -public sealed class ModinfoFinderCollection -{ - /// - /// Returns if this collection does contain a main modinfo file; otherwise. - /// - [MemberNotNullWhen(true, nameof(MainModinfo))] - public bool HasMainModinfoFile => MainModinfo != null; - - /// - /// Returns if this collection does contain a variant modinfo files; otherwise. - /// - public bool HasVariantModinfoFiles => Variants.Any(); - - /// - /// Gets the main modinfo file or if no main modinfo file was found. - /// - public MainModinfoFile? MainModinfo { get; } - - /// - /// Gets a collection of found variant modinfo file. - /// - public IReadOnlyCollection Variants { get; } - - /// - /// Gets the directory where the files were searched. - /// - public IDirectoryInfo Directory { get; } - - /// - /// Initializes a new instance of the of the specified directory and found modinfo files. - /// - /// The directory that was searched. - /// The found main modinfo file or . - /// A collection of variant modinfo files. - /// or is . - public ModinfoFinderCollection(IDirectoryInfo directory, MainModinfoFile? mainModinfo, IEnumerable variants) - { - if (variants == null) - throw new ArgumentNullException(nameof(variants)); - Directory = directory ?? throw new ArgumentNullException(nameof(directory)); - MainModinfo = mainModinfo; - Variants = variants.ToList(); - } -} \ No newline at end of file diff --git a/src/EawModinfo/Spec/ModinfoFinderCollection.cs b/src/EawModinfo/Spec/ModinfoFinderCollection.cs deleted file mode 100644 index 06e6214..0000000 --- a/src/EawModinfo/Spec/ModinfoFinderCollection.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; -using System.IO.Abstractions; -using System.Linq; -using AET.Modinfo.File; - -namespace AET.Modinfo.Spec; - -/// -/// Represents the result when a modinfo file query was performed. -/// -public sealed class ModinfoFinderCollection -{ - /// - /// Returns if this collection does contain a main modinfo file; otherwise. - /// - [MemberNotNullWhen(true, nameof(MainModinfo))] - public bool HasMainModinfoFile => MainModinfo != null; - - /// - /// Returns if this collection does contain a variant modinfo files; otherwise. - /// - public bool HasVariantModinfoFiles => Variants.Any(); - - /// - /// Gets the main modinfo file or if no main modinfo file was found. - /// - public MainModinfoFile? MainModinfo { get; } - - /// - /// Gets a collection of found variant modinfo file. - /// - public IReadOnlyCollection Variants { get; } - - /// - /// Gets the directory where the files were searched. - /// - public IDirectoryInfo Directory { get; } - - /// - /// Initializes a new instance of the of the specified directory and found modinfo files. - /// - /// The directory that was searched. - /// The found main modinfo file or . - /// A collection of variant modinfo files. - /// or is . - public ModinfoFinderCollection(IDirectoryInfo directory, MainModinfoFile? mainModinfo, IEnumerable variants) - { - if (variants == null) - throw new ArgumentNullException(nameof(variants)); - Directory = directory ?? throw new ArgumentNullException(nameof(directory)); - MainModinfo = mainModinfo; - Variants = variants.ToList(); - } -} \ No newline at end of file From ce7fe1ae0b062c0952ff8e358e9012c607fd01e2 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sun, 7 Dec 2025 19:07:19 +0100 Subject: [PATCH 19/60] add --- .../Spec/ModInfoFinderCollection.cs | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/EawModinfo/Spec/ModInfoFinderCollection.cs diff --git a/src/EawModinfo/Spec/ModInfoFinderCollection.cs b/src/EawModinfo/Spec/ModInfoFinderCollection.cs new file mode 100644 index 0000000..06e6214 --- /dev/null +++ b/src/EawModinfo/Spec/ModInfoFinderCollection.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.IO.Abstractions; +using System.Linq; +using AET.Modinfo.File; + +namespace AET.Modinfo.Spec; + +/// +/// Represents the result when a modinfo file query was performed. +/// +public sealed class ModinfoFinderCollection +{ + /// + /// Returns if this collection does contain a main modinfo file; otherwise. + /// + [MemberNotNullWhen(true, nameof(MainModinfo))] + public bool HasMainModinfoFile => MainModinfo != null; + + /// + /// Returns if this collection does contain a variant modinfo files; otherwise. + /// + public bool HasVariantModinfoFiles => Variants.Any(); + + /// + /// Gets the main modinfo file or if no main modinfo file was found. + /// + public MainModinfoFile? MainModinfo { get; } + + /// + /// Gets a collection of found variant modinfo file. + /// + public IReadOnlyCollection Variants { get; } + + /// + /// Gets the directory where the files were searched. + /// + public IDirectoryInfo Directory { get; } + + /// + /// Initializes a new instance of the of the specified directory and found modinfo files. + /// + /// The directory that was searched. + /// The found main modinfo file or . + /// A collection of variant modinfo files. + /// or is . + public ModinfoFinderCollection(IDirectoryInfo directory, MainModinfoFile? mainModinfo, IEnumerable variants) + { + if (variants == null) + throw new ArgumentNullException(nameof(variants)); + Directory = directory ?? throw new ArgumentNullException(nameof(directory)); + MainModinfo = mainModinfo; + Variants = variants.ToList(); + } +} \ No newline at end of file From d324ac693567e8adc77aca79f35fbf5d2fe81dc0 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sat, 13 Dec 2025 12:37:00 +0100 Subject: [PATCH 20/60] Update deps (#295) * start updating deps * update json lib * resolve some warnings * enable test --- src/EawModinfo.Tests/DependencyListTest.cs | 34 ++++---- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 4 +- src/EawModinfo.Tests/LanguageInfoTests.cs | 8 +- src/EawModinfo.Tests/MergeTests.cs | 2 +- .../ModIdentityEqualityTestsBase.cs | 30 +++---- src/EawModinfo.Tests/ModInfoJsonSchemaTest.cs | 21 ++--- .../ModReferenceBuilderTest.cs | 10 +-- src/EawModinfo.Tests/ModReferenceTest.cs | 18 ++-- src/EawModinfo.Tests/ModinfoDataTest.cs | 87 +++++++++---------- .../ModinfoFileFinderTests.cs | 1 - src/EawModinfo.Tests/ModinfoValidatorTests.cs | 8 +- src/EawModinfo.Tests/SteamDataTests.cs | 34 ++++---- src/EawModinfo.Tests/TestUtilities.cs | 7 +- src/EawModinfo/EawModinfo.csproj | 4 +- .../Model/Json/JsonDependencyList.cs | 2 +- src/EawModinfo/Model/Json/JsonModinfoData.cs | 22 ++--- src/EawModinfo/Model/Json/JsonSteamData.cs | 2 +- .../Model/Json/Schema/ModInfoJsonSchema.cs | 64 ++++++++------ src/EawModinfo/Model/ModIdentity.cs | 8 +- src/EawModinfo/Model/ModinfoData.cs | 21 ++--- .../Utilities/DependencyListTypeConverter.cs | 2 +- .../JsonDependencyListTypeConverter.cs | 2 +- src/EawModinfo/Utilities/ParseUtility.cs | 16 ++-- .../Utilities/SteamDataTypeConverter.cs | 2 +- 24 files changed, 203 insertions(+), 206 deletions(-) diff --git a/src/EawModinfo.Tests/DependencyListTest.cs b/src/EawModinfo.Tests/DependencyListTest.cs index 2d04129..063ef72 100644 --- a/src/EawModinfo.Tests/DependencyListTest.cs +++ b/src/EawModinfo.Tests/DependencyListTest.cs @@ -1,14 +1,14 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Text.Json.Nodes; using AET.Modinfo.Model; using AET.Modinfo.Model.Json; using AET.Modinfo.Model.Json.Schema; using AET.Modinfo.Spec; using AET.Modinfo.Spec.Equality; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Text.Json; using Xunit; namespace AET.Modinfo.Tests; @@ -61,35 +61,35 @@ public void Ctor_Throws() public static IEnumerable GetInvalidJsonData() { - yield return ["{}", new[] { "oneOf", "type" }]; - yield return ["[]", new[] {"oneOf", "contains" }]; + yield return ["{}", new[] { "type" }]; + yield return ["[]", new[] { "contains" }]; yield return [@"[""FullResolved""]", new[] { "contains", "type" }]; yield return [ - @"[""NoValidResolve"", {""identifier"":""123"", ""modtype"":1}]",new[]{ "oneOf", "enum", "type" } + @"[""NoValidResolve"", {""identifier"":""1"", ""modtype"":1}]",new[]{ "enum", "type" } ]; yield return [ - @"[{""identifier"":""123"" }]", new[] { "oneOf", "enum", "contains", "required" } + @"[{""identifier"":""2"" }]", new[] { "enum", "contains", "required" } ]; yield return [ - @"[""FullResolved"", {""identifier"":""123"" }]", new[]{ "oneOf", "type", "contains", "required" } + @"[""FullResolved"", {""identifier"":""3"" }]", new[]{ "type", "contains", "required" } ]; yield return [ - @"[null, {""identifier"":""123"", ""modtype"":1 }]", new[]{ "oneOf", "enum", "type" } + @"[null, {""identifier"":""4"", ""modtype"":1 }]", new[]{ "enum", "type" } ]; - yield return [@"[""FullResolved"", {""identifier"":""123"", ""modtype"":1}, {""other"": ""value""}]", new[] { "oneOf", "required", "", "type" }]; - yield return [@"[{""identifier"":""123"", ""modtype"":1}, {""other"": ""value""}]", new[] { "oneOf", "required", "", "enum" }]; + yield return [@"[""FullResolved"", {""identifier"":""5"", ""modtype"":1}, {""other"": ""value""}]", new[] { "required", "", "type" }]; + yield return [@"[{""identifier"":""6"", ""modtype"":1}, {""other"": ""value""}]", new[] { "required", "", "enum" }]; } [Theory] [MemberData(nameof(GetInvalidJsonData))] public void Parse_Invalid(string data, IList expectedErrorKeys) { - Assert.False(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModDependencyList, out var errors)); - Assert.Equivalent(expectedErrorKeys, Enumerable.Select, string>(errors, x => x.Key).Distinct(), true); + Assert.False(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModDependencyList, out var errors)); + Assert.Equivalent(expectedErrorKeys, errors.Select, string>(x => x.Key).Distinct(), true); Assert.Throws(() => TestUtilities.Evaluate(data, EvaluationType.ModDependencyList)); Assert.Throws((Func)(() => DependencyList.Parse(data))); Assert.Throws((Func)(() => DependencyList.Parse(new MemoryStream(Encoding.UTF8.GetBytes(data))))); @@ -134,7 +134,7 @@ public static IEnumerable GetJsonData() [MemberData(nameof(GetJsonData))] public void Parse(string data, IList? refs, DependencyResolveLayout? resolveLayout) { - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModDependencyList, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModDependencyList, out _)); TestUtilities.Evaluate(data, EvaluationType.ModDependencyList); var depList = DependencyList.Parse(data); Assert.Equal(refs, depList); diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index bae23ca..26694cc 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -1,10 +1,10 @@ - + AET.Modinfo.Tests AET.Modinfo.Tests net10.0 - $(TargetFrameworks);net48 + $(TargetFrameworks);net481 false true diff --git a/src/EawModinfo.Tests/LanguageInfoTests.cs b/src/EawModinfo.Tests/LanguageInfoTests.cs index f842d64..bb58925 100644 --- a/src/EawModinfo.Tests/LanguageInfoTests.cs +++ b/src/EawModinfo.Tests/LanguageInfoTests.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Runtime.InteropServices; using System.Text; -using System.Text.Json.Nodes; +using System.Text.Json; using AET.Modinfo.Model; using AET.Modinfo.Model.Json; using AET.Modinfo.Model.Json.Schema; @@ -128,7 +128,7 @@ public static IEnumerable GetJsonData() public void Parse(string data, string expectedCode, LanguageSupportLevel expectedLevel) { TestUtilities.Evaluate(data, EvaluationType.ModLanguageInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModLanguageInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModLanguageInfo, out _)); var languageInfo = LanguageInfo.Parse(data); Assert.Equal(expectedCode, (string?)languageInfo.Code); Assert.Equal(expectedLevel, languageInfo.Support); @@ -199,8 +199,8 @@ public static IEnumerable GetInvalidData() public void Parse_InvalidDataThrows(string data, IList expectedErrorKeys) { Assert.Throws(() => TestUtilities.Evaluate(data, EvaluationType.ModLanguageInfo)); - Assert.False(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModLanguageInfo, out var errors)); - Assert.Equivalent(expectedErrorKeys, Enumerable.Select, string>(errors, x => x.Key), true); + Assert.False(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModLanguageInfo, out var errors)); + Assert.Equivalent(expectedErrorKeys, errors.Select, string>(x => x.Key), true); Assert.Throws((Func)(() => LanguageInfo.Parse(data))); Assert.Throws((Func)(() => LanguageInfo.Parse(new MemoryStream(Encoding.UTF8.GetBytes(data))))); } diff --git a/src/EawModinfo.Tests/MergeTests.cs b/src/EawModinfo.Tests/MergeTests.cs index 6109f5b..b99c957 100644 --- a/src/EawModinfo.Tests/MergeTests.cs +++ b/src/EawModinfo.Tests/MergeTests.cs @@ -40,7 +40,7 @@ public void MergeInto_VariantDefinesNameOnly() Assert.Equal((string?)mainData.Summary, (string?)newData.Summary); Assert.Equal(2, newData.Languages.Count); // As stated by the specification in III.3.2, languages was not explicitly set. Assert.True(newData.LanguagesExplicitlySet); - Assert.Equal(LanguageInfo.Default, Enumerable.First(newData.Languages)); + Assert.Equal(LanguageInfo.Default, newData.Languages.First()); Assert.Equal(2, newData.Dependencies.Count); Assert.Equal((string?)"bla", (string?)newData.Dependencies[0].Identifier); Assert.NotNull(newData.SteamData); diff --git a/src/EawModinfo.Tests/ModIdentityEqualityTestsBase.cs b/src/EawModinfo.Tests/ModIdentityEqualityTestsBase.cs index 4b926fb..7945a07 100644 --- a/src/EawModinfo.Tests/ModIdentityEqualityTestsBase.cs +++ b/src/EawModinfo.Tests/ModIdentityEqualityTestsBase.cs @@ -22,9 +22,9 @@ public void Equal_GetHashCode_Default() var diffListVer = CreateT("A", EqualityTestHelpers.AllDifferent, EqualityTestHelpers.OtherVersion); var insensitiveName = CreateT("a", EqualityTestHelpers.List, EqualityTestHelpers.Version); - EqualityTestHelpers.AssertWithComparer(true, comparer, default, default); - EqualityTestHelpers.AssertWithComparer(false, comparer, data, default); - EqualityTestHelpers.AssertWithComparer(false, comparer, default, data); + EqualityTestHelpers.AssertWithComparer(true, comparer, null, null); + EqualityTestHelpers.AssertWithComparer(false, comparer, data, null); + EqualityTestHelpers.AssertWithComparer(false, comparer, null, data); EqualityTestHelpers.AssertWithComparer(true, comparer, data, data); EqualityTestHelpers.AssertWithComparer(true, comparer, data, sameish); @@ -47,9 +47,9 @@ public void Equal_GetHashCode_VersionIndependent() var diffListVer = CreateT("A", EqualityTestHelpers.AllDifferent, EqualityTestHelpers.OtherVersion); var insensitiveName = CreateT("a", EqualityTestHelpers.List, EqualityTestHelpers.Version); - EqualityTestHelpers.AssertWithComparer(true, comparer, default, default); - EqualityTestHelpers.AssertWithComparer(false, comparer, data, default); - EqualityTestHelpers.AssertWithComparer(false, comparer, default, data); + EqualityTestHelpers.AssertWithComparer(true, comparer, null, null); + EqualityTestHelpers.AssertWithComparer(false, comparer, data, null); + EqualityTestHelpers.AssertWithComparer(false, comparer, null, data); EqualityTestHelpers.AssertWithComparer(true, comparer, data, data); EqualityTestHelpers.AssertWithComparer(true, comparer, data, sameish); @@ -72,9 +72,9 @@ public void Equal_GetHashCode_DependenciesIndependent() var diffListVer = CreateT("A", EqualityTestHelpers.AllDifferent, EqualityTestHelpers.OtherVersion); var insensitiveName = CreateT("a", EqualityTestHelpers.List, EqualityTestHelpers.Version); - EqualityTestHelpers.AssertWithComparer(true, comparer, default, default); - EqualityTestHelpers.AssertWithComparer(false, comparer, data, default); - EqualityTestHelpers.AssertWithComparer(false, comparer, default, data); + EqualityTestHelpers.AssertWithComparer(true, comparer, null, null); + EqualityTestHelpers.AssertWithComparer(false, comparer, data, null); + EqualityTestHelpers.AssertWithComparer(false, comparer, null, data); EqualityTestHelpers.AssertWithComparer(true, comparer, data, data); EqualityTestHelpers.AssertWithComparer(true, comparer, data, sameish); @@ -97,9 +97,9 @@ public void Equal_GetHashCode_VersionAndDependenciesIndependent() var diffListVer = CreateT("A", EqualityTestHelpers.AllDifferent, EqualityTestHelpers.OtherVersion); var insensitiveName = CreateT("a", EqualityTestHelpers.List, EqualityTestHelpers.Version); - EqualityTestHelpers.AssertWithComparer(true, comparer, default, default); - EqualityTestHelpers.AssertWithComparer(false, comparer, data, default); - EqualityTestHelpers.AssertWithComparer(false, comparer, default, data); + EqualityTestHelpers.AssertWithComparer(true, comparer, null, null); + EqualityTestHelpers.AssertWithComparer(false, comparer, data, null); + EqualityTestHelpers.AssertWithComparer(false, comparer, null, data); EqualityTestHelpers.AssertWithComparer(true, comparer, data, data); EqualityTestHelpers.AssertWithComparer(true, comparer, data, sameish); @@ -122,9 +122,9 @@ public void Equal_GetHashCode_IdNameCaseInsensitive() var diffListVer = CreateT("A", EqualityTestHelpers.AllDifferent, EqualityTestHelpers.OtherVersion); var insensitiveName = CreateT("a", EqualityTestHelpers.List, EqualityTestHelpers.Version); - EqualityTestHelpers.AssertWithComparer(true, comparer, default, default); - EqualityTestHelpers.AssertWithComparer(false, comparer, data, default); - EqualityTestHelpers.AssertWithComparer(false, comparer, default, data); + EqualityTestHelpers.AssertWithComparer(true, comparer, null, null); + EqualityTestHelpers.AssertWithComparer(false, comparer, data, null); + EqualityTestHelpers.AssertWithComparer(false, comparer, null, data); EqualityTestHelpers.AssertWithComparer(true, comparer, data, data); EqualityTestHelpers.AssertWithComparer(true, comparer, data, sameish); diff --git a/src/EawModinfo.Tests/ModInfoJsonSchemaTest.cs b/src/EawModinfo.Tests/ModInfoJsonSchemaTest.cs index 1eecea4..37c058a 100644 --- a/src/EawModinfo.Tests/ModInfoJsonSchemaTest.cs +++ b/src/EawModinfo.Tests/ModInfoJsonSchemaTest.cs @@ -1,4 +1,5 @@ using System; +using System.Text.Json; using AET.Modinfo.Model; using AET.Modinfo.Model.Json.Schema; using AET.Modinfo.Spec; @@ -12,16 +13,16 @@ public class ModInfoJsonSchemaTest [Fact] public void RunTests() { - Assert.Throws(() => ModInfoJsonSchema.Evaluate("{}")); - Assert.Throws(() => ModInfoJsonSchema.Evaluate("{}")); - Assert.Throws(() => ModInfoJsonSchema.Evaluate("{}")); - Assert.Throws(() => ModInfoJsonSchema.Evaluate("{}")); - Assert.Throws(() => ModInfoJsonSchema.Evaluate("{}")); + Assert.Throws(() => ModInfoJsonSchema.Evaluate(JsonElement.Parse("{}"))); + Assert.Throws(() => ModInfoJsonSchema.Evaluate(JsonElement.Parse("{}"))); + Assert.Throws(() => ModInfoJsonSchema.Evaluate(JsonElement.Parse("{}"))); + Assert.Throws(() => ModInfoJsonSchema.Evaluate(JsonElement.Parse("{}"))); + Assert.Throws(() => ModInfoJsonSchema.Evaluate(JsonElement.Parse("{}"))); - Assert.Throws(() => ModInfoJsonSchema.Evaluate("{}")); - Assert.Throws(() => ModInfoJsonSchema.Evaluate("{}")); - Assert.Throws(() => ModInfoJsonSchema.Evaluate("{}")); - Assert.Throws(() => ModInfoJsonSchema.Evaluate("{}")); - Assert.Throws(() => ModInfoJsonSchema.Evaluate("{}")); + Assert.Throws(() => ModInfoJsonSchema.Evaluate(JsonElement.Parse("{}"))); + Assert.Throws(() => ModInfoJsonSchema.Evaluate(JsonElement.Parse("{}"))); + Assert.Throws(() => ModInfoJsonSchema.Evaluate(JsonElement.Parse("{}"))); + Assert.Throws(() => ModInfoJsonSchema.Evaluate(JsonElement.Parse("{}"))); + Assert.Throws(() => ModInfoJsonSchema.Evaluate(JsonElement.Parse("{}"))); } } \ No newline at end of file diff --git a/src/EawModinfo.Tests/ModReferenceBuilderTest.cs b/src/EawModinfo.Tests/ModReferenceBuilderTest.cs index 8928176..105414b 100644 --- a/src/EawModinfo.Tests/ModReferenceBuilderTest.cs +++ b/src/EawModinfo.Tests/ModReferenceBuilderTest.cs @@ -67,7 +67,7 @@ public void CreateVirtualModIdentifier_ThrowsArgumentNullException_WhenModinfoIs modPath, locationKind, mainModinfoState, - new[] {"variant1"},// one variants + new[] {"variant1"},// one variant Array.Empty(), expectedIdentifier ]; @@ -152,7 +152,7 @@ public void CreateIdentifiers_NoModinfoFiles_ReturnsCorrectIdentifier( var modinfoFinderCollection = new ModinfoFinderCollection(modDirectory, null, new List()); - var modReferences = Enumerable.ToList(ModReferenceBuilder.CreateIdentifiers(modinfoFinderCollection, locationKind)); + var modReferences = ModReferenceBuilder.CreateIdentifiers(modinfoFinderCollection, locationKind).ToList(); var modRef = Assert.Single(modReferences); if (locationKind is ModReferenceBuilder.ModLocationKind.External) @@ -179,7 +179,7 @@ public void CreateIdentifiers_OnlySingleVariant_ReturnsCorrectIdentifier( CreateValidVariantFile(modDirectory, "VariantName") }); - var modReferences = Enumerable.ToList(ModReferenceBuilder.CreateIdentifiers(modinfoFinderCollection, locationKind)); + var modReferences = ModReferenceBuilder.CreateIdentifiers(modinfoFinderCollection, locationKind).ToList(); var modRef = Assert.Single(modReferences); Assert.Equal((string?)$"{expectedIdentifier}:VariantName", (string?)modRef.ModReference.Identifier); @@ -213,12 +213,12 @@ public void CreateIdentifiers_TestScenario( // Simulate the creation of variant files var variantFiles = validVariants.Select(x => CreateValidVariantFile(modDir, x)) - .Concat(malformedVariants.Select(x => CreateInvalidVariantFile(modDir))) + .Concat(malformedVariants.Select(_ => CreateInvalidVariantFile(modDir))) .ToList(); var modinfoFinderResult = new ModinfoFinderCollection(modDir, mainModinfo, variantFiles); - var result = Enumerable.ToList(ModReferenceBuilder.CreateIdentifiers(modinfoFinderResult, locationKind)); + var result = ModReferenceBuilder.CreateIdentifiers(modinfoFinderResult, locationKind).ToList(); var expectedResults = new List<(string Identifier, ModType Type, string? Name)>(); diff --git a/src/EawModinfo.Tests/ModReferenceTest.cs b/src/EawModinfo.Tests/ModReferenceTest.cs index d5f67eb..abb6216 100644 --- a/src/EawModinfo.Tests/ModReferenceTest.cs +++ b/src/EawModinfo.Tests/ModReferenceTest.cs @@ -1,15 +1,15 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Text.Json.Nodes; using AET.Modinfo.Model; using AET.Modinfo.Model.Json; using AET.Modinfo.Model.Json.Schema; using AET.Modinfo.Spec; using AET.Modinfo.Spec.Equality; using Semver; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Text.Json; using Xunit; namespace AET.Modinfo.Tests; @@ -174,8 +174,8 @@ public static IEnumerable GetInvalidJsonData() [MemberData(nameof(GetInvalidJsonData))] public void Parse_Throws(string data, IList expectedErrorKeys) { - Assert.False(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModReference, out var errors)); - Assert.Equivalent(expectedErrorKeys, Enumerable.Select, string>(errors, x => x.Key), true); + Assert.False(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModReference, out var errors)); + Assert.Equivalent(expectedErrorKeys, errors.Select, string>(x => x.Key), true); Assert.Throws(() => TestUtilities.Evaluate(data, EvaluationType.ModReference)); Assert.Throws((Func)(() => ModReference.Parse(data))); @@ -199,7 +199,7 @@ public static IEnumerable GetJsonData() [MemberData(nameof(GetJsonData))] public void Parse(string data, string? expectedId, ModType? expectedType) { - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModReference, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModReference, out _)); TestUtilities.Evaluate(data, EvaluationType.ModReference); var modReference = ModReference.Parse(data); Assert.Equal(expectedId, (string?)modReference.Identifier); diff --git a/src/EawModinfo.Tests/ModinfoDataTest.cs b/src/EawModinfo.Tests/ModinfoDataTest.cs index 92f57d6..1eb5a2f 100644 --- a/src/EawModinfo.Tests/ModinfoDataTest.cs +++ b/src/EawModinfo.Tests/ModinfoDataTest.cs @@ -1,11 +1,9 @@ using System; -using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Text.Json; -using System.Text.Json.Nodes; using AET.Modinfo.Model; using AET.Modinfo.Model.Json.Schema; using AET.Modinfo.Spec; @@ -34,7 +32,7 @@ public void Parse_AllowTrailingCommaAndComments() // Parsing supports it, but in this test, we ensure evaluation also supports it. TestUtilities.Evaluate(data, EvaluationType.ModInfo); Assert.True(ModInfoJsonSchema.IsValid( - JsonNode.Parse(data, null, new() { AllowTrailingCommas = true, CommentHandling = JsonCommentHandling.Skip }), + JsonElement.Parse(data, new() { AllowTrailingCommas = true, CommentHandling = JsonCommentHandling.Skip }), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); @@ -53,7 +51,7 @@ public void Parse_Minimal() }"; TestUtilities.Evaluate(data, EvaluationType.ModInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); Assert.Equal((string?)"My Mod Name", (string?)modinfo.Name); @@ -76,7 +74,7 @@ public void Parse_Version() }"; TestUtilities.Evaluate(data, EvaluationType.ModInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); Assert.Equal((string?)"My Mod Name", (string?)modinfo.Name); @@ -98,7 +96,7 @@ public void Parse_SummaryIcon() }"; TestUtilities.Evaluate(data, EvaluationType.ModInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); Assert.Equal((string?)"My Mod Name", (string?)modinfo.Name); @@ -124,7 +122,7 @@ public void Parse_WithOneLanguage() ] }"; TestUtilities.Evaluate(data, EvaluationType.ModInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); Assert.Equal((string?)"My Mod Name", (string?)modinfo.Name); @@ -154,7 +152,7 @@ public void Parse_WithManyLanguages() ] }"; TestUtilities.Evaluate(data, EvaluationType.ModInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); Assert.Equal((string?)"My Mod Name", (string?)modinfo.Name); @@ -184,7 +182,7 @@ public void Parse_WithDuplicateLanguage() ] }"; TestUtilities.Evaluate(data, EvaluationType.ModInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); Assert.Equal((string?)"My Mod Name", (string?)modinfo.Name); @@ -214,7 +212,7 @@ public void Parse_WithDuplicateLanguage2() ] }"; TestUtilities.Evaluate(data, EvaluationType.ModInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); Assert.Equal((string?)"My Mod Name", (string?)modinfo.Name); @@ -235,7 +233,7 @@ public void Parse_WithoutLanguage() ""name"":""My Mod Name"" }"; TestUtilities.Evaluate(data, EvaluationType.ModInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); Assert.Equal((string?)"My Mod Name", (string?)modinfo.Name); @@ -261,7 +259,7 @@ public void Parse_WithEmptyLanguage() ""languages"":[] }"; TestUtilities.Evaluate(data, EvaluationType.ModInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); Assert.Equal((string?)"My Mod Name", (string?)modinfo.Name); @@ -291,8 +289,8 @@ public void Parse_WithLanguageAndArbitraryObject_Throws() ] }"; Assert.Throws(() => TestUtilities.Evaluate(data, EvaluationType.ModInfo)); - Assert.False(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out var errors)); - Assert.Equivalent(new List{"required", ""}, Enumerable.Select, string>(errors, x => x.Key), true); + Assert.False(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out var errors)); + Assert.Equivalent(new List{"required", ""}, errors.Select, string>(x => x.Key), true); Assert.Throws((Func)(() => ModinfoData.Parse(data))); Assert.Throws((Func)(() => ModinfoData.Parse(new MemoryStream(Encoding.UTF8.GetBytes(data))))); @@ -311,8 +309,8 @@ public void Parse_OnlyArbitraryObject_Throws() ] }"; Assert.Throws(() => TestUtilities.Evaluate(data, EvaluationType.ModInfo)); - Assert.False(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out var errors)); - Assert.Equivalent(new List { "required", "" }, Enumerable.Select, string>(errors, x => x.Key), true); + Assert.False(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out var errors)); + Assert.Equivalent(new List { "required", "" }, errors.Select, string>(x => x.Key), true); Assert.Throws((Func)(() => ModinfoData.Parse(data))); Assert.Throws((Func)(() => ModinfoData.Parse(new MemoryStream(Encoding.UTF8.GetBytes(data))))); @@ -326,7 +324,7 @@ public void Parse_WithoutDeps() ""name"":""My Mod Name"" }"; TestUtilities.Evaluate(data, EvaluationType.ModInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); Assert.Equal((string?)"My Mod Name", (string?)modinfo.Name); @@ -356,7 +354,7 @@ public void Parse_WithManyDeps() ] }"; TestUtilities.Evaluate(data, EvaluationType.ModInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); Assert.Equal((string?)"My Mod Name", (string?)modinfo.Name); @@ -392,7 +390,7 @@ public void Parse_WithDepsLayout() ] }"; TestUtilities.Evaluate(data, EvaluationType.ModInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); Assert.Equal((string?)"My Mod Name", (string?)modinfo.Name); @@ -432,8 +430,8 @@ public void Parse_WithDepsLayout_ThrowsModinfoParseException() Assert.Throws((Func)(() => ModinfoData.Parse(data))); Assert.Throws((Func)(() => ModinfoData.Parse(new MemoryStream(Encoding.UTF8.GetBytes(data))))); - Assert.False(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out var errors)); - Assert.Equivalent(new List{ "oneOf", "enum", "type"}, Enumerable.Select, string>(errors, x => x.Key).Distinct(), true); + Assert.False(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out var errors)); + Assert.Equivalent(new List{ "enum", "type"}, errors.Select, string>(x => x.Key).Distinct(), true); } [Fact] @@ -458,8 +456,8 @@ public void Parse_WithUnknownDepsLayout_ThrowsModinfoParseException() Assert.Throws((Func)(() => ModinfoData.Parse(data))); Assert.Throws((Func)(() => ModinfoData.Parse(new MemoryStream(Encoding.UTF8.GetBytes(data))))); - Assert.False(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out var errors)); - Assert.Equivalent(new List { "oneOf", "enum", "type" }, Enumerable.Select, string>(errors, x => x.Key).Distinct(), true); + Assert.False(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out var errors)); + Assert.Equivalent(new List { "enum", "type" }, errors.Select, string>(x => x.Key).Distinct(), true); } [Fact] @@ -474,8 +472,8 @@ public void Parse_WithEmptyDeps_ThrowsModinfoParseException() Assert.Throws((Func)(() => ModinfoData.Parse(data))); Assert.Throws((Func)(() => ModinfoData.Parse(new MemoryStream(Encoding.UTF8.GetBytes(data))))); - Assert.False(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out var errors)); - Assert.Equivalent(new List { "oneOf", "contains" }, Enumerable.Select, string>(errors, x => x.Key).Distinct(), true); + Assert.False(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out var errors)); + Assert.Equivalent(new List { "contains" }, errors.Select, string>(x => x.Key).Distinct(), true); } [Fact] @@ -490,8 +488,8 @@ public void Parse_WithEmptyDeps_ThrowsModinfoParseException2() Assert.Throws((Func)(() => ModinfoData.Parse(data))); Assert.Throws((Func)(() => ModinfoData.Parse(new MemoryStream(Encoding.UTF8.GetBytes(data))))); - Assert.False(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out var errors)); - Assert.Equivalent(new List { "contains", "type" }, Enumerable.Select, string>(errors, x => x.Key).Distinct(), true); + Assert.False(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out var errors)); + Assert.Equivalent(new List { "contains", "type" }, errors.Select, string>(x => x.Key).Distinct(), true); } [Fact] @@ -506,8 +504,8 @@ public void Parse_WithIncompleteModRef_ThrowsModinfoParseException2() Assert.Throws((Func)(() => ModinfoData.Parse(data))); Assert.Throws((Func)(() => ModinfoData.Parse(new MemoryStream(Encoding.UTF8.GetBytes(data))))); - Assert.False(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out var errors)); - Assert.Equivalent(new List { "oneOf", "contains", "required", "type" }, Enumerable.Select, string>(errors, x => x.Key).Distinct(), true); + Assert.False(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out var errors)); + Assert.Equivalent(new List { "contains", "required", "type" }, errors.Select, string>(x => x.Key).Distinct(), true); } [Fact] @@ -522,8 +520,8 @@ public void Parse_WithIncompatibleCustom() Assert.Throws((Func)(() => ModinfoData.Parse(data))); Assert.Throws((Func)(() => ModinfoData.Parse(new MemoryStream(Encoding.UTF8.GetBytes(data))))); - Assert.False(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out var errors)); - Assert.Equivalent(new List { "type" }, Enumerable.Select, string>(errors, x => x.Key).Distinct(), true); + Assert.False(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out var errors)); + Assert.Equivalent(new List { "type" }, errors.Select, string>(x => x.Key).Distinct(), true); } @@ -563,7 +561,7 @@ public void Parse_SteamData() } }"; TestUtilities.Evaluate(data, EvaluationType.ModInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); Assert.Equal((string?)"My Mod Name", (string?)modinfo.Name); @@ -574,7 +572,7 @@ public void Parse_SteamData() Assert.Equal(SteamWorkshopVisibility.Public, modinfo.SteamData.Visibility); Assert.Equal((string?)"test", (string?)modinfo.SteamData.Metadata); Assert.Null(modinfo.SteamData.Description); - Assert.Equal(2, Enumerable.Count(modinfo.SteamData.Tags)); + Assert.Equal(2, modinfo.SteamData.Tags.Count()); modinfo = ModinfoData.Parse(new MemoryStream(Encoding.UTF8.GetBytes(data))); Assert.Equal((string?)"My Mod Name", (string?)modinfo.Name); @@ -585,7 +583,7 @@ public void Parse_SteamData() Assert.Equal(SteamWorkshopVisibility.Public, modinfo.SteamData.Visibility); Assert.Equal((string?)"test", (string?)modinfo.SteamData.Metadata); Assert.Null(modinfo.SteamData.Description); - Assert.Equal(2, Enumerable.Count(modinfo.SteamData.Tags)); + Assert.Equal(2, modinfo.SteamData.Tags.Count()); } public static IEnumerable GetInvalidData() @@ -607,22 +605,21 @@ public void Parse_FailingParseTest(string? data, IList expectedErrorKeys { if (data is null) { - Assert.Throws(() => ModInfoJsonSchema.Evaluate(data!, EvaluationType.ModInfo)); + Assert.Throws(() => ModInfoJsonSchema.Evaluate(default, EvaluationType.ModInfo)); Assert.Throws(() => ModinfoData.Parse(data!)); Assert.Throws(() => ModinfoData.Parse((Stream)null!)); - Assert.False(ModInfoJsonSchema.IsValid(null, EvaluationType.ModInfo, out var errors)); - Assert.Equivalent(expectedErrorKeys, Enumerable.Select, string>(errors, x => x.Key), true); + Assert.Throws(() => ModInfoJsonSchema.IsValid(default, EvaluationType.ModInfo, out _)); } else { if (data != string.Empty) { - Assert.Throws((Action)(() => ModInfoJsonSchema.Evaluate(JsonNode.Parse(data)!, EvaluationType.ModInfo))); - Assert.False(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out var errors)); - Assert.Equivalent(expectedErrorKeys, Enumerable.Select, string>(errors, x => x.Key), true); + Assert.Throws((Action)(() => ModInfoJsonSchema.Evaluate(JsonElement.Parse(data), EvaluationType.ModInfo))); + Assert.False(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out var errors)); + Assert.Equivalent(expectedErrorKeys, errors.Select, string>(x => x.Key), true); } - Assert.Throws((Func)(() => ModinfoData.Parse(data))); - Assert.Throws((Func)(() => ModinfoData.Parse(new MemoryStream(Encoding.UTF8.GetBytes(data))))); + Assert.Throws(() => ModinfoData.Parse(data)); + Assert.Throws(() => ModinfoData.Parse(new MemoryStream(Encoding.UTF8.GetBytes(data)))); } } @@ -671,7 +668,7 @@ public void Parse_Custom_WithNonUniqueKeys() }"; TestUtilities.Evaluate(data, EvaluationType.ModInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); Assert.Equivalent(new Dictionary { { "key1", null } }, modinfo.Custom, true); @@ -915,7 +912,7 @@ public void Parse_TolerantVersion() ""version"": ""1.0"" }"; TestUtilities.Evaluate(data, EvaluationType.ModInfo); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.ModInfo, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.ModInfo, out _)); var modinfo = ModinfoData.Parse(data); Assert.Equal((string?)"My Mod Name", (string?)modinfo.Name); @@ -1093,7 +1090,7 @@ public void Ctor_FromIdentity() Assert.Equal((string?)"Name", (string?)modinfo.Name); Assert.Equal(SemVersion.Parse("1.2.3-beta1"), modinfo.Version); Assert.Equal(DependencyResolveLayout.FullResolved, modinfo.Dependencies.ResolveLayout); - Assert.Equal([new ModReference("1", ModType.Default), new ModReference("2", ModType.Workshops, SemVersionRange.Parse("*"))], Enumerable.ToList(modinfo.Dependencies)); + Assert.Equal([new ModReference("1", ModType.Default), new ModReference("2", ModType.Workshops, SemVersionRange.Parse("*"))], modinfo.Dependencies.ToList()); Assert.Equivalent(new Dictionary(), modinfo.Custom, true); Assert.Equal([LanguageInfo.Default], modinfo.Languages); Assert.False(modinfo.LanguagesExplicitlySet); diff --git a/src/EawModinfo.Tests/ModinfoFileFinderTests.cs b/src/EawModinfo.Tests/ModinfoFileFinderTests.cs index 92bc69a..80a1e84 100644 --- a/src/EawModinfo.Tests/ModinfoFileFinderTests.cs +++ b/src/EawModinfo.Tests/ModinfoFileFinderTests.cs @@ -1,5 +1,4 @@ using System; -using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; diff --git a/src/EawModinfo.Tests/ModinfoValidatorTests.cs b/src/EawModinfo.Tests/ModinfoValidatorTests.cs index d615c6c..64d6128 100644 --- a/src/EawModinfo.Tests/ModinfoValidatorTests.cs +++ b/src/EawModinfo.Tests/ModinfoValidatorTests.cs @@ -180,7 +180,7 @@ public static IEnumerable GetInvalidSteamData() yield return [new JsonSteamData(), true]; yield return [new JsonSteamData { Id = null! }, true]; yield return [new JsonSteamData {Id = "1234", Tags = ["EAW"], ContentFolder = "testFolder"}, true]; - yield return [new JsonSteamData {Id = "1234", Tags = Array.Empty(), ContentFolder = "testFolder", Title = "Title" }, true]; + yield return [new JsonSteamData {Id = "1234", Tags = [], ContentFolder = "testFolder", Title = "Title" }, true]; yield return [new JsonSteamData { Id = "1234", Tags = null!, ContentFolder = "testFolder", Title = "Title" }, true]; yield return [new JsonSteamData { Id = "1234", Tags = null!, ContentFolder = "testFolder", Title = "Title" }, true]; yield return [new JsonSteamData { Id = "1234", Tags = ["EAW"], ContentFolder = "", Title = "Title" }, true]; @@ -335,13 +335,13 @@ private class CustomModinfo(string name) : IModinfo { public string Name => name; public SemVersion? Version { get; } - public IModDependencyList Dependencies { get; set; } + public IModDependencyList Dependencies { get; init; } public string? Summary { get; } public string? Icon { get; } - public IDictionary Custom { get; set; } + public IDictionary Custom { get; init; } public ISteamData? SteamData { get; } - public IReadOnlyCollection Languages { get; set; } + public IReadOnlyCollection Languages { get; init; } public bool LanguagesExplicitlySet { get; } public string ToJson() diff --git a/src/EawModinfo.Tests/SteamDataTests.cs b/src/EawModinfo.Tests/SteamDataTests.cs index 69abb9a..4e07d81 100644 --- a/src/EawModinfo.Tests/SteamDataTests.cs +++ b/src/EawModinfo.Tests/SteamDataTests.cs @@ -1,12 +1,12 @@ -using System; +using AET.Modinfo.Model; +using AET.Modinfo.Model.Json.Schema; +using AET.Modinfo.Spec.Steam; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; -using System.Text.Json.Nodes; -using AET.Modinfo.Model; -using AET.Modinfo.Model.Json.Schema; -using AET.Modinfo.Spec.Steam; +using System.Text.Json; using Xunit; namespace AET.Modinfo.Tests; @@ -15,16 +15,16 @@ public class SteamDataTests { public static IEnumerable GetInvalidJsonData() { - yield return [@"{}", new[] { "required" }]; + yield return ["{}", new[] { "required" }]; yield return [@"{""contentfolder"":""path"", ""publishedfileid"":""123"", ""visibility"":0, ""tags"":[""EAW""]}", new[] { "required" }]; - yield return [@"{""title"":""123"", ""publishedfileid"":""123"", ""visibility"":0, ""tags"":[""EAW""]}", new[] { "required" }]; - yield return [@"{""title"":""123"", ""contentfolder"":""path"", ""visibility"":0, ""tags"":[""EAW""]}", new[] { "required" }]; - yield return [@"{""title"":""123"", ""contentfolder"":""path"", ""publishedfileid"":""123"", ""tags"":[""EAW""]}", new[] { "required" }]; - yield return [@"{""title"":""123"", ""contentfolder"":""path"", ""publishedfileid"":""123"", ""visibility"":0}", new[] { "required" }]; - yield return [@"{""title"":""123"", ""contentfolder"":""path"", ""publishedfileid"":""123"", ""visibility"":0, ""tags"":[]}", new[] { "minItems", "contains" }]; - yield return [@"{""title"":""123"", ""contentfolder"":""path"", ""publishedfileid"":""123"", ""visibility"":0, ""tags"":[""other""]}", new[] { "contains", "oneOf", "const", "const" }]; - yield return [@"{""title"":""123"", ""contentfolder"":""path"", ""publishedfileid"":""123"", ""visibility"":0, ""tags"":[""eaw""]}", new[] { "contains", "oneOf", "const", "const" }]; - yield return [@"{""title"":""123"", ""contentfolder"":""path"", ""publishedfileid"":""123"", ""visibility"":0, ""tags"":[""FOC"", ""a,b""]}", new[] { "pattern", "oneOf", "const", "const" }]; + yield return [@"{""title"":""1"", ""publishedfileid"":""123"", ""visibility"":0, ""tags"":[""EAW""]}", new[] { "required" }]; + yield return [@"{""title"":""2"", ""contentfolder"":""path"", ""visibility"":0, ""tags"":[""EAW""]}", new[] { "required" }]; + yield return [@"{""title"":""3"", ""contentfolder"":""path"", ""publishedfileid"":""123"", ""tags"":[""EAW""]}", new[] { "required" }]; + yield return [@"{""title"":""4"", ""contentfolder"":""path"", ""publishedfileid"":""123"", ""visibility"":0}", new[] { "required" }]; + yield return [@"{""title"":""5"", ""contentfolder"":""path"", ""publishedfileid"":""123"", ""visibility"":0, ""tags"":[]}", new[] { "minItems", "contains" }]; + yield return [@"{""title"":""6"", ""contentfolder"":""path"", ""publishedfileid"":""123"", ""visibility"":0, ""tags"":[""other""]}", new[] { "contains", "const", "const" }]; + yield return [@"{""title"":""7"", ""contentfolder"":""path"", ""publishedfileid"":""123"", ""visibility"":0, ""tags"":[""eaw""]}", new[] { "contains", "const", "const" }]; + yield return [@"{""title"":""8"", ""contentfolder"":""path"", ""publishedfileid"":""123"", ""visibility"":0, ""tags"":[""FOC"", ""a,b""]}", new[] { "pattern", "const", "const" }]; } [Theory] @@ -35,8 +35,8 @@ public void Parse_Throws(string data, IList expectedErrorKeys) Assert.Throws((Func)(() => SteamData.Parse(data))); Assert.Throws((Func)(() => SteamData.Parse(new MemoryStream(Encoding.UTF8.GetBytes(data))))); - Assert.False(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.SteamData, out var errors)); - Assert.Equivalent(expectedErrorKeys, Enumerable.Select, string>(errors, x => x.Key), true); + Assert.False(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.SteamData, out var errors)); + Assert.Equivalent(expectedErrorKeys, errors.Select, string>(x => x.Key), true); } public static IEnumerable GetJsonData() @@ -58,7 +58,7 @@ public void Parse(string data, SteamData? expected) { Assert.NotNull(expected); - Assert.True(ModInfoJsonSchema.IsValid(JsonNode.Parse(data), EvaluationType.SteamData, out _)); + Assert.True(ModInfoJsonSchema.IsValid(JsonElement.Parse(data), EvaluationType.SteamData, out _)); TestUtilities.Evaluate(data, EvaluationType.SteamData); var steamData = SteamData.Parse(data); diff --git a/src/EawModinfo.Tests/TestUtilities.cs b/src/EawModinfo.Tests/TestUtilities.cs index 0c42e95..074bc48 100644 --- a/src/EawModinfo.Tests/TestUtilities.cs +++ b/src/EawModinfo.Tests/TestUtilities.cs @@ -3,7 +3,6 @@ using System.IO.Abstractions; using System.Linq; using System.Text.Json; -using System.Text.Json.Nodes; using AET.Modinfo.Model.Json.Schema; using Testably.Abstractions.Testing; @@ -73,7 +72,7 @@ internal static IFileInfo CreateVariantMainFile(MockFileSystem fs, string path) internal static IFileInfo CreateFile(MockFileSystem fs, string path, string name, string data) { var fullPath = fs.Path.Combine(path, name); - var dir = fs.Path.GetDirectoryName(fullPath); + var dir = fs.Path.GetDirectoryName(fullPath)!; fs.Directory.CreateDirectory(dir); fs.File.WriteAllText(fullPath, data); return fs.FileInfo.New(fullPath); @@ -95,11 +94,11 @@ public static IEnumerable InvalidModinfoFileNamesTestData() public static void Evaluate(string json, EvaluationType type) { - ModInfoJsonSchema.Evaluate(JsonNode.Parse(json, null, new JsonDocumentOptions + ModInfoJsonSchema.Evaluate(JsonElement.Parse(json, new JsonDocumentOptions { AllowTrailingCommas = true, CommentHandling = JsonCommentHandling.Skip - })!, type); + }), type); } public static bool GetRandomBool() diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 19bb707..5b06bfe 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -40,7 +40,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -51,7 +51,7 @@ - + diff --git a/src/EawModinfo/Model/Json/JsonDependencyList.cs b/src/EawModinfo/Model/Json/JsonDependencyList.cs index 32f263d..8d8ec40 100644 --- a/src/EawModinfo/Model/Json/JsonDependencyList.cs +++ b/src/EawModinfo/Model/Json/JsonDependencyList.cs @@ -13,7 +13,7 @@ namespace AET.Modinfo.Model.Json; [JsonConverter(typeof(JsonDependencyListTypeConverter))] internal class JsonDependencyList : IModDependencyList { - private readonly List _internalList = new(); + private readonly List _internalList = []; public DependencyResolveLayout ResolveLayout { get; internal set; } diff --git a/src/EawModinfo/Model/Json/JsonModinfoData.cs b/src/EawModinfo/Model/Json/JsonModinfoData.cs index 63f7053..35e628e 100644 --- a/src/EawModinfo/Model/Json/JsonModinfoData.cs +++ b/src/EawModinfo/Model/Json/JsonModinfoData.cs @@ -15,8 +15,6 @@ namespace AET.Modinfo.Model.Json; /// internal class JsonModinfoData : IModinfo { - [JsonIgnore] private IReadOnlyCollection? _languages; - [JsonIgnore] private SemVersion? _modVersion; [JsonIgnore] private bool _versionDetermined; [JsonIgnore] private bool _languagesDetermined; @@ -37,21 +35,22 @@ internal class JsonModinfoData : IModinfo /// [JsonIgnore] + [field: JsonIgnore] public SemVersion? Version { get { - if (_modVersion is null && !_versionDetermined) + if (field is null && !_versionDetermined) { - _modVersion = SemVerHelper.CreateSanitizedVersion(StringVersion); + field = SemVerHelper.CreateSanitizedVersion(StringVersion); _versionDetermined = true; } - return _modVersion; + return field; } internal set { - _modVersion = value; + field = value; StringVersion = value?.ToString(); } } @@ -71,21 +70,23 @@ internal set /// [JsonIgnore] + [field: JsonIgnore] public IReadOnlyCollection Languages { get { - if (_languages is null && !_languagesDetermined) + if (field is null && !_languagesDetermined) { if (InternalLanguages == null || InternalLanguages.Count == 0) - _languages = ModinfoData.UnsetLanguages; + field = ModinfoData.UnsetLanguages; else - _languages = new HashSet(InternalLanguages.Select(x => new LanguageInfo(x))); + field = new HashSet(InternalLanguages.Select(x => new LanguageInfo(x))); _languagesDetermined = true; } - return _languages!; + return field!; } +#pragma warning disable CS9266 // The '{0}' accessor of property '{1}' should use 'field' because the other accessor is using it. set { var languages = new HashSet(value.Select(x => new JsonLanguageInfo(x))); @@ -93,6 +94,7 @@ public IReadOnlyCollection Languages languages.Clear(); InternalLanguages = languages; } +#pragma warning restore CS9266 } [JsonIgnore] diff --git a/src/EawModinfo/Model/Json/JsonSteamData.cs b/src/EawModinfo/Model/Json/JsonSteamData.cs index 4973264..1b789e1 100644 --- a/src/EawModinfo/Model/Json/JsonSteamData.cs +++ b/src/EawModinfo/Model/Json/JsonSteamData.cs @@ -11,7 +11,7 @@ namespace AET.Modinfo.Model.Json; /// internal class JsonSteamData : ISteamData { - internal static readonly string[] GameTags = {"FOC", "EAW"}; + internal static readonly string[] GameTags = ["FOC", "EAW"]; /// [JsonPropertyName("publishedfileid")] diff --git a/src/EawModinfo/Model/Json/Schema/ModInfoJsonSchema.cs b/src/EawModinfo/Model/Json/Schema/ModInfoJsonSchema.cs index 94a0cf3..c169957 100644 --- a/src/EawModinfo/Model/Json/Schema/ModInfoJsonSchema.cs +++ b/src/EawModinfo/Model/Json/Schema/ModInfoJsonSchema.cs @@ -3,7 +3,7 @@ using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Linq; -using System.Text.Json.Nodes; +using System.Text.Json; using Json.Schema; namespace AET.Modinfo.Model.Json.Schema; @@ -15,16 +15,16 @@ public static class ModInfoJsonSchema { private static readonly SchemaRegistry Registry; private static readonly EvaluationOptions EvaluationOptions; + private static readonly BuildOptions BuildOptions; static ModInfoJsonSchema() { - var evalvOptions = new EvaluationOptions + var buildOptions = new BuildOptions { - EvaluateAs = SpecVersion.Draft202012, - OutputFormat = OutputFormat.Hierarchical, - AllowReferencesIntoUnknownKeywords = false + Dialect = Dialect.Draft202012 }; - var registry = evalvOptions.SchemaRegistry; + + var registry = buildOptions.SchemaRegistry; registry.Register(GetSchemaFromResource("modref.json")); registry.Register(GetSchemaFromResource("moddependencies.json")); @@ -32,17 +32,21 @@ static ModInfoJsonSchema() registry.Register(GetSchemaFromResource("steamdata.json")); registry.Register(GetSchemaFromResource("modinfo.json")); - Registry = evalvOptions.SchemaRegistry; - EvaluationOptions = evalvOptions; + BuildOptions = buildOptions; + Registry = registry; + EvaluationOptions = new EvaluationOptions + { + OutputFormat = OutputFormat.Hierarchical, + }; } private static JsonSchema GetSchemaFromResource(string schema) { using var resourceStream = typeof(ModInfoJsonSchema) .Assembly.GetManifestResourceStream($"AET.Modinfo.Resources.Schemas._3._0._0.{schema}"); - Debug.Assert(resourceStream is not null); - return JsonSchema.FromStream(resourceStream!).GetAwaiter().GetResult(); + var json = JsonDocument.Parse(resourceStream!).RootElement; + return JsonSchema.Build(json, BuildOptions); } /// @@ -52,7 +56,7 @@ private static JsonSchema GetSchemaFromResource(string schema) /// The schema to use. /// When this method returns, contains the identified errors, or if is valid. /// if is valid against the schema; otherwise, . - public static bool IsValid(JsonNode? json, EvaluationType evaluationType, [NotNullWhen(false)] out IReadOnlyCollection>? errors) + public static bool IsValid(JsonElement json, EvaluationType evaluationType, [NotNullWhen(false)] out IReadOnlyCollection>? errors) { errors = null; var schema = GetSchemaForType(evaluationType); @@ -71,11 +75,14 @@ private static void CollectErrors(EvaluationResults result, List @@ -85,16 +92,14 @@ private static void CollectErrors(EvaluationResults result, ListThe schema to use. /// is not valid against the JSON schema specified by . /// is . - public static void Evaluate(JsonNode json, EvaluationType evaluationType) + public static void Evaluate(JsonElement json, EvaluationType evaluationType) { - if (json == null) - throw new ArgumentNullException(nameof(json)); var schema = GetSchemaForType(evaluationType); var result = schema.Evaluate(json, EvaluationOptions); ThrowOnValidationError(result); } - internal static void Evaluate(JsonNode json) + internal static void Evaluate(JsonElement json) { Evaluate(json, GetSchemaForType(typeof(T))); } @@ -118,13 +123,16 @@ private static void ThrowOnValidationError(EvaluationResults result) private static KeyValuePair? GetFirstError(EvaluationResults result) { - if (result.HasErrors) + if (result.Errors is not null) return result.Errors!.First(); - foreach (var child in result.Details) + if (result.Details is not null) { - var error = GetFirstError(child); - if (error is not null) - return error; + foreach (var child in result.Details!) + { + var error = GetFirstError(child); + if (error is not null) + return error; + } } return null; } @@ -134,15 +142,15 @@ private static JsonSchema GetSchemaForType(EvaluationType type) return type switch { EvaluationType.ModReference => (JsonSchema)Registry.Get( - new Uri("https://AlamoEngine-Tools.github.io/schemas/3.0.0/mod-ref", UriKind.Absolute)), + new Uri("https://AlamoEngine-Tools.github.io/schemas/3.0.0/mod-ref", UriKind.Absolute))!, EvaluationType.SteamData => (JsonSchema)Registry.Get( - new Uri("https://AlamoEngine-Tools.github.io/schemas/3.0.0/steam-data", UriKind.Absolute)), + new Uri("https://AlamoEngine-Tools.github.io/schemas/3.0.0/steam-data", UriKind.Absolute))!, EvaluationType.ModLanguageInfo => (JsonSchema)Registry.Get( - new Uri("https://AlamoEngine-Tools.github.io/schemas/3.0.0/lang-info", UriKind.Absolute)), + new Uri("https://AlamoEngine-Tools.github.io/schemas/3.0.0/lang-info", UriKind.Absolute))!, EvaluationType.ModDependencyList => (JsonSchema)Registry.Get( - new Uri("https://AlamoEngine-Tools.github.io/schemas/3.0.0/mod-deps", UriKind.Absolute)), + new Uri("https://AlamoEngine-Tools.github.io/schemas/3.0.0/mod-deps", UriKind.Absolute))!, EvaluationType.ModInfo => (JsonSchema)Registry.Get( - new Uri("https://AlamoEngine-Tools.github.io/schemas/3.0.0/modinfo", UriKind.Absolute)), + new Uri("https://AlamoEngine-Tools.github.io/schemas/3.0.0/modinfo", UriKind.Absolute))!, _ => throw new ArgumentOutOfRangeException(nameof(type)) }; } diff --git a/src/EawModinfo/Model/ModIdentity.cs b/src/EawModinfo/Model/ModIdentity.cs index f934809..89b9477 100644 --- a/src/EawModinfo/Model/ModIdentity.cs +++ b/src/EawModinfo/Model/ModIdentity.cs @@ -10,8 +10,6 @@ namespace AET.Modinfo.Model; /// public sealed class ModIdentity : IModIdentity, IEquatable { - private readonly IModDependencyList _dependencies = DependencyList.EmptyDependencyList; - /// public string Name { get; } @@ -21,14 +19,14 @@ public sealed class ModIdentity : IModIdentity, IEquatable /// public IModDependencyList Dependencies { - get => _dependencies; + get; init { if (value == null) throw new ArgumentNullException(nameof(value)); - _dependencies = new DependencyList(value); + field = new DependencyList(value); } - } + } = DependencyList.EmptyDependencyList; /// /// Initializes a new instance of the class with a specified name. diff --git a/src/EawModinfo/Model/ModinfoData.cs b/src/EawModinfo/Model/ModinfoData.cs index c97891c..0173057 100644 --- a/src/EawModinfo/Model/ModinfoData.cs +++ b/src/EawModinfo/Model/ModinfoData.cs @@ -15,9 +15,6 @@ namespace AET.Modinfo.Model; public sealed class ModinfoData : IModinfo { internal static readonly IReadOnlyCollection UnsetLanguages = [LanguageInfo.Default]; - private readonly IReadOnlyCollection _languages = UnsetLanguages; - private readonly IModDependencyList _dependencies = DependencyList.EmptyDependencyList; - private readonly IDictionary _custom = new Dictionary(); /// public string Name { get; } @@ -29,14 +26,14 @@ public sealed class ModinfoData : IModinfo /// is . public IModDependencyList Dependencies { - get => _dependencies; + get; init { if (value == null) throw new ArgumentNullException(nameof(value)); - _dependencies = value.Count == 0 ? DependencyList.EmptyDependencyList : value; + field = value.Count == 0 ? DependencyList.EmptyDependencyList : value; } - } + } = DependencyList.EmptyDependencyList; /// public string? Summary { get; init; } @@ -48,9 +45,9 @@ public IModDependencyList Dependencies /// is . public IDictionary Custom { - get => _custom; - init => _custom = value ?? throw new ArgumentNullException(nameof(value)); - } + get; + init => field = value ?? throw new ArgumentNullException(nameof(value)); + } = new Dictionary(); /// public ISteamData? SteamData { get; init; } @@ -59,14 +56,14 @@ public IDictionary Custom /// is . public IReadOnlyCollection Languages { - get => _languages; + get; init { if (value == null) throw new ArgumentNullException(nameof(value)); - _languages = value.Count == 0 ? UnsetLanguages : value; + field = value.Count == 0 ? UnsetLanguages : value; } - } + } = UnsetLanguages; /// public bool LanguagesExplicitlySet => !ReferenceEquals(Languages, UnsetLanguages); diff --git a/src/EawModinfo/Utilities/DependencyListTypeConverter.cs b/src/EawModinfo/Utilities/DependencyListTypeConverter.cs index ce97073..1008d80 100644 --- a/src/EawModinfo/Utilities/DependencyListTypeConverter.cs +++ b/src/EawModinfo/Utilities/DependencyListTypeConverter.cs @@ -7,7 +7,7 @@ namespace AET.Modinfo.Utilities; internal class DependencyListTypeConverter : JsonConverter { - public override IModDependencyList? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + public override IModDependencyList Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { return JsonDependencyListTypeConverter.ReadInternal(ref reader, typeToConvert, options); } diff --git a/src/EawModinfo/Utilities/JsonDependencyListTypeConverter.cs b/src/EawModinfo/Utilities/JsonDependencyListTypeConverter.cs index 2b9de7e..03d350b 100644 --- a/src/EawModinfo/Utilities/JsonDependencyListTypeConverter.cs +++ b/src/EawModinfo/Utilities/JsonDependencyListTypeConverter.cs @@ -9,7 +9,7 @@ namespace AET.Modinfo.Utilities; internal class JsonDependencyListTypeConverter : JsonConverter { - public override JsonDependencyList? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + public override JsonDependencyList Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { return ReadInternal(ref reader, typeToConvert, options); } diff --git a/src/EawModinfo/Utilities/ParseUtility.cs b/src/EawModinfo/Utilities/ParseUtility.cs index 5290bd0..49db131 100644 --- a/src/EawModinfo/Utilities/ParseUtility.cs +++ b/src/EawModinfo/Utilities/ParseUtility.cs @@ -2,7 +2,6 @@ using System.IO; using System.Linq; using System.Text.Json; -using System.Text.Json.Nodes; using System.Text.Json.Serialization; using System.Text.Json.Serialization.Metadata; using AET.Modinfo.Model.Json; @@ -66,9 +65,9 @@ bool ShouldSerializeModinfoData(object _, object? value) public static T Parse(Stream dataStream) { try - { - var jsonNode = JsonNode.Parse(dataStream, null, DocumentOptions); - var result = ParseCore(jsonNode); + { + var element = JsonDocument.Parse(dataStream, DocumentOptions).RootElement; + var result = ParseCore(element); if (result is null) throw new ModinfoParseException($"Unable to parse input from stream to {typeof(T).Name}. Unknown Error!"); @@ -84,8 +83,8 @@ public static T Parse(string data) { try { - var jsonNode = JsonNode.Parse(data, null, DocumentOptions); - var parseResult = ParseCore(jsonNode); + var element = JsonDocument.Parse(data, DocumentOptions).RootElement; + var parseResult = ParseCore(element); if (parseResult is null) throw new ModinfoParseException($"Unable to parse input '{data}' to {typeof(T).Name}. Unknown Error!"); return parseResult; @@ -96,11 +95,8 @@ public static T Parse(string data) } } - public static T? ParseCore(JsonNode? jsonData) + public static T? ParseCore(JsonElement jsonData) { - if (jsonData == null) - throw new ModinfoParseException("Unable to parse input to JSON Node"); - ModInfoJsonSchema.Evaluate(jsonData); return jsonData.Deserialize(SerializerOptions); } diff --git a/src/EawModinfo/Utilities/SteamDataTypeConverter.cs b/src/EawModinfo/Utilities/SteamDataTypeConverter.cs index de0f6cb..f6210c9 100644 --- a/src/EawModinfo/Utilities/SteamDataTypeConverter.cs +++ b/src/EawModinfo/Utilities/SteamDataTypeConverter.cs @@ -14,7 +14,7 @@ public override bool CanConvert(Type objectType) return true; } - public override ISteamData? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + public override ISteamData Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { return new SteamData(JsonSerializer.Deserialize(ref reader, options)!); } From d4a5dc71ba94de227df62012f2690ebe4d8a197d Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sat, 13 Dec 2025 12:41:09 +0100 Subject: [PATCH 21/60] update version --- version.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.json b/version.json index 82b6f28..0a16884 100644 --- a/version.json +++ b/version.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "7.0", + "version": "8.0", "publicReleaseRefSpec": [ "^refs/heads/master$" ], From e61cce277a1e6d29de15a7759b398805a5238589 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Dec 2025 10:57:24 +0100 Subject: [PATCH 22/60] Bump the actions-deps group with 2 updates (#297) Bumps the actions-deps group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact). Updates `actions/upload-artifact` from 5 to 6 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v5...v6) Updates `actions/download-artifact` from 6 to 7 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v6...v7) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: actions/download-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c486296..fabe067 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,7 +26,7 @@ jobs: - name: Create packages run: dotnet pack --configuration Release --output ./packages - name: Upload a Build Artifact - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: NuGet packages path: packages/*.* @@ -44,7 +44,7 @@ jobs: fetch-depth: 0 - name: Setup .NET uses: actions/setup-dotnet@v5 - - uses: actions/download-artifact@v6 + - uses: actions/download-artifact@v7 with: name: NuGet packages path: packages From c9e187896b6c1244ffa82e8c60027706ba86fb68 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 20 Dec 2025 00:46:12 +0100 Subject: [PATCH 23/60] Bump the all-deps group with 1 update (#298) Bumps JsonSchema.Net from 8.0.3 to 8.0.4 --- updated-dependencies: - dependency-name: JsonSchema.Net dependency-version: 8.0.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo/EawModinfo.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 5b06bfe..31a5d30 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -40,7 +40,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive From 6192eeb47a3cf8508ce2c54ab6222c964ca7955c Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Fri, 16 Jan 2026 11:37:45 +0100 Subject: [PATCH 24/60] update versions and license year --- Directory.Build.props | 5 ++--- LICENSE | 2 +- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 4 ++-- src/EawModinfo/EawModinfo.csproj | 8 ++++---- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index e0cce4f..bfdb784 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -2,7 +2,7 @@ EaW Modinfo - Copyright © 2025 Alamo Engine Tools and contributors. All rights reserved. + Copyright © 2026 Alamo Engine Tools and contributors. All rights reserved. Alamo Engine Tools and Contributors Alamo Engine Tools petroglyph, alamo, glyphx, foc, eaw @@ -24,8 +24,7 @@ 3.9.50 - - runtime; build; native; contentfiles; analyzers; buildtransitive + all diff --git a/LICENSE b/LICENSE index 10fdbec..23fe869 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2025 Alamo Engine Tools +Copyright (c) 2026 Alamo Engine Tools Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index dc94741..4992b64 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -1,4 +1,4 @@ - + AET.Modinfo.Tests @@ -19,7 +19,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + all diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 31a5d30..46d652b 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -1,4 +1,4 @@ - + AlamoEngineTools.Modinfo @@ -40,7 +40,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -51,11 +51,11 @@ - + - + From 0b5e8ead3557806bb933299e3a1928d76ecac6aa Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sun, 7 Dec 2025 19:06:03 +0100 Subject: [PATCH 25/60] delete --- .../Spec/ModInfoFinderCollection.cs | 56 ------------------- 1 file changed, 56 deletions(-) delete mode 100644 src/EawModinfo/Spec/ModInfoFinderCollection.cs diff --git a/src/EawModinfo/Spec/ModInfoFinderCollection.cs b/src/EawModinfo/Spec/ModInfoFinderCollection.cs deleted file mode 100644 index 06e6214..0000000 --- a/src/EawModinfo/Spec/ModInfoFinderCollection.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; -using System.IO.Abstractions; -using System.Linq; -using AET.Modinfo.File; - -namespace AET.Modinfo.Spec; - -/// -/// Represents the result when a modinfo file query was performed. -/// -public sealed class ModinfoFinderCollection -{ - /// - /// Returns if this collection does contain a main modinfo file; otherwise. - /// - [MemberNotNullWhen(true, nameof(MainModinfo))] - public bool HasMainModinfoFile => MainModinfo != null; - - /// - /// Returns if this collection does contain a variant modinfo files; otherwise. - /// - public bool HasVariantModinfoFiles => Variants.Any(); - - /// - /// Gets the main modinfo file or if no main modinfo file was found. - /// - public MainModinfoFile? MainModinfo { get; } - - /// - /// Gets a collection of found variant modinfo file. - /// - public IReadOnlyCollection Variants { get; } - - /// - /// Gets the directory where the files were searched. - /// - public IDirectoryInfo Directory { get; } - - /// - /// Initializes a new instance of the of the specified directory and found modinfo files. - /// - /// The directory that was searched. - /// The found main modinfo file or . - /// A collection of variant modinfo files. - /// or is . - public ModinfoFinderCollection(IDirectoryInfo directory, MainModinfoFile? mainModinfo, IEnumerable variants) - { - if (variants == null) - throw new ArgumentNullException(nameof(variants)); - Directory = directory ?? throw new ArgumentNullException(nameof(directory)); - MainModinfo = mainModinfo; - Variants = variants.ToList(); - } -} \ No newline at end of file From 2e926c49d842f72e1ffc3465e16b78a7f9ca2ebf Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sun, 7 Dec 2025 19:07:19 +0100 Subject: [PATCH 26/60] add --- .../Spec/ModInfoFinderCollection.cs | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/EawModinfo/Spec/ModInfoFinderCollection.cs diff --git a/src/EawModinfo/Spec/ModInfoFinderCollection.cs b/src/EawModinfo/Spec/ModInfoFinderCollection.cs new file mode 100644 index 0000000..06e6214 --- /dev/null +++ b/src/EawModinfo/Spec/ModInfoFinderCollection.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.IO.Abstractions; +using System.Linq; +using AET.Modinfo.File; + +namespace AET.Modinfo.Spec; + +/// +/// Represents the result when a modinfo file query was performed. +/// +public sealed class ModinfoFinderCollection +{ + /// + /// Returns if this collection does contain a main modinfo file; otherwise. + /// + [MemberNotNullWhen(true, nameof(MainModinfo))] + public bool HasMainModinfoFile => MainModinfo != null; + + /// + /// Returns if this collection does contain a variant modinfo files; otherwise. + /// + public bool HasVariantModinfoFiles => Variants.Any(); + + /// + /// Gets the main modinfo file or if no main modinfo file was found. + /// + public MainModinfoFile? MainModinfo { get; } + + /// + /// Gets a collection of found variant modinfo file. + /// + public IReadOnlyCollection Variants { get; } + + /// + /// Gets the directory where the files were searched. + /// + public IDirectoryInfo Directory { get; } + + /// + /// Initializes a new instance of the of the specified directory and found modinfo files. + /// + /// The directory that was searched. + /// The found main modinfo file or . + /// A collection of variant modinfo files. + /// or is . + public ModinfoFinderCollection(IDirectoryInfo directory, MainModinfoFile? mainModinfo, IEnumerable variants) + { + if (variants == null) + throw new ArgumentNullException(nameof(variants)); + Directory = directory ?? throw new ArgumentNullException(nameof(directory)); + MainModinfo = mainModinfo; + Variants = variants.ToList(); + } +} \ No newline at end of file From 0375e7df36ce4e404ae9607e80c69a244432b0ea Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sat, 13 Dec 2025 12:37:00 +0100 Subject: [PATCH 27/60] Update deps (#295) * start updating deps * update json lib * resolve some warnings * enable test --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index dc94741..26694cc 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -1,4 +1,4 @@ - + AET.Modinfo.Tests From 3c7b2f165d1e69e87b8d694d02d97f27d4108418 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Dec 2025 10:57:24 +0100 Subject: [PATCH 28/60] Bump the actions-deps group with 2 updates (#297) Bumps the actions-deps group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact). Updates `actions/upload-artifact` from 5 to 6 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v5...v6) Updates `actions/download-artifact` from 6 to 7 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v6...v7) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: actions/download-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c486296..fabe067 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,7 +26,7 @@ jobs: - name: Create packages run: dotnet pack --configuration Release --output ./packages - name: Upload a Build Artifact - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: NuGet packages path: packages/*.* @@ -44,7 +44,7 @@ jobs: fetch-depth: 0 - name: Setup .NET uses: actions/setup-dotnet@v5 - - uses: actions/download-artifact@v6 + - uses: actions/download-artifact@v7 with: name: NuGet packages path: packages From 786e8deb64b0b21ddd8868606dda633296d5e561 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 20 Dec 2025 00:46:12 +0100 Subject: [PATCH 29/60] Bump the all-deps group with 1 update (#298) Bumps JsonSchema.Net from 8.0.3 to 8.0.4 --- updated-dependencies: - dependency-name: JsonSchema.Net dependency-version: 8.0.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo/EawModinfo.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 5b06bfe..31a5d30 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -40,7 +40,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive From fbfe5d83e5ccb0dd339ad7385963b410a5c738f2 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Fri, 16 Jan 2026 11:37:45 +0100 Subject: [PATCH 30/60] update versions and license year --- Directory.Build.props | 5 ++--- LICENSE | 2 +- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 2 +- src/EawModinfo/EawModinfo.csproj | 8 ++++---- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index e0cce4f..bfdb784 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -2,7 +2,7 @@ EaW Modinfo - Copyright © 2025 Alamo Engine Tools and contributors. All rights reserved. + Copyright © 2026 Alamo Engine Tools and contributors. All rights reserved. Alamo Engine Tools and Contributors Alamo Engine Tools petroglyph, alamo, glyphx, foc, eaw @@ -24,8 +24,7 @@ 3.9.50 - - runtime; build; native; contentfiles; analyzers; buildtransitive + all diff --git a/LICENSE b/LICENSE index 10fdbec..23fe869 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2025 Alamo Engine Tools +Copyright (c) 2026 Alamo Engine Tools Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index 26694cc..4992b64 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -19,7 +19,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + all diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 31a5d30..46d652b 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -1,4 +1,4 @@ - + AlamoEngineTools.Modinfo @@ -40,7 +40,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -51,11 +51,11 @@ - + - + From 7a343e9aeead5235c547661074fd44631c645723 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sun, 7 Dec 2025 19:06:03 +0100 Subject: [PATCH 31/60] delete --- .../Spec/ModInfoFinderCollection.cs | 56 ------------------- 1 file changed, 56 deletions(-) delete mode 100644 src/EawModinfo/Spec/ModInfoFinderCollection.cs diff --git a/src/EawModinfo/Spec/ModInfoFinderCollection.cs b/src/EawModinfo/Spec/ModInfoFinderCollection.cs deleted file mode 100644 index 06e6214..0000000 --- a/src/EawModinfo/Spec/ModInfoFinderCollection.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; -using System.IO.Abstractions; -using System.Linq; -using AET.Modinfo.File; - -namespace AET.Modinfo.Spec; - -/// -/// Represents the result when a modinfo file query was performed. -/// -public sealed class ModinfoFinderCollection -{ - /// - /// Returns if this collection does contain a main modinfo file; otherwise. - /// - [MemberNotNullWhen(true, nameof(MainModinfo))] - public bool HasMainModinfoFile => MainModinfo != null; - - /// - /// Returns if this collection does contain a variant modinfo files; otherwise. - /// - public bool HasVariantModinfoFiles => Variants.Any(); - - /// - /// Gets the main modinfo file or if no main modinfo file was found. - /// - public MainModinfoFile? MainModinfo { get; } - - /// - /// Gets a collection of found variant modinfo file. - /// - public IReadOnlyCollection Variants { get; } - - /// - /// Gets the directory where the files were searched. - /// - public IDirectoryInfo Directory { get; } - - /// - /// Initializes a new instance of the of the specified directory and found modinfo files. - /// - /// The directory that was searched. - /// The found main modinfo file or . - /// A collection of variant modinfo files. - /// or is . - public ModinfoFinderCollection(IDirectoryInfo directory, MainModinfoFile? mainModinfo, IEnumerable variants) - { - if (variants == null) - throw new ArgumentNullException(nameof(variants)); - Directory = directory ?? throw new ArgumentNullException(nameof(directory)); - MainModinfo = mainModinfo; - Variants = variants.ToList(); - } -} \ No newline at end of file From 998961fd4e6d0d92b0d5d5062127107549e12a74 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sun, 7 Dec 2025 19:07:19 +0100 Subject: [PATCH 32/60] add --- .../Spec/ModInfoFinderCollection.cs | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/EawModinfo/Spec/ModInfoFinderCollection.cs diff --git a/src/EawModinfo/Spec/ModInfoFinderCollection.cs b/src/EawModinfo/Spec/ModInfoFinderCollection.cs new file mode 100644 index 0000000..06e6214 --- /dev/null +++ b/src/EawModinfo/Spec/ModInfoFinderCollection.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.IO.Abstractions; +using System.Linq; +using AET.Modinfo.File; + +namespace AET.Modinfo.Spec; + +/// +/// Represents the result when a modinfo file query was performed. +/// +public sealed class ModinfoFinderCollection +{ + /// + /// Returns if this collection does contain a main modinfo file; otherwise. + /// + [MemberNotNullWhen(true, nameof(MainModinfo))] + public bool HasMainModinfoFile => MainModinfo != null; + + /// + /// Returns if this collection does contain a variant modinfo files; otherwise. + /// + public bool HasVariantModinfoFiles => Variants.Any(); + + /// + /// Gets the main modinfo file or if no main modinfo file was found. + /// + public MainModinfoFile? MainModinfo { get; } + + /// + /// Gets a collection of found variant modinfo file. + /// + public IReadOnlyCollection Variants { get; } + + /// + /// Gets the directory where the files were searched. + /// + public IDirectoryInfo Directory { get; } + + /// + /// Initializes a new instance of the of the specified directory and found modinfo files. + /// + /// The directory that was searched. + /// The found main modinfo file or . + /// A collection of variant modinfo files. + /// or is . + public ModinfoFinderCollection(IDirectoryInfo directory, MainModinfoFile? mainModinfo, IEnumerable variants) + { + if (variants == null) + throw new ArgumentNullException(nameof(variants)); + Directory = directory ?? throw new ArgumentNullException(nameof(directory)); + MainModinfo = mainModinfo; + Variants = variants.ToList(); + } +} \ No newline at end of file From 086d63e6f217b812ceabe3253ac703cf8685ecb8 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sat, 13 Dec 2025 12:37:00 +0100 Subject: [PATCH 33/60] Update deps (#295) * start updating deps * update json lib * resolve some warnings * enable test --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index dc94741..26694cc 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -1,4 +1,4 @@ - + AET.Modinfo.Tests From 98e63fa2a05840681f18e5dbc9f88261096c50fd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Dec 2025 10:57:24 +0100 Subject: [PATCH 34/60] Bump the actions-deps group with 2 updates (#297) Bumps the actions-deps group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact). Updates `actions/upload-artifact` from 5 to 6 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v5...v6) Updates `actions/download-artifact` from 6 to 7 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v6...v7) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: actions/download-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c486296..fabe067 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,7 +26,7 @@ jobs: - name: Create packages run: dotnet pack --configuration Release --output ./packages - name: Upload a Build Artifact - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: NuGet packages path: packages/*.* @@ -44,7 +44,7 @@ jobs: fetch-depth: 0 - name: Setup .NET uses: actions/setup-dotnet@v5 - - uses: actions/download-artifact@v6 + - uses: actions/download-artifact@v7 with: name: NuGet packages path: packages From ec584c9a421a9223c9c9dd19ebc7ed2d1746e6fd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 20 Dec 2025 00:46:12 +0100 Subject: [PATCH 35/60] Bump the all-deps group with 1 update (#298) Bumps JsonSchema.Net from 8.0.3 to 8.0.4 --- updated-dependencies: - dependency-name: JsonSchema.Net dependency-version: 8.0.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo/EawModinfo.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 5b06bfe..31a5d30 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -40,7 +40,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive From 6f80e3cdb8c9fc34efd0154267fe90391c2a1990 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Fri, 16 Jan 2026 11:37:45 +0100 Subject: [PATCH 36/60] update versions and license year --- Directory.Build.props | 5 ++--- LICENSE | 2 +- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 2 +- src/EawModinfo/EawModinfo.csproj | 8 ++++---- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index e0cce4f..bfdb784 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -2,7 +2,7 @@ EaW Modinfo - Copyright © 2025 Alamo Engine Tools and contributors. All rights reserved. + Copyright © 2026 Alamo Engine Tools and contributors. All rights reserved. Alamo Engine Tools and Contributors Alamo Engine Tools petroglyph, alamo, glyphx, foc, eaw @@ -24,8 +24,7 @@ 3.9.50 - - runtime; build; native; contentfiles; analyzers; buildtransitive + all diff --git a/LICENSE b/LICENSE index 10fdbec..23fe869 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2025 Alamo Engine Tools +Copyright (c) 2026 Alamo Engine Tools Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index 26694cc..4992b64 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -19,7 +19,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + all diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 31a5d30..46d652b 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -1,4 +1,4 @@ - + AlamoEngineTools.Modinfo @@ -40,7 +40,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -51,11 +51,11 @@ - + - + From 7d69b9d7118fd3332aa940b6587bf635f2095a26 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Feb 2025 17:22:22 +0100 Subject: [PATCH 37/60] Bump github/codeql-action from 2 to 3 in the actions-deps group (#241) Bumps the actions-deps group with 1 update: [github/codeql-action](https://github.com/github/codeql-action). Updates `github/codeql-action` from 2 to 3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v2...v3) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 0fd7b22..aa5a8af 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -14,18 +14,18 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup .NET Core SDK - uses: actions/setup-dotnet@v5 + uses: actions/setup-dotnet@v4 with: dotnet-version: '8.0.x' - name: Initialize CodeQL - uses: github/codeql-action/init@v4 + uses: github/codeql-action/init@v3 with: languages: 'csharp' - name: Autobuild - uses: github/codeql-action/autobuild@v4 + uses: github/codeql-action/autobuild@v3 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v4 + uses: github/codeql-action/analyze@v3 From be2a9705156864ad48715f692380215f57cad666 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Mar 2025 15:25:52 +0100 Subject: [PATCH 38/60] Bump the all-deps group across 1 directory with 3 updates (#244) Bumps the all-deps group with 3 updates in the / directory: [JsonSchema.Net](https://github.com/json-everything/json-everything), [System.Text.Json](https://github.com/dotnet/runtime) and [Testably.Abstractions.Testing](https://github.com/Testably/Testably.Abstractions). Updates `JsonSchema.Net` from 7.3.3 to 7.3.4 - [Commits](https://github.com/json-everything/json-everything/commits) Updates `System.Text.Json` from 9.0.2 to 9.0.0 - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/compare/v9.0.2...v9.0.0) Updates `System.Text.Json` from 9.0.2 to 9.0.3 - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/compare/v9.0.2...v9.0.0) Updates `Testably.Abstractions.Testing` from 4.0.0 to 4.0.1 - [Release notes](https://github.com/Testably/Testably.Abstractions/releases) - [Commits](https://github.com/Testably/Testably.Abstractions/compare/v4.0.0...v4.0.1) --- updated-dependencies: - dependency-name: JsonSchema.Net dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps - dependency-name: System.Text.Json dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps - dependency-name: System.Text.Json dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps - dependency-name: Testably.Abstractions.Testing dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 14 +++++++------- src/EawModinfo/EawModinfo.csproj | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index 4992b64..c37878e 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -1,10 +1,10 @@ - + AET.Modinfo.Tests AET.Modinfo.Tests - net10.0 - $(TargetFrameworks);net481 + net8.0 + $(TargetFrameworks);net48 false true @@ -14,14 +14,14 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 46d652b..bd293a9 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -1,4 +1,4 @@ - + AlamoEngineTools.Modinfo @@ -40,7 +40,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -50,12 +50,12 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - - + + - + From 3573628aebb8c19bce9694f2deb5a195f7472a2f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 12 Apr 2025 11:11:24 +0200 Subject: [PATCH 39/60] Bump System.Text.Json from 9.0.3 to 9.0.4 in the all-deps group (#245) Bumps the all-deps group with 1 update: [System.Text.Json](https://github.com/dotnet/runtime). Updates `System.Text.Json` from 9.0.3 to 9.0.4 - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/compare/v9.0.3...v9.0.4) --- updated-dependencies: - dependency-name: System.Text.Json dependency-version: 9.0.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo/EawModinfo.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index bd293a9..17b5992 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -51,7 +51,7 @@ - + From 5afe5721d0433f154d4847933cff1258b4d959d8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 May 2025 19:50:00 +0200 Subject: [PATCH 40/60] Bump xunit.runner.visualstudio from 3.0.2 to 3.1.0 in the all-deps group (#246) Bumps the all-deps group with 1 update: [xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit). Updates `xunit.runner.visualstudio` from 3.0.2 to 3.1.0 - [Release notes](https://github.com/xunit/visualstudio.xunit/releases) - [Commits](https://github.com/xunit/visualstudio.xunit/compare/3.0.2...3.1.0) --- updated-dependencies: - dependency-name: xunit.runner.visualstudio dependency-version: 3.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index c37878e..094f00f 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -21,7 +21,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive From ad6b8fb20e943d72c5446fb8178144fb326d7328 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 09:29:07 +0200 Subject: [PATCH 41/60] Bump the all-deps group with 2 updates (#249) Bumps Microsoft.NET.Test.Sdk from 17.13.0 to 17.14.1 Bumps System.Text.Json from 9.0.4 to 9.0.5 --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 17.14.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-deps - dependency-name: System.Text.Json dependency-version: 9.0.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 2 +- src/EawModinfo/EawModinfo.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index 094f00f..83c1683 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -18,7 +18,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 17b5992..a3bfc83 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -51,7 +51,7 @@ - + From 543dd66bced6a507900040ebff843b4c6dd3bab7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Jun 2025 11:04:29 +0200 Subject: [PATCH 42/60] Bump the all-deps group with 1 update (#251) Bumps xunit.runner.visualstudio from 3.1.0 to 3.1.1 --- updated-dependencies: - dependency-name: xunit.runner.visualstudio dependency-version: 3.1.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index 83c1683..ce7bfb8 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -21,7 +21,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive From 32234fb7f8e2d902f4a623e4498d19ee490d303d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Jun 2025 16:41:12 +0200 Subject: [PATCH 43/60] Bump the all-deps group with 1 update (#252) Bumps System.Text.Json from 9.0.5 to 9.0.6 --- updated-dependencies: - dependency-name: System.Text.Json dependency-version: 9.0.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo/EawModinfo.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index a3bfc83..3bb1304 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -51,7 +51,7 @@ - + From 3661c7d6992777728c19bc584f0f783e327af4a6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 13:10:20 +0200 Subject: [PATCH 44/60] Bump the all-deps group with 1 update (#253) Bumps System.Text.Json from 9.0.6 to 9.0.7 --- updated-dependencies: - dependency-name: System.Text.Json dependency-version: 9.0.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo/EawModinfo.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 3bb1304..2e6f27c 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -51,7 +51,7 @@ - + From e8fbbe59eebe4390ee2efbd27fd99f49414aa823 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sat, 16 Aug 2025 19:22:30 +0200 Subject: [PATCH 45/60] update deps --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 4 ++-- src/EawModinfo/EawModinfo.csproj | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index ce7bfb8..1ebb918 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -19,9 +19,9 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 2e6f27c..e8b88c9 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -40,7 +40,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -51,7 +51,7 @@ - + From ee805034146e16321fcaad49a452ec027e1f58c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 17 Aug 2025 10:36:41 +0200 Subject: [PATCH 46/60] Bump the actions-deps group across 1 directory with 2 updates (#258) Bumps the actions-deps group with 2 updates in the / directory: [actions/checkout](https://github.com/actions/checkout) and [actions/download-artifact](https://github.com/actions/download-artifact). Updates `actions/checkout` from 4 to 5 - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) Updates `actions/download-artifact` from 4 to 5 - [Commits](https://github.com/actions/download-artifact/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: actions/download-artifact dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/release.yml | 12 ++++++------ .github/workflows/test.yml | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index aa5a8af..41310cf 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -14,7 +14,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Setup .NET Core SDK diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fabe067..996a797 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,15 +18,15 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v6 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Setup .NET - uses: actions/setup-dotnet@v5 + uses: actions/setup-dotnet@v4 - name: Create packages run: dotnet pack --configuration Release --output ./packages - name: Upload a Build Artifact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v4 with: name: NuGet packages path: packages/*.* @@ -39,12 +39,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v6 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Setup .NET - uses: actions/setup-dotnet@v5 - - uses: actions/download-artifact@v7 + uses: actions/setup-dotnet@v4 + - uses: actions/download-artifact@v5 with: name: NuGet packages path: packages diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ecb52d5..1e4f05e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,12 +18,12 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v5 with: fetch-depth: 0 - - uses: actions/setup-dotnet@v5 + - uses: actions/setup-dotnet@v4 with: - dotnet-version: '10.0.x' + dotnet-version: '8.0.x' - name: Build & Test in Release Mode run: dotnet test --configuration Release --logger "GitHubActions" \ No newline at end of file From bcfa79e3dbf77546158b4a066062fd7882017830 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:06:26 +0200 Subject: [PATCH 47/60] Bump actions/setup-dotnet from 4 to 5 in the actions-deps group (#260) Bumps the actions-deps group with 1 update: [actions/setup-dotnet](https://github.com/actions/setup-dotnet). Updates `actions/setup-dotnet` from 4 to 5 - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/release.yml | 4 ++-- .github/workflows/test.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 41310cf..58df1fc 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -18,7 +18,7 @@ jobs: with: fetch-depth: 0 - name: Setup .NET Core SDK - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 with: dotnet-version: '8.0.x' - name: Initialize CodeQL diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 996a797..1428e4b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: with: fetch-depth: 0 - name: Setup .NET - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 - name: Create packages run: dotnet pack --configuration Release --output ./packages - name: Upload a Build Artifact @@ -43,7 +43,7 @@ jobs: with: fetch-depth: 0 - name: Setup .NET - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 - uses: actions/download-artifact@v5 with: name: NuGet packages diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1e4f05e..2282a4c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ jobs: - uses: actions/checkout@v5 with: fetch-depth: 0 - - uses: actions/setup-dotnet@v4 + - uses: actions/setup-dotnet@v5 with: dotnet-version: '8.0.x' From a9b52d38c095f3e8132418d946784b4ba87aff6b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:07:19 +0200 Subject: [PATCH 48/60] Bump System.Text.Json from 9.0.8 to 9.0.9 (#263) --- updated-dependencies: - dependency-name: System.Text.Json dependency-version: 9.0.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo/EawModinfo.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index e8b88c9..51809ef 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -51,7 +51,7 @@ - + From 0512646f3c353833c431651cda3b5d3dac973e2a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 7 Dec 2025 18:41:30 +0100 Subject: [PATCH 49/60] Bump the actions-deps group across 1 directory with 4 updates (#286) Bumps the actions-deps group with 4 updates in the / directory: [actions/checkout](https://github.com/actions/checkout), [github/codeql-action](https://github.com/github/codeql-action), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact). Updates `actions/checkout` from 5 to 6 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v5...v6) Updates `github/codeql-action` from 3 to 4 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v3...v4) Updates `actions/upload-artifact` from 4 to 5 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4...v5) Updates `actions/download-artifact` from 5 to 6 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: github/codeql-action dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: actions/upload-artifact dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: actions/download-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 8 ++++---- .github/workflows/release.yml | 8 ++++---- .github/workflows/test.yml | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 58df1fc..0fd7b22 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -14,7 +14,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Setup .NET Core SDK @@ -22,10 +22,10 @@ jobs: with: dotnet-version: '8.0.x' - name: Initialize CodeQL - uses: github/codeql-action/init@v3 + uses: github/codeql-action/init@v4 with: languages: 'csharp' - name: Autobuild - uses: github/codeql-action/autobuild@v3 + uses: github/codeql-action/autobuild@v4 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 + uses: github/codeql-action/analyze@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1428e4b..c486296 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Setup .NET @@ -26,7 +26,7 @@ jobs: - name: Create packages run: dotnet pack --configuration Release --output ./packages - name: Upload a Build Artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: NuGet packages path: packages/*.* @@ -39,12 +39,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Setup .NET uses: actions/setup-dotnet@v5 - - uses: actions/download-artifact@v5 + - uses: actions/download-artifact@v6 with: name: NuGet packages path: packages diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2282a4c..2f70750 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: fetch-depth: 0 - uses: actions/setup-dotnet@v5 From 2d7edad172b02639be258450fbd1a5f65c0958ce Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sun, 7 Dec 2025 18:43:11 +0100 Subject: [PATCH 50/60] update deps --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 8 ++++---- src/EawModinfo/EawModinfo.csproj | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index 1ebb918..b147461 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -14,14 +14,14 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 51809ef..19bb707 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -50,8 +50,8 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - - + + From 396d8cf800076cb7dd131d6decf057dbeb3c654d Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sun, 7 Dec 2025 18:48:38 +0100 Subject: [PATCH 51/60] update .net and migrate solution --- .github/workflows/test.yml | 2 +- EawModinfo.sln | 39 ++++++++++++++++++++ src/EawModinfo.Tests/EawModinfo.Tests.csproj | 2 +- 3 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 EawModinfo.sln diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2f70750..ecb52d5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -23,7 +23,7 @@ jobs: fetch-depth: 0 - uses: actions/setup-dotnet@v5 with: - dotnet-version: '8.0.x' + dotnet-version: '10.0.x' - name: Build & Test in Release Mode run: dotnet test --configuration Release --logger "GitHubActions" \ No newline at end of file diff --git a/EawModinfo.sln b/EawModinfo.sln new file mode 100644 index 0000000..7ad49c4 --- /dev/null +++ b/EawModinfo.sln @@ -0,0 +1,39 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 18 +VisualStudioVersion = 18.3.11222.16 d18.3 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EawModinfo", "src\EawModinfo\EawModinfo.csproj", "{733214FA-5043-46DB-B529-AC83159FA358}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{FBDA9CBA-AEE7-4170-A392-6E2E424817B4}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{7998C683-3F8A-4095-92A7-CFBA6285E560}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EawModinfo.Tests", "src\EawModinfo.Tests\EawModinfo.Tests.csproj", "{52CB3040-444C-4AA6-9E4E-89755F8A03BF}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {733214FA-5043-46DB-B529-AC83159FA358}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {733214FA-5043-46DB-B529-AC83159FA358}.Debug|Any CPU.Build.0 = Debug|Any CPU + {733214FA-5043-46DB-B529-AC83159FA358}.Release|Any CPU.ActiveCfg = Release|Any CPU + {733214FA-5043-46DB-B529-AC83159FA358}.Release|Any CPU.Build.0 = Release|Any CPU + {52CB3040-444C-4AA6-9E4E-89755F8A03BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {52CB3040-444C-4AA6-9E4E-89755F8A03BF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {52CB3040-444C-4AA6-9E4E-89755F8A03BF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {52CB3040-444C-4AA6-9E4E-89755F8A03BF}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {733214FA-5043-46DB-B529-AC83159FA358} = {FBDA9CBA-AEE7-4170-A392-6E2E424817B4} + {52CB3040-444C-4AA6-9E4E-89755F8A03BF} = {7998C683-3F8A-4095-92A7-CFBA6285E560} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {91AC9A85-3941-4D0A-8654-F078CED3321C} + EndGlobalSection +EndGlobal diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index b147461..bae23ca 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -3,7 +3,7 @@ AET.Modinfo.Tests AET.Modinfo.Tests - net8.0 + net10.0 $(TargetFrameworks);net48 false true From 42fceaf51db0e89a19a54bb4447a8adf5bc61162 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sun, 7 Dec 2025 18:49:43 +0100 Subject: [PATCH 52/60] delete --- EawModinfo.sln | 39 --------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 EawModinfo.sln diff --git a/EawModinfo.sln b/EawModinfo.sln deleted file mode 100644 index 7ad49c4..0000000 --- a/EawModinfo.sln +++ /dev/null @@ -1,39 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 18 -VisualStudioVersion = 18.3.11222.16 d18.3 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EawModinfo", "src\EawModinfo\EawModinfo.csproj", "{733214FA-5043-46DB-B529-AC83159FA358}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{FBDA9CBA-AEE7-4170-A392-6E2E424817B4}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{7998C683-3F8A-4095-92A7-CFBA6285E560}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EawModinfo.Tests", "src\EawModinfo.Tests\EawModinfo.Tests.csproj", "{52CB3040-444C-4AA6-9E4E-89755F8A03BF}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {733214FA-5043-46DB-B529-AC83159FA358}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {733214FA-5043-46DB-B529-AC83159FA358}.Debug|Any CPU.Build.0 = Debug|Any CPU - {733214FA-5043-46DB-B529-AC83159FA358}.Release|Any CPU.ActiveCfg = Release|Any CPU - {733214FA-5043-46DB-B529-AC83159FA358}.Release|Any CPU.Build.0 = Release|Any CPU - {52CB3040-444C-4AA6-9E4E-89755F8A03BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {52CB3040-444C-4AA6-9E4E-89755F8A03BF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {52CB3040-444C-4AA6-9E4E-89755F8A03BF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {52CB3040-444C-4AA6-9E4E-89755F8A03BF}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {733214FA-5043-46DB-B529-AC83159FA358} = {FBDA9CBA-AEE7-4170-A392-6E2E424817B4} - {52CB3040-444C-4AA6-9E4E-89755F8A03BF} = {7998C683-3F8A-4095-92A7-CFBA6285E560} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {91AC9A85-3941-4D0A-8654-F078CED3321C} - EndGlobalSection -EndGlobal From 36c4f12bd219770da434f37a2d5dcd6560fed43d Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sun, 7 Dec 2025 19:06:03 +0100 Subject: [PATCH 53/60] delete --- .../Spec/ModInfoFinderCollection.cs | 56 ------------------- 1 file changed, 56 deletions(-) delete mode 100644 src/EawModinfo/Spec/ModInfoFinderCollection.cs diff --git a/src/EawModinfo/Spec/ModInfoFinderCollection.cs b/src/EawModinfo/Spec/ModInfoFinderCollection.cs deleted file mode 100644 index 06e6214..0000000 --- a/src/EawModinfo/Spec/ModInfoFinderCollection.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; -using System.IO.Abstractions; -using System.Linq; -using AET.Modinfo.File; - -namespace AET.Modinfo.Spec; - -/// -/// Represents the result when a modinfo file query was performed. -/// -public sealed class ModinfoFinderCollection -{ - /// - /// Returns if this collection does contain a main modinfo file; otherwise. - /// - [MemberNotNullWhen(true, nameof(MainModinfo))] - public bool HasMainModinfoFile => MainModinfo != null; - - /// - /// Returns if this collection does contain a variant modinfo files; otherwise. - /// - public bool HasVariantModinfoFiles => Variants.Any(); - - /// - /// Gets the main modinfo file or if no main modinfo file was found. - /// - public MainModinfoFile? MainModinfo { get; } - - /// - /// Gets a collection of found variant modinfo file. - /// - public IReadOnlyCollection Variants { get; } - - /// - /// Gets the directory where the files were searched. - /// - public IDirectoryInfo Directory { get; } - - /// - /// Initializes a new instance of the of the specified directory and found modinfo files. - /// - /// The directory that was searched. - /// The found main modinfo file or . - /// A collection of variant modinfo files. - /// or is . - public ModinfoFinderCollection(IDirectoryInfo directory, MainModinfoFile? mainModinfo, IEnumerable variants) - { - if (variants == null) - throw new ArgumentNullException(nameof(variants)); - Directory = directory ?? throw new ArgumentNullException(nameof(directory)); - MainModinfo = mainModinfo; - Variants = variants.ToList(); - } -} \ No newline at end of file From b7c8c8246bb42ed86d0069fabe93f74e7547b3c1 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sun, 7 Dec 2025 19:07:19 +0100 Subject: [PATCH 54/60] add --- .../Spec/ModInfoFinderCollection.cs | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/EawModinfo/Spec/ModInfoFinderCollection.cs diff --git a/src/EawModinfo/Spec/ModInfoFinderCollection.cs b/src/EawModinfo/Spec/ModInfoFinderCollection.cs new file mode 100644 index 0000000..06e6214 --- /dev/null +++ b/src/EawModinfo/Spec/ModInfoFinderCollection.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.IO.Abstractions; +using System.Linq; +using AET.Modinfo.File; + +namespace AET.Modinfo.Spec; + +/// +/// Represents the result when a modinfo file query was performed. +/// +public sealed class ModinfoFinderCollection +{ + /// + /// Returns if this collection does contain a main modinfo file; otherwise. + /// + [MemberNotNullWhen(true, nameof(MainModinfo))] + public bool HasMainModinfoFile => MainModinfo != null; + + /// + /// Returns if this collection does contain a variant modinfo files; otherwise. + /// + public bool HasVariantModinfoFiles => Variants.Any(); + + /// + /// Gets the main modinfo file or if no main modinfo file was found. + /// + public MainModinfoFile? MainModinfo { get; } + + /// + /// Gets a collection of found variant modinfo file. + /// + public IReadOnlyCollection Variants { get; } + + /// + /// Gets the directory where the files were searched. + /// + public IDirectoryInfo Directory { get; } + + /// + /// Initializes a new instance of the of the specified directory and found modinfo files. + /// + /// The directory that was searched. + /// The found main modinfo file or . + /// A collection of variant modinfo files. + /// or is . + public ModinfoFinderCollection(IDirectoryInfo directory, MainModinfoFile? mainModinfo, IEnumerable variants) + { + if (variants == null) + throw new ArgumentNullException(nameof(variants)); + Directory = directory ?? throw new ArgumentNullException(nameof(directory)); + MainModinfo = mainModinfo; + Variants = variants.ToList(); + } +} \ No newline at end of file From 5dbfa47e62f66913d896ffb8ea071541da1e2531 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Sat, 13 Dec 2025 12:37:00 +0100 Subject: [PATCH 55/60] Update deps (#295) * start updating deps * update json lib * resolve some warnings * enable test --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 4 ++-- src/EawModinfo/EawModinfo.csproj | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index bae23ca..26694cc 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -1,10 +1,10 @@ - + AET.Modinfo.Tests AET.Modinfo.Tests net10.0 - $(TargetFrameworks);net48 + $(TargetFrameworks);net481 false true diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 19bb707..5b06bfe 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -40,7 +40,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -51,7 +51,7 @@ - + From 12d9c2c27b875e8f9d5f432f8a18b9b52db5e150 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Dec 2025 10:57:24 +0100 Subject: [PATCH 56/60] Bump the actions-deps group with 2 updates (#297) Bumps the actions-deps group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact). Updates `actions/upload-artifact` from 5 to 6 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v5...v6) Updates `actions/download-artifact` from 6 to 7 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v6...v7) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: actions/download-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c486296..fabe067 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,7 +26,7 @@ jobs: - name: Create packages run: dotnet pack --configuration Release --output ./packages - name: Upload a Build Artifact - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: NuGet packages path: packages/*.* @@ -44,7 +44,7 @@ jobs: fetch-depth: 0 - name: Setup .NET uses: actions/setup-dotnet@v5 - - uses: actions/download-artifact@v6 + - uses: actions/download-artifact@v7 with: name: NuGet packages path: packages From f5bb743939df02c7f28fb30adfcae5210a3b01ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 20 Dec 2025 00:46:12 +0100 Subject: [PATCH 57/60] Bump the all-deps group with 1 update (#298) Bumps JsonSchema.Net from 8.0.3 to 8.0.4 --- updated-dependencies: - dependency-name: JsonSchema.Net dependency-version: 8.0.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo/EawModinfo.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 5b06bfe..31a5d30 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -40,7 +40,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive From d2c56c77450db9adf59ad6b770e0271c5d8df5a3 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Fri, 16 Jan 2026 11:37:45 +0100 Subject: [PATCH 58/60] update versions and license year --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 2 +- src/EawModinfo/EawModinfo.csproj | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index 26694cc..4992b64 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -19,7 +19,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + all diff --git a/src/EawModinfo/EawModinfo.csproj b/src/EawModinfo/EawModinfo.csproj index 31a5d30..46d652b 100644 --- a/src/EawModinfo/EawModinfo.csproj +++ b/src/EawModinfo/EawModinfo.csproj @@ -1,4 +1,4 @@ - + AlamoEngineTools.Modinfo @@ -40,7 +40,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -51,11 +51,11 @@ - + - + From c844f4bc01c6f37fa3f1b3fb988e23bea0f2bc97 Mon Sep 17 00:00:00 2001 From: AnakinRaW Date: Fri, 16 Jan 2026 12:25:47 +0100 Subject: [PATCH 59/60] weekly deps check --- .github/dependabot.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index b43ddf6..8c2061c 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,7 +8,7 @@ updates: - package-ecosystem: "github-actions" directory: "/" schedule: - interval: "daily" + interval: "weekly" groups: actions-deps: patterns: @@ -19,7 +19,7 @@ updates: - package-ecosystem: "nuget" directory: "/" schedule: - interval: "daily" + interval: "weekly" target-branch: "develop" open-pull-requests-limit: 1 groups: From 63d6c6aeaf9dd8d716567d45dfe2e3ba0c639e6c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 24 Jan 2026 11:55:04 +0100 Subject: [PATCH 60/60] Bump the all-deps group with 1 update (#301) Bumps Testably.Abstractions.Testing from 5.0.2 to 5.0.3 --- updated-dependencies: - dependency-name: Testably.Abstractions.Testing dependency-version: 5.0.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/EawModinfo.Tests/EawModinfo.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EawModinfo.Tests/EawModinfo.Tests.csproj b/src/EawModinfo.Tests/EawModinfo.Tests.csproj index 4992b64..ab6e827 100644 --- a/src/EawModinfo.Tests/EawModinfo.Tests.csproj +++ b/src/EawModinfo.Tests/EawModinfo.Tests.csproj @@ -19,7 +19,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + all