Skip to content

Install the kit into .mskit/ and move .toolkit/ installs - #21

Merged
vfofanov merged 8 commits into
mainfrom
feat/mskit-folder
Oct 14, 2026
Merged

vfofanov merged 8 commits into
mainfrom
feat/mskit-folder

Conversation

@vfofanov

Copy link
Copy Markdown
Contributor

Installs the kit into .mskit/ instead of .toolkit/, and moves existing installs.

  • update.sh / update.ps1: default kit folder .mskit/; --kit-dir NAME / -KitDir picks another, recorded as kitDir in kit.json so later runs find it.
  • An older .toolkit/ install (no kitDir) moves to the kit folder (git mv when tracked) and .toolkit is rewritten in Directory.Build.props/.targets, .gitignore and .github/dependabot.yml. Both folders present: refused. --dry-run reports the move and changes nothing.
  • Started from .toolkit/update.sh, the script re-runs from a temp copy, since Windows refuses to move a folder holding an open file.
  • Kit messages name the installed folder through MSKit_KitDirName.
  • Sample and fixtures on .mskit/ (the sample starts as a v0.2.1 install the new script moves; TfmConstants stays on --kit-dir .toolkit); docs, CHANGELOG.
  • New tests/update-dir.test.sh, run by tests/run.sh.

Breaking changes

  • Default folder .mskit/. From 0.2.1 the upgrade takes two runs: 0.2.1's script installs into .toolkit/ and copies the new script, which moves the folder on the next run. The release zip keeps its .toolkit/ layout for that reason.

Follow-ups: the repository's own kit/.toolkit/ source tree and manager/.toolkit/ stay as they are; the manager's kit.json schema-1 reader must accept kitDir.

tests/update-dir.test.sh: a fresh install writes .mskit/, --kit-dir
picks another folder and kit.json remembers it, an older .toolkit/
install moves (tracked or not) with its references, both folders
present is refused, --dry-run changes nothing, and 0.2.1 reaches
.mskit/ in two runs with the real v0.2.1 updater.
update.sh: --kit-dir NAME picks the kit folder, recorded as kitDir in
kit.json so later runs find it; the default is .mskit. A .toolkit/
install without kitDir moves to the kit folder (git mv when tracked)
and .toolkit is rewritten in Directory.Build.*, .gitignore and
dependabot.yml; both folders present stops the run; --dry-run reports
the move and changes nothing.
-KitDir, kitDir in kit.json, discovery, the move from .toolkit/ with
its rewrites, the both-folders refusal and the dry-run report.
MSKit_KitDirName is the kit folder's name; the MSKITROSLYN001..003
errors use it, and their catalog descriptors take it as {2}.
The sample starts as a v0.2.1 install in .toolkit/ that the new
update.sh moves, so the self-test builds, tests and packs a migrated
tree; TfmConstants keeps .toolkit/ through --kit-dir. tests/run.sh runs
tests/update-dir.test.sh; codes, nuget-isolation and docs-check know
both folder names.
Every page names .mskit/ as the consumer folder; install-and-update
gains --kit-dir, kitDir and a section on the move, including the
two-run upgrade from 0.2.1. CHANGELOG lists it as a breaking change.
Windows refuses to move a folder that holds an open file, so moving
.toolkit/ failed while sh ran .toolkit/update.sh. update.sh re-runs
itself from a temporary copy in that case. update.ps1: the kit build
variable no longer shadows -KitDir (PowerShell names are not case
sensitive).
@vfofanov
vfofanov marked this pull request as ready for review October 14, 2026 21:13
@vfofanov
vfofanov merged commit d995ee6 into main Oct 14, 2026
4 checks passed
@vfofanov
vfofanov deleted the feat/mskit-folder branch October 14, 2026 21:26
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.

1 participant