build(testing): consume JustDummies as a published package - #410
Merged
Conversation
Steps 1-4 and 7 of the cutover ADR-0069 prescribes, now that JustDummies 1.0.0-preview.1 is on nuget.org. The four ProjectReferences become PackageReferences, and the four analyzer references go with them: the package carries the 28 analyzers under analyzers/dotnet/cs, verified on the published artifact rather than assumed. FirstClassErrors.Testing loses IncludeJustDummiesInPackage and its PrivateAssets=all. Its package stops smuggling JustDummies.dll into lib/ and declares the dependency instead — which is the point of the change, per ADR-0069: a consumer who also references JustDummies directly can no longer end up with two copies at different versions and no diagnostic. The dependency is on a PRERELEASE, deliberately and temporarily, so the split can happen before JustDummies reaches 1.0 stable; FirstClassErrors.Testing cannot ship a stable version until it does. The seven JustDummies projects, the dum train and the workflows stay for now: ADR-0069 orders the deletion last, after the consumers no longer reference them. Refs: #404
This was referenced Aug 7, 2026
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.
Summary
Steps 1–4 and 7 of the cutover ADR-0069 prescribes, unblocked by
JustDummies 1.0.0-preview.1reaching nuget.org today. The prerequisite issue #404 records as the one thing that gates this work is now met.Steps 5 and 6 — deleting the seven projects, the
dumtrain, the workflows and the Stryker configs — are deliberately not in this PR. ADR-0069 orders them last, "once nothing references them", and this PR is what makes that true.Type of change
Changes
Directory.Packages.props—JustDummies 1.0.0-preview.1.ProjectReferences onJustDummiesbecomePackageReferences.ProjectReferences (OutputItemType="Analyzer"+ReferenceOutputAssembly="false") are deleted, not converted. The library package carries the 28 analyzers underanalyzers/dotnet/cs, so a plainPackageReferencedelivers them. Verified by unzipping the published.nupkg, not taken from the changelog.FirstClassErrors.TestinglosesIncludeJustDummiesInPackage, itsTargetsForTfmSpecificBuildOutputhook, andPrivateAssets="all".What the produced package looks like now
Packed locally and inspected:
JustDummies.dllis gone fromlib/, and the dependency is declared at the same regime as its sibling. That is the consumer-visible half of ADR-0069: a consumer who also references JustDummies directly can no longer end up with two copies at different versions and no diagnostic.The dependency is on a prerelease, deliberately and temporarily, so the split can happen before JustDummies reaches 1.0 stable. The consequence is written into the
.csprojnext to the reference:FirstClassErrors.Testingcannot ship a stable version untilJustDummiesdoes.Testing
dotnet build FirstClassErrors.sln— 0 warnings, 0 errorsdotnet test FirstClassErrors.sln— 13 suites, 2206 tests, 0 failuresFirstClassErrors.Analyzers.UnitTests— 132)dotnet pack FirstClassErrors.Testingand inspected the artifact (above)Documentation
FirstClassErrors.Testingexposes no JustDummies type, which is why the dependency is an implementation detail that nonetheless must be declared.ArbitraryTestValues.{en,fr}.md) belongs with the deletion step.Architecture decisions
Acceptedand prescribes these exact steps. No ADR is created, superseded or contradicted here.FirstClassErrors.Testing's shape is unreadable without them. Any sweep of the JustDummies ADRs has to spare those four.Related issues
Refs #404 — the prerequisite it names (a restorable package on nuget.org) is met:
JustDummies1.0.0-preview.1.Generated by Claude Code