Repository navigation
Packaging: per-package READMEs and tags, validation against 3.1.0, net10.0 for Spring.Testing.Microsoft - #387
Merged
Merged
Conversation
MSTest.TestFramework 4.5.2 ships net462, net8.0, net9.0 and netstandard2.0 assets, so net472 resolves net462 and net10.0 resolves net9.0. No source or csproj condition needed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LGkLQuAuUjvRjrU1AcTsmk Signed-off-by: Marko Lahma <marko.lahma@gmail.com>
Every project under src/Spring gets a README.md that is packed as the package readme: what it does, the install line, target frameworks, a minimal snippet (types, members, XML elements and namespace URIs checked against the code) and links. src/Directory.Build.props sets PackageReadmeFile and packs README.md only when the project has one. The global PackageTags value "Library" becomes spring;springframework;ioc;di plus per-project terms. Descriptions of Spring.Messaging (MSMQ 3.0) and Spring.Messaging.Nms are brought up to date. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LGkLQuAuUjvRjrU1AcTsmk Signed-off-by: Marko Lahma <marko.lahma@gmail.com>
EnablePackageValidation is on for the src projects, with PackageValidationBaselineVersion 3.1.0 (all twelve package ids exist at 3.1.0 on nuget.org). Each project's CompatibilitySuppressions.xml holds the accepted baseline differences, generated with ApiCompatGenerateSuppressionFile: the dropped net462 asset (PKV006 for the net472-only packages and Spring.Testing.NUnit, CP0001 and CP0008 where a 3.1.0 net462 consumer is now compared with the netstandard2.0 build). Spring.Messaging turns validation off: its netstandard2.0 and net472 builds expose different message types (Experimental.System.Messaging vs System.Messaging), which package validation reports as errors between two TFMs of the same package. That predates 4.0 and is not suppressed. AGENTS.md documents the package READMEs, the baseline and how to regenerate the suppression files. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LGkLQuAuUjvRjrU1AcTsmk Signed-off-by: Marko Lahma <marko.lahma@gmail.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LGkLQuAuUjvRjrU1AcTsmk Signed-off-by: Marko Lahma <marko.lahma@gmail.com>
AGENTS.md: tighten the package validation bullet, document that a direct dotnet pack needs -p:AssemblyVersion=<major>.<minor>.0.0 (CP0003 otherwise), and state the coverage gap (no baseline comparison for the net462-only packages and Spring.Testing.NUnit, no net472 build compared with 3.1.0). READMEs: Spring.Web.Conversation.NHibernate5 now says Spring.Web is needed too and configures ConversationManagerNameList through HttpApplicationConfigurer; Spring.Data.NHibernate5 gains its usings and MsSql2012Dialect; Spring.Messaging gains its using; Spring.Data shows Microsoft.Data.SqlClient with the alias per framework. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LGkLQuAuUjvRjrU1AcTsmk Signed-off-by: Marko Lahma <marko.lahma@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Packaging follow-ups for 4.0.
Spring.Testing.Microsoft gets a net10.0 build next to netstandard2.0 and net472, like the other libraries.
Spring.Testing.Microsoft.Testsnow runs against the net10.0 build.Every package now has its own NuGet README and real tags.
README.md, packed as the package readme.src/Directory.Build.propspacks it only when the file exists. Each README covers:spring-reviewerchecked every type, member, XML element, attribute and namespace URI in the snippets against the code.PackageTagsis nowspring;springframework;ioc;diplus terms per package, in place ofLibrary.The packages are now checked against 3.1.0 when they're packed.
EnablePackageValidationis on, withPackageValidationBaselineVersion3.1.0. All 12 package ids exist at 3.1.0.src/Spring/*/CompatibilitySuppressions.xml. 3.1.0 shipped net462, which is not compatible with net472, so NuGet compares 3.1.0's net462 build with 4.0's netstandard2.0 build. Every entry comes from that pairing:_Exception/_Attributeinterfaces that the netstandard2.0 build doesn't implement.CallContextStorage,ServiceDomain*andOpenSessionInViewModule.dotnet packoutside Fallout needs-p:AssemblyVersion=<major>.<minor>.0.0.Verification
./build.cmd Compile Pack --skip CompileExamplespasses with validation on. This was after rebasing onto Remove the ASMX web service exporter from Spring.Web #384 and Examples: remove stale Common.Logging config and legacy Northwind web.config variants #385. Spring.Web's suppressions were unchanged.README.md, the new tags and the expectedlib/folders.Spring.Testing.Microsoft.Tests: 4/4 on net10.0 and 4/4 on net472.dotnet build Spring.Net.sln -c Debug: clean.spring-revieweraccepted it, with follow-ups that are now in the last commit: the Conversation README setup, missing usings, Microsoft.Data.SqlClient on modern .NET, and the AGENTS.md notes.🤖 Generated with Claude Code
https://claude.ai/code/session_01LGkLQuAuUjvRjrU1AcTsmk