From 2b98d6c28c82bfbfc6399acc9020d74a27476f9d Mon Sep 17 00:00:00 2001 From: Tim Potze Date: Sat, 16 May 2026 12:06:16 +0200 Subject: [PATCH 1/2] Improve configurations of workflows, git and cmake --- .github/workflows/release-legacy.yml | 2 +- .github/workflows/release.yml | 2 +- .gitignore | 1 + src/sampsharp-component/CMakePresets.json | 25 +++++++++++++++++++++++ 4 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 src/sampsharp-component/CMakePresets.json diff --git a/.github/workflows/release-legacy.yml b/.github/workflows/release-legacy.yml index c7c6d1d7..e45c585b 100644 --- a/.github/workflows/release-legacy.yml +++ b/.github/workflows/release-legacy.yml @@ -82,7 +82,7 @@ jobs: with: name: Legacy SampSharp ${{ env.VERSION }} draft: true - prerelease: ${{ contains(env.VERSION, 'alpha') || contains(env.VERSION, 'beta') }} + prerelease: ${{ contains(env.VERSION, 'prerelease') || contains(env.VERSION, 'rc') }} files: SampSharp-${{ env.VERSION }}.zip - name: Pack NuGet packages diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6822a7b4..723dd84b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -87,7 +87,7 @@ jobs: with: name: SampSharp ${{ env.VERSION }} draft: true - prerelease: ${{ contains(env.VERSION, 'alpha') || contains(env.VERSION, 'beta') }} + prerelease: ${{ contains(env.VERSION, 'prerelease') || contains(env.VERSION, 'rc') }} files: SampSharp-${{ env.VERSION }}.zip - name: Pack NuGet packages diff --git a/.gitignore b/.gitignore index caad3fe5..ffb1cb9e 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ PublishProfiles/ *.suo *.sln.DotSettings.user launchSettings.json +*.lscache # OS .DS_Store diff --git a/src/sampsharp-component/CMakePresets.json b/src/sampsharp-component/CMakePresets.json new file mode 100644 index 00000000..8331f315 --- /dev/null +++ b/src/sampsharp-component/CMakePresets.json @@ -0,0 +1,25 @@ +{ + "version": 6, + "configurePresets": [ + { + "name": "clang", + "displayName": "Clang CL", + "description": "Build using Clang CL toolset", + "generator": "Visual Studio 18 2026", + "toolset": "ClangCL", + "binaryDir": "${sourceDir}/../../build/cmake/component", + "cacheVariables": { + "CMAKE_POLICY_VERSION_MINIMUM": "3.5", + "CMAKE_BUILD_TYPE": "RelWithDebInfo" + } + } + ], + "buildPresets": [ + { + "name": "clang", + "configurePreset": "clang", + "configuration": "RelWithDebInfo", + "jobs": 0 + } + ] +} From f4b2abb5fe4c42ee729b9a17953e71466fb4ee86 Mon Sep 17 00:00:00 2001 From: Tim Potze Date: Sat, 16 May 2026 12:19:37 +0200 Subject: [PATCH 2/2] update agents.md --- AGENTS.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 426d9bc3..35540e1c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -14,17 +14,20 @@ SampSharp is a comprehensive C# framework for building game modes and plugins fo - **SampSharp.OpenMp.Entities.Commands/** - Rich command processor and dispatcher - **SampSharp.Analyzer/** - Roslyn-based code analyzer for best practices - **SampSharp.CodeFixes/** - Automatic code fixes for analyzer diagnostics -- **SampSharp.SourceGenerator/** - Source code generator for AOT compilation -- **SampSharp.Sdk/** - SDK tools and utilities +- **SampSharp.SourceGenerator/** - Source code generator for game mode entry point and open.mp interop marshalling based on API shapes defined in partial types with attributes +- **SampSharp.Sdk/** - Primary SDK package for developing with SampSharp (single NuGet package users add to their projects) +- **SampSharp.Templates/** - Project templates and scaffolding for game mode development #### Legacy (SA-MP v0.x) - **legacy/** - Legacy SA-MP implementation (limited support for critical fixes only) ### Testing (`test/`) -- **SampSharp.OpenMp.Entities.Commands.UnitTests/** - Unit tests for the command processor (`dotnet test SampSharp.slnx`) -- **TestMode.OpenMp.Entities/** - Integration tests for entity system -- **TestMode.OpenMp.Core/** - Core functionality tests -- **TestMode.UnitTests/** - Unit tests +- **SampSharp.OpenMp.Core.Tests/** - Unit tests for core open.mp functionality +- **SampSharp.OpenMp.Entities.Tests/** - Unit tests for entity system +- **SampSharp.OpenMp.Entities.Commands.Tests/** - Unit tests for command processor +- **TestMode.Entities.ApiTests/** - Integration tests for entity API functionality +- **TestMode.OpenMp.Core/** - Manual testing for core functionality +- **TestMode.OpenMp.Entities/** - Manual testing for entity system ### Build & Environment - **build/** - Build artifacts and CMake configurations