From 1fac2fd5cb8126d2abfc998a9c3717fb7ed205ba Mon Sep 17 00:00:00 2001 From: Justin Swanson Date: Sat, 21 Dec 2024 20:42:28 -0600 Subject: [PATCH 01/11] CI update --- .github/workflows/ci-publish.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/ci-publish.yml b/.github/workflows/ci-publish.yml index 1c80713..7e852ec 100644 --- a/.github/workflows/ci-publish.yml +++ b/.github/workflows/ci-publish.yml @@ -66,6 +66,15 @@ jobs: steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Install GitVersion + uses: gittools/actions/gitversion/setup@v3.0.3 + with: + versionSpec: '6.0.5' + - name: Determine Version + id: version_step # step id used as reference for output values + uses: gittools/actions/gitversion/execute@v3.0.3 - name: Setup .NET uses: actions/setup-dotnet@v4 with: @@ -97,6 +106,13 @@ jobs: uses: actions/setup-dotnet@v4 with: dotnet-version: 9.0.* + - name: Install GitVersion + uses: gittools/actions/gitversion/setup@v3.0.3 + with: + versionSpec: '6.0.5' + - name: Determine Version + id: version_step # step id used as reference for output values + uses: gittools/actions/gitversion/execute@v3.0.3 - name: Install dependencies run: | dotnet clean Spriggit.sln -c Release && dotnet nuget locals all --clear From bd66477cd369d5c07c48a752ff549fc8a29e3bab Mon Sep 17 00:00:00 2001 From: Justin Swanson Date: Sat, 21 Dec 2024 20:43:03 -0600 Subject: [PATCH 02/11] CI test --- .github/workflows/ci-publish.yml | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/.github/workflows/ci-publish.yml b/.github/workflows/ci-publish.yml index 7e852ec..66eacbb 100644 --- a/.github/workflows/ci-publish.yml +++ b/.github/workflows/ci-publish.yml @@ -168,22 +168,4 @@ jobs: with: file: SpriggitCLI.zip repo_token: ${{ secrets.GITHUB_TOKEN }} - tag: ${{ github.event.release.tag_name }} - - name: Publish to Nuget.org - run: dotnet nuget push **/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --no-symbols - - update-nightly: - needs: [build-test-push, activity-short-circuit] - if: needs.activity-short-circuit.outputs.same_sha == 'false' - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Reset nightly to release - run: | - head_sha=$(git rev-parse --verify HEAD) - echo "head_sha=$head_sha" - git checkout nightly - git reset --hard $head_sha - git push \ No newline at end of file + tag: ${{ github.event.release.tag_name }} \ No newline at end of file From d6ded7ddba85837cb51f5bd7d1554205c9ee3f21 Mon Sep 17 00:00:00 2001 From: Justin Swanson Date: Sat, 21 Dec 2024 20:58:31 -0600 Subject: [PATCH 03/11] CI update --- .github/workflows/ci-publish.yml | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-publish.yml b/.github/workflows/ci-publish.yml index 66eacbb..f2ec42a 100644 --- a/.github/workflows/ci-publish.yml +++ b/.github/workflows/ci-publish.yml @@ -139,15 +139,15 @@ jobs: - name: Archive GUI if: ${{ success() && !github.event.release.prerelease && github.event_name == 'release' }} run: | - powershell Compress-Archive Spriggit.UI/bin/Release/net8.0-windows/win-x64/publish/* Spriggit.zip + powershell Compress-Archive Spriggit.UI/bin/Release/net9.0-windows/win-x64/publish/* Spriggit.zip - name: Archive Linux CLI if: ${{ success() && !github.event.release.prerelease && github.event_name == 'release' }} run: | - powershell Compress-Archive Spriggit.CLI/bin/Release/net8.0/linux-x64/publish/* SpriggitLinuxCLI.zip + powershell Compress-Archive Spriggit.CLI/bin/Release/net9.0/linux-x64/publish/* SpriggitLinuxCLI.zip - name: Archive CLI if: ${{ success() && !github.event.release.prerelease && github.event_name == 'release' }} run: | - powershell Compress-Archive Spriggit.CLI/bin/Release/net8.0/win-x64/publish/* SpriggitCLI.zip + powershell Compress-Archive Spriggit.CLI/bin/Release/net9.0/win-x64/publish/* SpriggitCLI.zip - name: Publish GUI to Github if: ${{ success() && !github.event.release.prerelease && github.event_name == 'release' }} uses: svenstaro/upload-release-action@v2 @@ -168,4 +168,22 @@ jobs: with: file: SpriggitCLI.zip repo_token: ${{ secrets.GITHUB_TOKEN }} - tag: ${{ github.event.release.tag_name }} \ No newline at end of file + tag: ${{ github.event.release.tag_name }} + - name: Publish to Nuget.org + run: dotnet nuget push **/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --no-symbols + + update-nightly: + needs: [build-test-push, activity-short-circuit] + if: needs.activity-short-circuit.outputs.same_sha == 'false' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Reset nightly to release + run: | + head_sha=$(git rev-parse --verify HEAD) + echo "head_sha=$head_sha" + git checkout nightly + git reset --hard $head_sha + git push \ No newline at end of file From 05c6fd5d1f7d1d4a380413b25689e6275b3c602d Mon Sep 17 00:00:00 2001 From: Justin Swanson Date: Sat, 21 Dec 2024 21:29:29 -0600 Subject: [PATCH 04/11] CI updates --- .github/workflows/ci-publish.yml | 2 +- Directory.Build.props | 1 - Spriggit.CLI.Lib/Spriggit.CLI.Lib.csproj | 4 +++ Spriggit.CLI/Spriggit.CLI.csproj | 1 + Spriggit.Core/Spriggit.Core.csproj | 4 +++ Spriggit.Engine/Spriggit.Engine.csproj | 31 ++++++++++--------- .../Spriggit.Tests.Windows.csproj | 1 + Spriggit.Tests/Spriggit.Tests.csproj | 4 ++- Spriggit.UI/Spriggit.UI.csproj | 1 + Spriggit/Spriggit.csproj | 4 +++ .../Spriggit.Json.Fallout4.csproj | 1 + .../Spriggit.Json.Oblivion.csproj | 1 + .../Spriggit.Json.Skyrim.csproj | 1 + .../Spriggit.Json.Starfield.csproj | 1 + .../Spriggit.Yaml.Fallout4.csproj | 1 + .../Spriggit.Yaml.Oblivion.csproj | 1 + .../Spriggit.Yaml.Skyrim.csproj | 1 + .../Spriggit.Yaml.Starfield.csproj | 1 + 18 files changed, 44 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci-publish.yml b/.github/workflows/ci-publish.yml index f2ec42a..d5ea6d6 100644 --- a/.github/workflows/ci-publish.yml +++ b/.github/workflows/ci-publish.yml @@ -139,7 +139,7 @@ jobs: - name: Archive GUI if: ${{ success() && !github.event.release.prerelease && github.event_name == 'release' }} run: | - powershell Compress-Archive Spriggit.UI/bin/Release/net9.0-windows/win-x64/publish/* Spriggit.zip + powershell Compress-Archive Spriggit.UI/bin/Release/net9.0/win-x64/publish/* Spriggit.zip - name: Archive Linux CLI if: ${{ success() && !github.event.release.prerelease && github.event_name == 'release' }} run: | diff --git a/Directory.Build.props b/Directory.Build.props index 3b5c610..71a267a 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -3,7 +3,6 @@ true false - net9.0 enable nullable true diff --git a/Spriggit.CLI.Lib/Spriggit.CLI.Lib.csproj b/Spriggit.CLI.Lib/Spriggit.CLI.Lib.csproj index bcf5f0b..7a748f0 100644 --- a/Spriggit.CLI.Lib/Spriggit.CLI.Lib.csproj +++ b/Spriggit.CLI.Lib/Spriggit.CLI.Lib.csproj @@ -1,5 +1,9 @@ + + net9.0 + + diff --git a/Spriggit.CLI/Spriggit.CLI.csproj b/Spriggit.CLI/Spriggit.CLI.csproj index f5240df..7e376c4 100644 --- a/Spriggit.CLI/Spriggit.CLI.csproj +++ b/Spriggit.CLI/Spriggit.CLI.csproj @@ -1,6 +1,7 @@ Exe + net9.0 diff --git a/Spriggit.Core/Spriggit.Core.csproj b/Spriggit.Core/Spriggit.Core.csproj index ebe222d..23d4ede 100644 --- a/Spriggit.Core/Spriggit.Core.csproj +++ b/Spriggit.Core/Spriggit.Core.csproj @@ -1,5 +1,9 @@ + + net9.0 + + diff --git a/Spriggit.Engine/Spriggit.Engine.csproj b/Spriggit.Engine/Spriggit.Engine.csproj index 88231a9..d89957d 100644 --- a/Spriggit.Engine/Spriggit.Engine.csproj +++ b/Spriggit.Engine/Spriggit.Engine.csproj @@ -1,16 +1,19 @@ - - - - - - - - - - - - - - + + net9.0 + + + + + + + + + + + + + + + diff --git a/Spriggit.Tests.Windows/Spriggit.Tests.Windows.csproj b/Spriggit.Tests.Windows/Spriggit.Tests.Windows.csproj index b20387d..1c5ef4f 100644 --- a/Spriggit.Tests.Windows/Spriggit.Tests.Windows.csproj +++ b/Spriggit.Tests.Windows/Spriggit.Tests.Windows.csproj @@ -1,6 +1,7 @@  + net9.0 Windows diff --git a/Spriggit.Tests/Spriggit.Tests.csproj b/Spriggit.Tests/Spriggit.Tests.csproj index b48e565..7d8fe90 100644 --- a/Spriggit.Tests/Spriggit.Tests.csproj +++ b/Spriggit.Tests/Spriggit.Tests.csproj @@ -1,5 +1,7 @@ - + + net9.0 + diff --git a/Spriggit.UI/Spriggit.UI.csproj b/Spriggit.UI/Spriggit.UI.csproj index ba55eb8..1cecd55 100644 --- a/Spriggit.UI/Spriggit.UI.csproj +++ b/Spriggit.UI/Spriggit.UI.csproj @@ -2,6 +2,7 @@ WinExe + net9.0 Windows enable true diff --git a/Spriggit/Spriggit.csproj b/Spriggit/Spriggit.csproj index ef5ad02..99f4b86 100644 --- a/Spriggit/Spriggit.csproj +++ b/Spriggit/Spriggit.csproj @@ -1,5 +1,9 @@ + + net9.0 + + diff --git a/Translation Packages/Spriggit.Json.Fallout4/Spriggit.Json.Fallout4.csproj b/Translation Packages/Spriggit.Json.Fallout4/Spriggit.Json.Fallout4.csproj index 90631fc..eaff517 100644 --- a/Translation Packages/Spriggit.Json.Fallout4/Spriggit.Json.Fallout4.csproj +++ b/Translation Packages/Spriggit.Json.Fallout4/Spriggit.Json.Fallout4.csproj @@ -3,6 +3,7 @@ exe true + net9.0 true true portable diff --git a/Translation Packages/Spriggit.Json.Oblivion/Spriggit.Json.Oblivion.csproj b/Translation Packages/Spriggit.Json.Oblivion/Spriggit.Json.Oblivion.csproj index ba5131a..5b038b9 100644 --- a/Translation Packages/Spriggit.Json.Oblivion/Spriggit.Json.Oblivion.csproj +++ b/Translation Packages/Spriggit.Json.Oblivion/Spriggit.Json.Oblivion.csproj @@ -3,6 +3,7 @@ exe true + net9.0 true true portable diff --git a/Translation Packages/Spriggit.Json.Skyrim/Spriggit.Json.Skyrim.csproj b/Translation Packages/Spriggit.Json.Skyrim/Spriggit.Json.Skyrim.csproj index d8959a3..bcc3778 100644 --- a/Translation Packages/Spriggit.Json.Skyrim/Spriggit.Json.Skyrim.csproj +++ b/Translation Packages/Spriggit.Json.Skyrim/Spriggit.Json.Skyrim.csproj @@ -3,6 +3,7 @@ exe true + net9.0 true true portable diff --git a/Translation Packages/Spriggit.Json.Starfield/Spriggit.Json.Starfield.csproj b/Translation Packages/Spriggit.Json.Starfield/Spriggit.Json.Starfield.csproj index a0c2da7..22ac2a1 100644 --- a/Translation Packages/Spriggit.Json.Starfield/Spriggit.Json.Starfield.csproj +++ b/Translation Packages/Spriggit.Json.Starfield/Spriggit.Json.Starfield.csproj @@ -3,6 +3,7 @@ exe true + net9.0 true true portable diff --git a/Translation Packages/Spriggit.Yaml.Fallout4/Spriggit.Yaml.Fallout4.csproj b/Translation Packages/Spriggit.Yaml.Fallout4/Spriggit.Yaml.Fallout4.csproj index 63ef490..5fe9e6d 100644 --- a/Translation Packages/Spriggit.Yaml.Fallout4/Spriggit.Yaml.Fallout4.csproj +++ b/Translation Packages/Spriggit.Yaml.Fallout4/Spriggit.Yaml.Fallout4.csproj @@ -3,6 +3,7 @@ exe true + net9.0 true true portable diff --git a/Translation Packages/Spriggit.Yaml.Oblivion/Spriggit.Yaml.Oblivion.csproj b/Translation Packages/Spriggit.Yaml.Oblivion/Spriggit.Yaml.Oblivion.csproj index 00c3309..8751912 100644 --- a/Translation Packages/Spriggit.Yaml.Oblivion/Spriggit.Yaml.Oblivion.csproj +++ b/Translation Packages/Spriggit.Yaml.Oblivion/Spriggit.Yaml.Oblivion.csproj @@ -3,6 +3,7 @@ exe true + net9.0 true true portable diff --git a/Translation Packages/Spriggit.Yaml.Skyrim/Spriggit.Yaml.Skyrim.csproj b/Translation Packages/Spriggit.Yaml.Skyrim/Spriggit.Yaml.Skyrim.csproj index 94f4b1d..e8fd863 100644 --- a/Translation Packages/Spriggit.Yaml.Skyrim/Spriggit.Yaml.Skyrim.csproj +++ b/Translation Packages/Spriggit.Yaml.Skyrim/Spriggit.Yaml.Skyrim.csproj @@ -3,6 +3,7 @@ exe true + net9.0 true true portable diff --git a/Translation Packages/Spriggit.Yaml.Starfield/Spriggit.Yaml.Starfield.csproj b/Translation Packages/Spriggit.Yaml.Starfield/Spriggit.Yaml.Starfield.csproj index 68014c1..259289c 100644 --- a/Translation Packages/Spriggit.Yaml.Starfield/Spriggit.Yaml.Starfield.csproj +++ b/Translation Packages/Spriggit.Yaml.Starfield/Spriggit.Yaml.Starfield.csproj @@ -3,6 +3,7 @@ exe true + net9.0 true true portable From ca0675c3fbd44daf8560be76308e2d17b0b3c2a7 Mon Sep 17 00:00:00 2001 From: Justin Swanson Date: Sun, 22 Dec 2024 02:04:05 -0600 Subject: [PATCH 05/11] Dont make spriggit package --- Spriggit/Spriggit.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Spriggit/Spriggit.csproj b/Spriggit/Spriggit.csproj index 99f4b86..9f6c1a0 100644 --- a/Spriggit/Spriggit.csproj +++ b/Spriggit/Spriggit.csproj @@ -2,6 +2,7 @@ net9.0 + false From 119ecc8a8f66567e84f431ceea90154207fd7527 Mon Sep 17 00:00:00 2001 From: Justin Swanson Date: Sun, 22 Dec 2024 02:22:24 -0600 Subject: [PATCH 06/11] Delete whole empty spriggit project --- Spriggit.sln | 6 ------ Spriggit/Spriggit.csproj | 12 ------------ 2 files changed, 18 deletions(-) delete mode 100644 Spriggit/Spriggit.csproj diff --git a/Spriggit.sln b/Spriggit.sln index 9d400a1..9f21389 100644 --- a/Spriggit.sln +++ b/Spriggit.sln @@ -3,8 +3,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.7.34024.191 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spriggit", "Spriggit\Spriggit.csproj", "{DBCEE39B-7930-4609-B7DE-1B7BDEE7F2C4}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{71CA298B-EBEB-449D-BF15-8BEA26AA674C}" ProjectSection(SolutionItems) = preProject .editorconfig = .editorconfig @@ -55,10 +53,6 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {DBCEE39B-7930-4609-B7DE-1B7BDEE7F2C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DBCEE39B-7930-4609-B7DE-1B7BDEE7F2C4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DBCEE39B-7930-4609-B7DE-1B7BDEE7F2C4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DBCEE39B-7930-4609-B7DE-1B7BDEE7F2C4}.Release|Any CPU.Build.0 = Release|Any CPU {632DE160-804B-4AFB-8470-B3F70A339320}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {632DE160-804B-4AFB-8470-B3F70A339320}.Debug|Any CPU.Build.0 = Debug|Any CPU {632DE160-804B-4AFB-8470-B3F70A339320}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/Spriggit/Spriggit.csproj b/Spriggit/Spriggit.csproj deleted file mode 100644 index 9f6c1a0..0000000 --- a/Spriggit/Spriggit.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - net9.0 - false - - - - - - - From 92ce36051c326bc9fc39a9ba33f2f3d23173f7a3 Mon Sep 17 00:00:00 2001 From: Justin Swanson Date: Sun, 22 Dec 2024 02:33:56 -0600 Subject: [PATCH 07/11] Missing project reference --- Spriggit.Linux.sln | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Spriggit.Linux.sln b/Spriggit.Linux.sln index 1ffe94a..4e7dbf0 100644 --- a/Spriggit.Linux.sln +++ b/Spriggit.Linux.sln @@ -1,7 +1,5 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spriggit", "Spriggit\Spriggit.csproj", "{DBCEE39B-7930-4609-B7DE-1B7BDEE7F2C4}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{71CA298B-EBEB-449D-BF15-8BEA26AA674C}" ProjectSection(SolutionItems) = preProject .editorconfig = .editorconfig @@ -44,10 +42,6 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {DBCEE39B-7930-4609-B7DE-1B7BDEE7F2C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DBCEE39B-7930-4609-B7DE-1B7BDEE7F2C4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DBCEE39B-7930-4609-B7DE-1B7BDEE7F2C4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DBCEE39B-7930-4609-B7DE-1B7BDEE7F2C4}.Release|Any CPU.Build.0 = Release|Any CPU {632DE160-804B-4AFB-8470-B3F70A339320}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {632DE160-804B-4AFB-8470-B3F70A339320}.Debug|Any CPU.Build.0 = Debug|Any CPU {632DE160-804B-4AFB-8470-B3F70A339320}.Release|Any CPU.ActiveCfg = Release|Any CPU From 2c578b4c6158e9e128895a04ccb58198e12f90e6 Mon Sep 17 00:00:00 2001 From: Justin Swanson Date: Sun, 22 Dec 2024 02:58:42 -0600 Subject: [PATCH 08/11] Don't pack UI into nuget package --- Spriggit.UI/Spriggit.UI.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Spriggit.UI/Spriggit.UI.csproj b/Spriggit.UI/Spriggit.UI.csproj index 1cecd55..8e5f9b2 100644 --- a/Spriggit.UI/Spriggit.UI.csproj +++ b/Spriggit.UI/Spriggit.UI.csproj @@ -7,6 +7,7 @@ enable true Spriggit + false From e36cd68d3327e80ca56deed2e704fa39ce5883cb Mon Sep 17 00:00:00 2001 From: Justin Swanson Date: Sun, 22 Dec 2024 03:13:32 -0600 Subject: [PATCH 09/11] nuget push with symbols --- .github/workflows/ci-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-publish.yml b/.github/workflows/ci-publish.yml index d5ea6d6..5be7d8a 100644 --- a/.github/workflows/ci-publish.yml +++ b/.github/workflows/ci-publish.yml @@ -170,7 +170,7 @@ jobs: repo_token: ${{ secrets.GITHUB_TOKEN }} tag: ${{ github.event.release.tag_name }} - name: Publish to Nuget.org - run: dotnet nuget push **/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --no-symbols + run: dotnet nuget push **/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json update-nightly: needs: [build-test-push, activity-short-circuit] From 3573c59db62e3e073feed324fd344af35ebf944a Mon Sep 17 00:00:00 2001 From: Justin Swanson Date: Sun, 22 Dec 2024 13:40:20 -0600 Subject: [PATCH 10/11] Don't pack CLI into nuget package --- Spriggit.CLI/Spriggit.CLI.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Spriggit.CLI/Spriggit.CLI.csproj b/Spriggit.CLI/Spriggit.CLI.csproj index 7e376c4..0969b7c 100644 --- a/Spriggit.CLI/Spriggit.CLI.csproj +++ b/Spriggit.CLI/Spriggit.CLI.csproj @@ -2,6 +2,7 @@ Exe net9.0 + false From 7cdd4124de0af4f82657fcb7af93eba0d672a76c Mon Sep 17 00:00:00 2001 From: Justin Swanson Date: Sun, 22 Dec 2024 14:18:54 -0600 Subject: [PATCH 11/11] Add package metadata --- Directory.Build.props | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 71a267a..4f37c55 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -8,9 +8,18 @@ true true preview - ./nupkg + GPL-3.0-only + https://github.com/Mutagen-Modding/Spriggit + https://github.com/Mutagen-Modding/Spriggit + GPL-3.0-only + 2024 + Mutagen + Mutagen + Bethesda Modding + true + Noggog - +