diff --git a/.gitignore b/.gitignore index 6283cb2..b12a09f 100644 --- a/.gitignore +++ b/.gitignore @@ -257,3 +257,4 @@ paket-files/ /TestResult.txt /.claude/settings.local.json +/.claude/agent-memory-local/ diff --git a/CLAUDE.md b/CLAUDE.md index 2c7c8ad..53142b8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -12,7 +12,19 @@ requirements-interchange documents. The repository ships two NuGet packages: `ReqIFLoaderService`, built on top of the core. Targets `netstandard2.0`. The two packages version independently (e.g. ReqIFSharp `10.x`, ReqIFSharp.Extensions `5.x`). -Test projects target `net10.0` and use NUnit. `LangVersion` is pinned to `12.0`. +Test projects target `net10.0` and use NUnit. `LangVersion` is pinned to `14.0` (in `Directory.Build.props`). +Building requires the .NET 10 SDK (`global.json`, rolls forward to the latest 10.0 feature band). + +**MSBuild layout.** `Directory.Build.props` holds settings for every project (company, +copyright, repository, `LangVersion`, `GenerateDocumentationFile`). Packaging settings shared +by the published libraries (package metadata, README/LICENSE/NOTICE pack items, the +`Microsoft.Sbom.Targets` reference) live in `Directory.Build.targets`, guarded by +`'$(IsPackable)' != 'false'`; it must be a `.targets` file because `IsPackable` is set in the +project body, after `.props` is evaluated. `GenerateDocumentationFile` cannot move there: the +SDK derives the documentation-file settings from it before `.targets` is evaluated. Test +projects therefore set both `false` and +`false`. The library `.csproj` files keep +only per-package settings (version, title, description, id, icon, authors, release notes). ## Common commands diff --git a/Directory.Build.props b/Directory.Build.props index 7a61dfe..8867e0f 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -8,6 +8,12 @@ true en-US en-US + 14.0 + + true diff --git a/Directory.Build.targets b/Directory.Build.targets new file mode 100644 index 0000000..a4a1782 --- /dev/null +++ b/Directory.Build.targets @@ -0,0 +1,27 @@ + + + + + https://reqifsharp.org + Apache-2.0 + ReqIF mbse modeltopia + False + false + true + true + true + README.md + + + + + + + + + + diff --git a/ReqIFSharp.Extensions.Tests/ReqIFSharp.Extensions.Tests.csproj b/ReqIFSharp.Extensions.Tests/ReqIFSharp.Extensions.Tests.csproj index b405466..c3d862a 100644 --- a/ReqIFSharp.Extensions.Tests/ReqIFSharp.Extensions.Tests.csproj +++ b/ReqIFSharp.Extensions.Tests/ReqIFSharp.Extensions.Tests.csproj @@ -6,6 +6,7 @@ Nunit test suite for the ReqIFSharp.Extensions library disable false + false diff --git a/ReqIFSharp.Extensions/ReqIFSharp.Extensions.csproj b/ReqIFSharp.Extensions/ReqIFSharp.Extensions.csproj index eac55d7..89ec697 100644 --- a/ReqIFSharp.Extensions/ReqIFSharp.Extensions.csproj +++ b/ReqIFSharp.Extensions/ReqIFSharp.Extensions.csproj @@ -3,25 +3,14 @@ netstandard2.0 5.2.1 - 12.0 ReqIFSharp.Extensions A .NET library that provides extenions and services to operate on ReqIF documents. ReqIFSharp.Extensions - https://reqifsharp.org - Apache-2.0 reqifsharp-extensions-logo-small.png - ReqIF mbse modeltopia - False Sam Gerené - false - true - true - true - true - [Update] to reqifsharp version 10.1.1 - README.md @@ -34,13 +23,6 @@ - - - - - - - diff --git a/ReqIFSharp.Tests/ReqIFSharp.Tests.csproj b/ReqIFSharp.Tests/ReqIFSharp.Tests.csproj index 695fe95..3bd0dc6 100644 --- a/ReqIFSharp.Tests/ReqIFSharp.Tests.csproj +++ b/ReqIFSharp.Tests/ReqIFSharp.Tests.csproj @@ -7,6 +7,7 @@ Nunit test suite for the ReqIFSharp library disable false + false diff --git a/ReqIFSharp/ReqIFSharp.csproj b/ReqIFSharp/ReqIFSharp.csproj index 5c24473..4712378 100644 --- a/ReqIFSharp/ReqIFSharp.csproj +++ b/ReqIFSharp/ReqIFSharp.csproj @@ -5,25 +5,14 @@ netstandard2.0 10.1.1 - 12.0 ReqIFSharp A .NET library to deserialize (read) and serialize (write) OMG ReqIF documents. ReqIFSharp - https://reqifsharp.org - Apache-2.0 reqifsharp-logo-small.png - ReqIF mbse modeltopia - False Sam Gerené, Alexander van Delft - false - true - true - true - true - [Update] dependencies - README.md @@ -76,9 +65,6 @@ - - - @@ -92,7 +78,6 @@ API need. The floor itself is set in Directory.Packages.props. --> - \ No newline at end of file diff --git a/global.json b/global.json new file mode 100644 index 0000000..512142d --- /dev/null +++ b/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "version": "10.0.100", + "rollForward": "latestFeature" + } +}