Skip to content

(#20) Cake 1 catch-up - #21

Merged
gep13 merged 9 commits into
cake-contrib:developfrom
gep13:feature/issue-20-cake-1-catch-up
Aug 20, 2026
Merged

gep13 merged 9 commits into
cake-contrib:developfrom
gep13:feature/issue-20-cake-1-catch-up

Conversation

@gep13

@gep13 gep13 commented Aug 20, 2026

Copy link
Copy Markdown
Member

This PR is the workspace's per-Cake-major catch-up for Cake v1.0.0. Because develop was still on the pre-Cake-1 baseline (Cake.Core 0.33.0), this v1.0.0 folds baseline retrofit + several standing items into the same PR — the standard shape when develop is on a pre-Cake-1 tip (analogous to Cake.Eazfuscator.Net v1.0.0 and Cake.ReSharperReports v1.0.0).

Commit summary

  1. Cake.Core / Cake.Testing 0.33.0 → 1.0.0; addin TFMs netstandard2.0;net461 → netstandard2.0; tests TFMs netcoreapp3.1;net461 → net6.0
  2. FluentAssertions 5.9.0 → 6.12.2 (pre-7 cap — 7.x re-licensed under commercial Xceed License)
  3. Lift testFilePattern: "DO_NOT_RUN_TESTS" from recipe.cake — tests actually run in CI now (Windows-only path test already gated via [WindowsTheory] from historical fix a9b0819)
  4. Canonicalise PackageTags → workspace-standard prefix + strong-name;signing;security tail; fix PackageProjectUrl 404 → GitHub repo URL
  5. Move strongnamesigner.cake → demo/script/strongnamesigner.cake with cake.tool 1.3.0 wrappers
  6. New demo/frosting/ from scratch — Cake.Frosting 1.3.0 consumer exercising the same StrongNameSignerSettings roundtrip + tool-not-found alias check that the .cake script does
  7. Wire both demos into build.yml
  8. Fix-up: pin Microsoft.NET.Test.Sdk to 17.4.1 (initial bump to 18.9.0 dropped net6.0 support)
  9. Fix-up: add missing using Cake.Common.Diagnostics; in Frosting task files

Local verification

  • ./build.ps1 --target=Package — green (all recipe tasks including Test + DotNetCore-Pack)
  • ./demo/script/build.ps1 — green (Settings-Roundtrip + Alias-ResolvesToToolError both pass)
  • ./demo/frosting/build.ps1 — green (same two tasks)
  • Nupkg TFM layout confirmed: lib/netstandard2.0/ only

Issue linkage

Fixes #16 (PackageProjectUrl 404).

Closes #20.

gep13 and others added 9 commits August 20, 2026 14:56
…get TFMs

Addin TFMs `netstandard2.0;net461` → `netstandard2.0` — matching the
workspace-standard Cake 1 TFM range (per sibling arcs Cake.Eazfuscator.Net
v1.0.0 and Cake.ReSharperReports v1.0.0, both of which shipped
netstandard2.0-only for their pre-Cake-1 → Cake 1 catch-ups).

Tests TFMs `netcoreapp3.1;net461` (net461 Windows-conditional) → single
`net6.0` — tests-TFM rotation targets the lowest supported *executable*
TFM (netstandard2.0 isn't runnable, so net6.0 is the floor for the
Cake 1 → 4 majors per workspace convention).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
….Test.Sdk 16.1.0 → 18.9.0

FluentAssertions capped at 6.12.x — 7.0.0 re-licensed under the
commercial Xceed License; cake-contrib MIT/Apache addins stay on
the last Apache 2.0 line.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…cake

Baseline PR cake-contrib#19 gated tests off while the addin was still on
Cake.Core 0.33.0. Now that Cake.Core has been bumped to 1.0.0 and
tests target net6.0, let CI actually run the test suite. The
Windows-only path test is already gated via [WindowsTheory]
(historical fix, commit a9b0819).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PackageTags now leads with the workspace-canonical prefix
`cake;cake-build;cake-addin;addin;script;build` plus addin-specific
tail tags `strong-name;signing;security`.

PackageProjectUrl was `https://cake-contrib.github.io/Cake.StrongNameSigner`
which returns HTTP 404 (there is no GitHub Pages site for this repo).
Point it at the GitHub repo instead, matching the workspace default
for addins without a dedicated docs site.

Fixes cake-contrib#16.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
….tool 1.3.0 wrappers

Standardises the exercise script on the workspace demo/{script,frosting}
layout used in Cake.Json, Cake.Gulp, and other recently-shipped catch-ups.
Adds:

- demo/script/strongnamesigner.cake — moved from repo root; #reference
  path re-anchored to `../../BuildArtifacts/...` for the two-level nest.
- demo/script/build.ps1 + build.sh — restore the pinned cake.tool then
  invoke the script.
- demo/script/.config/dotnet-tools.json — pins cake.tool 1.3.0 (latest
  1.x, matching this addin's Cake major).
- demo/script/.gitignore — the standard exercise-tree hygiene set.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…osting 1.3.0

Complements demo/script/ with a Cake.Frosting consumer exercising the
same StrongNameSignerSettings roundtrip + tool-not-found alias check
that the script does — the "same exercise, two hosts" pattern used by
Cake.Json / Cake.Gulp.

- demo/frosting/build/Build.csproj — Cake.Frosting 1.3.0 (latest of the
  Cake 1 major); TargetFramework net6.0; HintPath's the addin's
  netstandard2.0 DLL from the recipe's _PublishedLibraries drop.
- demo/frosting/build/Program.cs + BuildContext.cs + DefaultTask.cs —
  standard Frosting harness.
- demo/frosting/build/Tasks/SettingsRoundtripTask.cs — asserts all six
  StrongNameSignerSettings properties + all five StrongNameSignerVerbosity
  enum values round-trip cleanly.
- demo/frosting/build/Tasks/AliasResolvesToToolErrorTask.cs — verifies
  the alias reaches the tool-resolution step and throws the expected
  "cannot find StrongNameSigner.Console.exe" (the actual .exe is a
  separate licensed install and not present in CI).
- demo/frosting/build.ps1 + build.sh + .gitignore — matching the
  demo/script/ pattern.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds two "Run demo/..." steps after the recipe build, matching the
Cake.Json / Cake.Gulp pattern. Both consume the addin from
BuildArtifacts/temp/_PublishedLibraries/ populated by DotNetCore-Pack.
They run in their own tool/package context (independent of recipe.cake's
cake.tool, which is pinned by Cake.Recipe).

demo/sdk joins in a later Cake major (v6.0.0 catch-up).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…patibility

18.9.0 explicitly rejects net6.0 with an SDK build error
("Microsoft.NET.Test.Sdk doesn't support net6.0 ... Consider upgrading
to net8.0 or later"). 17.13.0 was the last 17.x line to keep the
netcoreapp3.1 dependency group that net6.0 falls through to; 17.14.0
switched to net8.0-only.

Pin 17.4.1 to match Cake.Json's current workspace-canonical pin —
Renovate will drive future bumps within a net6.0-compatible range
during the Cake 1 → 4 majors, then bump freely once tests reach net8.0
at Cake 5 (v5.0.0).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ext.Information

The two Frosting tasks call context.Information(...) — that's an
extension method on ICakeContext defined in Cake.Common.Diagnostics.
Cake.Common flows in transitively via Cake.Frosting so no PackageReference
change is needed; just add the using directive.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@gep13 gep13 added this to the 1.0.0 milestone Aug 20, 2026

@gep13 gep13 left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@gep13
gep13 merged commit 1e623a7 into cake-contrib:develop Aug 20, 2026
2 checks passed
@gep13
gep13 deleted the feature/issue-20-cake-1-catch-up branch August 20, 2026 14:59
@cake-contrib-bot

Copy link
Copy Markdown

🎉 This issue has been resolved in version 1.0.0 🎉

The release is available on:

Your GitReleaseManager bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update Cake.StrongNameSigner add-in to target Cake v1.0.0 Project site link on NuGet package is currently a 404

2 participants