Merge hotreload-utils source into runtime repo - #126512

Merged
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils
Apr 10, 2026
Merged

Merge hotreload-utils source into runtime repo#126512
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils

Conversation

@steveisok

Copy link
Copy Markdown
Member

Copy the hotreload-utils source code from dotnet/hotreload-utils into src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference with direct in-repo MSBuild targets, eliminating the cross-repo dependency.

Changes:

  • Add 5 projects + shared code from hotreload-utils under src/tools/hotreload-delta-gen/
  • Create eng/testing/hotreload-delta-gen.targets replacing the NuGet package's .targets file
  • Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono sample) to import local targets instead of NuGet package
  • Add BuildTool and Tasks to src/libraries/pretest.proj for build ordering
  • Remove hotreload-utils dependency from eng/Version.Details.xml and eng/Version.Details.props
  • Suppress analyzers on imported code (RunAnalyzers=false) matching the illink pattern

Copy the hotreload-utils source code from dotnet/hotreload-utils into
src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference
with direct in-repo MSBuild targets, eliminating the cross-repo
dependency.
Changes:
- Add 5 projects + shared code from hotreload-utils under
src/tools/hotreload-delta-gen/
- Create eng/testing/hotreload-delta-gen.targets replacing the NuGet
package's .targets file
- Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono
sample) to import local targets instead of NuGet package
- Add BuildTool and Tasks to src/libraries/pretest.proj for build
ordering
- Remove hotreload-utils dependency from eng/Version.Details.xml and
eng/Version.Details.props
- Suppress analyzers on imported code (RunAnalyzers=false) matching
the illink pattern
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR vendors the hotreload-utils delta generation toolchain into the runtime repo under src/tools/hotreload-delta-gen/, replaces the external NuGet-based integration with in-repo MSBuild targets, and updates existing consumers to use the in-repo targets.

Changes:

  • Added in-repo hot reload delta generator source (tool + MSBuild task + shared data/types) under src/tools/hotreload-delta-gen/.
  • Introduced eng/testing/hotreload-delta-gen.targets to replace the NuGet package .targets and updated consumers to import it.
  • Removed the dotnet/hotreload-utils dependency from versioning files and ensured build ordering via src/libraries/pretest.proj.

Reviewed changes

Copilot reviewed 43 out of 43 changed files in this pull request and generated 9 comments.

Show a summary per file
FileDescription
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/FSWGen.csAdds FileSystemWatcher-to-Channel async event streaming for live delta generation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/AsyncEnumerableExtras.csAdds helper to provide an empty IAsyncEnumerable<T>.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/ParsedScript.csAdds parsed-script representation for scripted delta runs.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/Json/Parsing.csAdds JSON parsing for scripted delta input.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/ScriptRunner.csAdds runner that reads a script file and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/LiveRunner.csAdds runner that watches the filesystem for live edits and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runner.csAdds common runner orchestration (baseline setup, capability handling, delta loop).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Plan/Change.csAdds plan/change primitives used across scripted/live modes.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Microsoft.DotNet.HotReload.Utils.Generator.csprojDefines the generator project and Roslyn/MSBuild dependencies.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EnC/EditAndContinueCapabilities.csVendors EnC capability enum used for Roslyn Hot Reload integration.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EditAndContinueCapabilitiesParser.csAdds parsing of capability strings into enum values.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DocResolver.csAdds file-path → DocumentId mapping for Roslyn documents.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DiffyException.csAdds typed exception with process exit code propagation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaProject.csCore delta build logic using Roslyn HotReloadService.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaOutputStreams.csWraps delta output streams and disposal semantics.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaNaming.csDefines naming convention for emitted delta artifacts per revision.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Delta.csDefines delta input record for the generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Config.csAdds config model and builder for scripted/live invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineProject.csAdds baseline project loading and HotReloadService session setup.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineArtifacts.csDefines baseline artifacts bundle passed through generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/Microsoft.DotNet.HotReload.Utils.Generator.Tasks.csprojAdds MSBuild task project used by the new targets file.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/HotReloadDeltaGeneratorComputeScriptOutputs.csAdds MSBuild task to compute incremental inputs/outputs from the delta script.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Microsoft.DotNet.HotReload.Utils.Generator.Frontend.csprojAdds CLI frontend project for the generator.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Frontend.csAdds argument parsing and exit-code handling for CLI invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/UpdateHandlerInfo.csAdds JSON-serializable update handler info payload.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/ScriptCapabilitiesConverter.csAdds JSON converter to support capabilities as string or string array.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/Script.csAdds JSON model types for delta scripts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/OutputSummary/OutputSummary.csAdds JSON model types for delta output summaries.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Microsoft.DotNet.HotReload.Utils.Generator.Data.csprojAdds data-only project for shared contracts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/README.mdDocuments the build tool usage (historical/package-oriented wording).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Program.csAdds entrypoint forwarding to the CLI frontend.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool.csprojAdds executable build-tool project.
src/tools/hotreload-delta-gen/Directory.Build.targetsImports parent tool build targets for this tool subtree.
src/tools/hotreload-delta-gen/Directory.Build.propsSets TFM/lang/nullable and disables analyzers for imported code.
src/tools/hotreload-delta-gen/Common/TempDirectory.csAdds temp directory helper.
src/tests/FunctionalTests/WebAssembly/Browser/HotReload/ApplyUpdateReferencedAssembly/ApplyUpdateReferencedAssembly.csprojSwitches from NuGet package reference to importing in-repo targets.
src/mono/sample/mbr/console/ConsoleDelta.csprojSwitches from NuGet package reference to importing in-repo targets.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.targetsImports in-repo hotreload delta gen targets for ApplyUpdate tests.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.propsRemoves NuGet package reference for delta generation in ApplyUpdate tests.
src/libraries/pretest.projAdds tool/task projects to pretest build ordering.
eng/Version.Details.xmlRemoves hotreload-utils dependency entry.
eng/Version.Details.propsRemoves hotreload-utils version properties.
eng/testing/hotreload-delta-gen.targetsNew in-repo MSBuild targets replacing the NuGet-provided .targets.

Comment threadsrc/tools/hotreload-delta-gen/Directory.Build.props
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
CopilotAI review requested due to automatic review settings April 8, 2026 19:08

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 5 comments.

Comment threadeng/testing/hotreload-delta-gen.targets Outdated
Comment threadeng/testing/hotreload-delta-gen.targets Outdated
CopilotAI review requested due to automatic review settings April 9, 2026 14:32
akoeplingerand others added 2 commits April 9, 2026 16:34
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 2 comments.

Comment threadeng/testing/hotreload-delta-gen.targets
@akoeplinger

Copy link
Copy Markdown
Member

/ba-g unrelated infrastructure failures

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@steveisok@akoeplinger@thaystg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Merge hotreload-utils source into runtime repo - #126512

Merged
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils
Apr 10, 2026
Merged

Merge hotreload-utils source into runtime repo#126512
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils

Conversation

@steveisok

Copy link
Copy Markdown
Member

Copy the hotreload-utils source code from dotnet/hotreload-utils into src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference with direct in-repo MSBuild targets, eliminating the cross-repo dependency.

Changes:

  • Add 5 projects + shared code from hotreload-utils under src/tools/hotreload-delta-gen/
  • Create eng/testing/hotreload-delta-gen.targets replacing the NuGet package's .targets file
  • Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono sample) to import local targets instead of NuGet package
  • Add BuildTool and Tasks to src/libraries/pretest.proj for build ordering
  • Remove hotreload-utils dependency from eng/Version.Details.xml and eng/Version.Details.props
  • Suppress analyzers on imported code (RunAnalyzers=false) matching the illink pattern

Copy the hotreload-utils source code from dotnet/hotreload-utils into
src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference
with direct in-repo MSBuild targets, eliminating the cross-repo
dependency.
Changes:
- Add 5 projects + shared code from hotreload-utils under
src/tools/hotreload-delta-gen/
- Create eng/testing/hotreload-delta-gen.targets replacing the NuGet
package's .targets file
- Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono
sample) to import local targets instead of NuGet package
- Add BuildTool and Tasks to src/libraries/pretest.proj for build
ordering
- Remove hotreload-utils dependency from eng/Version.Details.xml and
eng/Version.Details.props
- Suppress analyzers on imported code (RunAnalyzers=false) matching
the illink pattern
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR vendors the hotreload-utils delta generation toolchain into the runtime repo under src/tools/hotreload-delta-gen/, replaces the external NuGet-based integration with in-repo MSBuild targets, and updates existing consumers to use the in-repo targets.

Changes:

  • Added in-repo hot reload delta generator source (tool + MSBuild task + shared data/types) under src/tools/hotreload-delta-gen/.
  • Introduced eng/testing/hotreload-delta-gen.targets to replace the NuGet package .targets and updated consumers to import it.
  • Removed the dotnet/hotreload-utils dependency from versioning files and ensured build ordering via src/libraries/pretest.proj.

Reviewed changes

Copilot reviewed 43 out of 43 changed files in this pull request and generated 9 comments.

Show a summary per file
FileDescription
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/FSWGen.csAdds FileSystemWatcher-to-Channel async event streaming for live delta generation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/AsyncEnumerableExtras.csAdds helper to provide an empty IAsyncEnumerable<T>.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/ParsedScript.csAdds parsed-script representation for scripted delta runs.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/Json/Parsing.csAdds JSON parsing for scripted delta input.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/ScriptRunner.csAdds runner that reads a script file and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/LiveRunner.csAdds runner that watches the filesystem for live edits and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runner.csAdds common runner orchestration (baseline setup, capability handling, delta loop).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Plan/Change.csAdds plan/change primitives used across scripted/live modes.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Microsoft.DotNet.HotReload.Utils.Generator.csprojDefines the generator project and Roslyn/MSBuild dependencies.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EnC/EditAndContinueCapabilities.csVendors EnC capability enum used for Roslyn Hot Reload integration.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EditAndContinueCapabilitiesParser.csAdds parsing of capability strings into enum values.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DocResolver.csAdds file-path → DocumentId mapping for Roslyn documents.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DiffyException.csAdds typed exception with process exit code propagation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaProject.csCore delta build logic using Roslyn HotReloadService.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaOutputStreams.csWraps delta output streams and disposal semantics.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaNaming.csDefines naming convention for emitted delta artifacts per revision.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Delta.csDefines delta input record for the generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Config.csAdds config model and builder for scripted/live invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineProject.csAdds baseline project loading and HotReloadService session setup.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineArtifacts.csDefines baseline artifacts bundle passed through generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/Microsoft.DotNet.HotReload.Utils.Generator.Tasks.csprojAdds MSBuild task project used by the new targets file.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/HotReloadDeltaGeneratorComputeScriptOutputs.csAdds MSBuild task to compute incremental inputs/outputs from the delta script.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Microsoft.DotNet.HotReload.Utils.Generator.Frontend.csprojAdds CLI frontend project for the generator.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Frontend.csAdds argument parsing and exit-code handling for CLI invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/UpdateHandlerInfo.csAdds JSON-serializable update handler info payload.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/ScriptCapabilitiesConverter.csAdds JSON converter to support capabilities as string or string array.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/Script.csAdds JSON model types for delta scripts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/OutputSummary/OutputSummary.csAdds JSON model types for delta output summaries.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Microsoft.DotNet.HotReload.Utils.Generator.Data.csprojAdds data-only project for shared contracts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/README.mdDocuments the build tool usage (historical/package-oriented wording).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Program.csAdds entrypoint forwarding to the CLI frontend.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool.csprojAdds executable build-tool project.
src/tools/hotreload-delta-gen/Directory.Build.targetsImports parent tool build targets for this tool subtree.
src/tools/hotreload-delta-gen/Directory.Build.propsSets TFM/lang/nullable and disables analyzers for imported code.
src/tools/hotreload-delta-gen/Common/TempDirectory.csAdds temp directory helper.
src/tests/FunctionalTests/WebAssembly/Browser/HotReload/ApplyUpdateReferencedAssembly/ApplyUpdateReferencedAssembly.csprojSwitches from NuGet package reference to importing in-repo targets.
src/mono/sample/mbr/console/ConsoleDelta.csprojSwitches from NuGet package reference to importing in-repo targets.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.targetsImports in-repo hotreload delta gen targets for ApplyUpdate tests.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.propsRemoves NuGet package reference for delta generation in ApplyUpdate tests.
src/libraries/pretest.projAdds tool/task projects to pretest build ordering.
eng/Version.Details.xmlRemoves hotreload-utils dependency entry.
eng/Version.Details.propsRemoves hotreload-utils version properties.
eng/testing/hotreload-delta-gen.targetsNew in-repo MSBuild targets replacing the NuGet-provided .targets.

Comment threadsrc/tools/hotreload-delta-gen/Directory.Build.props
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
CopilotAI review requested due to automatic review settings April 8, 2026 19:08

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 5 comments.

Comment threadeng/testing/hotreload-delta-gen.targets Outdated
Comment threadeng/testing/hotreload-delta-gen.targets Outdated
CopilotAI review requested due to automatic review settings April 9, 2026 14:32
akoeplingerand others added 2 commits April 9, 2026 16:34
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 2 comments.

Comment threadeng/testing/hotreload-delta-gen.targets
@akoeplinger

Copy link
Copy Markdown
Member

/ba-g unrelated infrastructure failures

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@steveisok@akoeplinger@thaystg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Merge hotreload-utils source into runtime repo - #126512

Merged
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils
Apr 10, 2026
Merged

Merge hotreload-utils source into runtime repo#126512
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils

Conversation

@steveisok

Copy link
Copy Markdown
Member

Copy the hotreload-utils source code from dotnet/hotreload-utils into src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference with direct in-repo MSBuild targets, eliminating the cross-repo dependency.

Changes:

  • Add 5 projects + shared code from hotreload-utils under src/tools/hotreload-delta-gen/
  • Create eng/testing/hotreload-delta-gen.targets replacing the NuGet package's .targets file
  • Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono sample) to import local targets instead of NuGet package
  • Add BuildTool and Tasks to src/libraries/pretest.proj for build ordering
  • Remove hotreload-utils dependency from eng/Version.Details.xml and eng/Version.Details.props
  • Suppress analyzers on imported code (RunAnalyzers=false) matching the illink pattern

Copy the hotreload-utils source code from dotnet/hotreload-utils into
src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference
with direct in-repo MSBuild targets, eliminating the cross-repo
dependency.
Changes:
- Add 5 projects + shared code from hotreload-utils under
src/tools/hotreload-delta-gen/
- Create eng/testing/hotreload-delta-gen.targets replacing the NuGet
package's .targets file
- Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono
sample) to import local targets instead of NuGet package
- Add BuildTool and Tasks to src/libraries/pretest.proj for build
ordering
- Remove hotreload-utils dependency from eng/Version.Details.xml and
eng/Version.Details.props
- Suppress analyzers on imported code (RunAnalyzers=false) matching
the illink pattern
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR vendors the hotreload-utils delta generation toolchain into the runtime repo under src/tools/hotreload-delta-gen/, replaces the external NuGet-based integration with in-repo MSBuild targets, and updates existing consumers to use the in-repo targets.

Changes:

  • Added in-repo hot reload delta generator source (tool + MSBuild task + shared data/types) under src/tools/hotreload-delta-gen/.
  • Introduced eng/testing/hotreload-delta-gen.targets to replace the NuGet package .targets and updated consumers to import it.
  • Removed the dotnet/hotreload-utils dependency from versioning files and ensured build ordering via src/libraries/pretest.proj.

Reviewed changes

Copilot reviewed 43 out of 43 changed files in this pull request and generated 9 comments.

Show a summary per file
FileDescription
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/FSWGen.csAdds FileSystemWatcher-to-Channel async event streaming for live delta generation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/AsyncEnumerableExtras.csAdds helper to provide an empty IAsyncEnumerable<T>.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/ParsedScript.csAdds parsed-script representation for scripted delta runs.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/Json/Parsing.csAdds JSON parsing for scripted delta input.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/ScriptRunner.csAdds runner that reads a script file and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/LiveRunner.csAdds runner that watches the filesystem for live edits and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runner.csAdds common runner orchestration (baseline setup, capability handling, delta loop).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Plan/Change.csAdds plan/change primitives used across scripted/live modes.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Microsoft.DotNet.HotReload.Utils.Generator.csprojDefines the generator project and Roslyn/MSBuild dependencies.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EnC/EditAndContinueCapabilities.csVendors EnC capability enum used for Roslyn Hot Reload integration.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EditAndContinueCapabilitiesParser.csAdds parsing of capability strings into enum values.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DocResolver.csAdds file-path → DocumentId mapping for Roslyn documents.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DiffyException.csAdds typed exception with process exit code propagation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaProject.csCore delta build logic using Roslyn HotReloadService.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaOutputStreams.csWraps delta output streams and disposal semantics.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaNaming.csDefines naming convention for emitted delta artifacts per revision.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Delta.csDefines delta input record for the generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Config.csAdds config model and builder for scripted/live invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineProject.csAdds baseline project loading and HotReloadService session setup.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineArtifacts.csDefines baseline artifacts bundle passed through generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/Microsoft.DotNet.HotReload.Utils.Generator.Tasks.csprojAdds MSBuild task project used by the new targets file.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/HotReloadDeltaGeneratorComputeScriptOutputs.csAdds MSBuild task to compute incremental inputs/outputs from the delta script.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Microsoft.DotNet.HotReload.Utils.Generator.Frontend.csprojAdds CLI frontend project for the generator.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Frontend.csAdds argument parsing and exit-code handling for CLI invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/UpdateHandlerInfo.csAdds JSON-serializable update handler info payload.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/ScriptCapabilitiesConverter.csAdds JSON converter to support capabilities as string or string array.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/Script.csAdds JSON model types for delta scripts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/OutputSummary/OutputSummary.csAdds JSON model types for delta output summaries.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Microsoft.DotNet.HotReload.Utils.Generator.Data.csprojAdds data-only project for shared contracts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/README.mdDocuments the build tool usage (historical/package-oriented wording).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Program.csAdds entrypoint forwarding to the CLI frontend.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool.csprojAdds executable build-tool project.
src/tools/hotreload-delta-gen/Directory.Build.targetsImports parent tool build targets for this tool subtree.
src/tools/hotreload-delta-gen/Directory.Build.propsSets TFM/lang/nullable and disables analyzers for imported code.
src/tools/hotreload-delta-gen/Common/TempDirectory.csAdds temp directory helper.
src/tests/FunctionalTests/WebAssembly/Browser/HotReload/ApplyUpdateReferencedAssembly/ApplyUpdateReferencedAssembly.csprojSwitches from NuGet package reference to importing in-repo targets.
src/mono/sample/mbr/console/ConsoleDelta.csprojSwitches from NuGet package reference to importing in-repo targets.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.targetsImports in-repo hotreload delta gen targets for ApplyUpdate tests.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.propsRemoves NuGet package reference for delta generation in ApplyUpdate tests.
src/libraries/pretest.projAdds tool/task projects to pretest build ordering.
eng/Version.Details.xmlRemoves hotreload-utils dependency entry.
eng/Version.Details.propsRemoves hotreload-utils version properties.
eng/testing/hotreload-delta-gen.targetsNew in-repo MSBuild targets replacing the NuGet-provided .targets.

Comment threadsrc/tools/hotreload-delta-gen/Directory.Build.props
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
CopilotAI review requested due to automatic review settings April 8, 2026 19:08

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 5 comments.

Comment threadeng/testing/hotreload-delta-gen.targets Outdated
Comment threadeng/testing/hotreload-delta-gen.targets Outdated
CopilotAI review requested due to automatic review settings April 9, 2026 14:32
akoeplingerand others added 2 commits April 9, 2026 16:34
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 2 comments.

Comment threadeng/testing/hotreload-delta-gen.targets
@akoeplinger

Copy link
Copy Markdown
Member

/ba-g unrelated infrastructure failures

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@steveisok@akoeplinger@thaystg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Merge hotreload-utils source into runtime repo - #126512

Merged
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils
Apr 10, 2026
Merged

Merge hotreload-utils source into runtime repo#126512
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils

Conversation

@steveisok

Copy link
Copy Markdown
Member

Copy the hotreload-utils source code from dotnet/hotreload-utils into src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference with direct in-repo MSBuild targets, eliminating the cross-repo dependency.

Changes:

  • Add 5 projects + shared code from hotreload-utils under src/tools/hotreload-delta-gen/
  • Create eng/testing/hotreload-delta-gen.targets replacing the NuGet package's .targets file
  • Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono sample) to import local targets instead of NuGet package
  • Add BuildTool and Tasks to src/libraries/pretest.proj for build ordering
  • Remove hotreload-utils dependency from eng/Version.Details.xml and eng/Version.Details.props
  • Suppress analyzers on imported code (RunAnalyzers=false) matching the illink pattern

Copy the hotreload-utils source code from dotnet/hotreload-utils into
src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference
with direct in-repo MSBuild targets, eliminating the cross-repo
dependency.
Changes:
- Add 5 projects + shared code from hotreload-utils under
src/tools/hotreload-delta-gen/
- Create eng/testing/hotreload-delta-gen.targets replacing the NuGet
package's .targets file
- Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono
sample) to import local targets instead of NuGet package
- Add BuildTool and Tasks to src/libraries/pretest.proj for build
ordering
- Remove hotreload-utils dependency from eng/Version.Details.xml and
eng/Version.Details.props
- Suppress analyzers on imported code (RunAnalyzers=false) matching
the illink pattern
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR vendors the hotreload-utils delta generation toolchain into the runtime repo under src/tools/hotreload-delta-gen/, replaces the external NuGet-based integration with in-repo MSBuild targets, and updates existing consumers to use the in-repo targets.

Changes:

  • Added in-repo hot reload delta generator source (tool + MSBuild task + shared data/types) under src/tools/hotreload-delta-gen/.
  • Introduced eng/testing/hotreload-delta-gen.targets to replace the NuGet package .targets and updated consumers to import it.
  • Removed the dotnet/hotreload-utils dependency from versioning files and ensured build ordering via src/libraries/pretest.proj.

Reviewed changes

Copilot reviewed 43 out of 43 changed files in this pull request and generated 9 comments.

Show a summary per file
FileDescription
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/FSWGen.csAdds FileSystemWatcher-to-Channel async event streaming for live delta generation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/AsyncEnumerableExtras.csAdds helper to provide an empty IAsyncEnumerable<T>.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/ParsedScript.csAdds parsed-script representation for scripted delta runs.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/Json/Parsing.csAdds JSON parsing for scripted delta input.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/ScriptRunner.csAdds runner that reads a script file and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/LiveRunner.csAdds runner that watches the filesystem for live edits and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runner.csAdds common runner orchestration (baseline setup, capability handling, delta loop).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Plan/Change.csAdds plan/change primitives used across scripted/live modes.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Microsoft.DotNet.HotReload.Utils.Generator.csprojDefines the generator project and Roslyn/MSBuild dependencies.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EnC/EditAndContinueCapabilities.csVendors EnC capability enum used for Roslyn Hot Reload integration.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EditAndContinueCapabilitiesParser.csAdds parsing of capability strings into enum values.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DocResolver.csAdds file-path → DocumentId mapping for Roslyn documents.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DiffyException.csAdds typed exception with process exit code propagation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaProject.csCore delta build logic using Roslyn HotReloadService.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaOutputStreams.csWraps delta output streams and disposal semantics.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaNaming.csDefines naming convention for emitted delta artifacts per revision.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Delta.csDefines delta input record for the generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Config.csAdds config model and builder for scripted/live invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineProject.csAdds baseline project loading and HotReloadService session setup.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineArtifacts.csDefines baseline artifacts bundle passed through generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/Microsoft.DotNet.HotReload.Utils.Generator.Tasks.csprojAdds MSBuild task project used by the new targets file.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/HotReloadDeltaGeneratorComputeScriptOutputs.csAdds MSBuild task to compute incremental inputs/outputs from the delta script.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Microsoft.DotNet.HotReload.Utils.Generator.Frontend.csprojAdds CLI frontend project for the generator.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Frontend.csAdds argument parsing and exit-code handling for CLI invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/UpdateHandlerInfo.csAdds JSON-serializable update handler info payload.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/ScriptCapabilitiesConverter.csAdds JSON converter to support capabilities as string or string array.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/Script.csAdds JSON model types for delta scripts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/OutputSummary/OutputSummary.csAdds JSON model types for delta output summaries.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Microsoft.DotNet.HotReload.Utils.Generator.Data.csprojAdds data-only project for shared contracts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/README.mdDocuments the build tool usage (historical/package-oriented wording).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Program.csAdds entrypoint forwarding to the CLI frontend.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool.csprojAdds executable build-tool project.
src/tools/hotreload-delta-gen/Directory.Build.targetsImports parent tool build targets for this tool subtree.
src/tools/hotreload-delta-gen/Directory.Build.propsSets TFM/lang/nullable and disables analyzers for imported code.
src/tools/hotreload-delta-gen/Common/TempDirectory.csAdds temp directory helper.
src/tests/FunctionalTests/WebAssembly/Browser/HotReload/ApplyUpdateReferencedAssembly/ApplyUpdateReferencedAssembly.csprojSwitches from NuGet package reference to importing in-repo targets.
src/mono/sample/mbr/console/ConsoleDelta.csprojSwitches from NuGet package reference to importing in-repo targets.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.targetsImports in-repo hotreload delta gen targets for ApplyUpdate tests.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.propsRemoves NuGet package reference for delta generation in ApplyUpdate tests.
src/libraries/pretest.projAdds tool/task projects to pretest build ordering.
eng/Version.Details.xmlRemoves hotreload-utils dependency entry.
eng/Version.Details.propsRemoves hotreload-utils version properties.
eng/testing/hotreload-delta-gen.targetsNew in-repo MSBuild targets replacing the NuGet-provided .targets.

Comment threadsrc/tools/hotreload-delta-gen/Directory.Build.props
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
CopilotAI review requested due to automatic review settings April 8, 2026 19:08

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 5 comments.

Comment threadeng/testing/hotreload-delta-gen.targets Outdated
Comment threadeng/testing/hotreload-delta-gen.targets Outdated
CopilotAI review requested due to automatic review settings April 9, 2026 14:32
akoeplingerand others added 2 commits April 9, 2026 16:34
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 2 comments.

Comment threadeng/testing/hotreload-delta-gen.targets
@akoeplinger

Copy link
Copy Markdown
Member

/ba-g unrelated infrastructure failures

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@steveisok@akoeplinger@thaystg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Merge hotreload-utils source into runtime repo - #126512

Merged
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils
Apr 10, 2026
Merged

Merge hotreload-utils source into runtime repo#126512
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils

Conversation

@steveisok

Copy link
Copy Markdown
Member

Copy the hotreload-utils source code from dotnet/hotreload-utils into src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference with direct in-repo MSBuild targets, eliminating the cross-repo dependency.

Changes:

  • Add 5 projects + shared code from hotreload-utils under src/tools/hotreload-delta-gen/
  • Create eng/testing/hotreload-delta-gen.targets replacing the NuGet package's .targets file
  • Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono sample) to import local targets instead of NuGet package
  • Add BuildTool and Tasks to src/libraries/pretest.proj for build ordering
  • Remove hotreload-utils dependency from eng/Version.Details.xml and eng/Version.Details.props
  • Suppress analyzers on imported code (RunAnalyzers=false) matching the illink pattern

Copy the hotreload-utils source code from dotnet/hotreload-utils into
src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference
with direct in-repo MSBuild targets, eliminating the cross-repo
dependency.
Changes:
- Add 5 projects + shared code from hotreload-utils under
src/tools/hotreload-delta-gen/
- Create eng/testing/hotreload-delta-gen.targets replacing the NuGet
package's .targets file
- Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono
sample) to import local targets instead of NuGet package
- Add BuildTool and Tasks to src/libraries/pretest.proj for build
ordering
- Remove hotreload-utils dependency from eng/Version.Details.xml and
eng/Version.Details.props
- Suppress analyzers on imported code (RunAnalyzers=false) matching
the illink pattern
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR vendors the hotreload-utils delta generation toolchain into the runtime repo under src/tools/hotreload-delta-gen/, replaces the external NuGet-based integration with in-repo MSBuild targets, and updates existing consumers to use the in-repo targets.

Changes:

  • Added in-repo hot reload delta generator source (tool + MSBuild task + shared data/types) under src/tools/hotreload-delta-gen/.
  • Introduced eng/testing/hotreload-delta-gen.targets to replace the NuGet package .targets and updated consumers to import it.
  • Removed the dotnet/hotreload-utils dependency from versioning files and ensured build ordering via src/libraries/pretest.proj.

Reviewed changes

Copilot reviewed 43 out of 43 changed files in this pull request and generated 9 comments.

Show a summary per file
FileDescription
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/FSWGen.csAdds FileSystemWatcher-to-Channel async event streaming for live delta generation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/AsyncEnumerableExtras.csAdds helper to provide an empty IAsyncEnumerable<T>.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/ParsedScript.csAdds parsed-script representation for scripted delta runs.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/Json/Parsing.csAdds JSON parsing for scripted delta input.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/ScriptRunner.csAdds runner that reads a script file and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/LiveRunner.csAdds runner that watches the filesystem for live edits and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runner.csAdds common runner orchestration (baseline setup, capability handling, delta loop).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Plan/Change.csAdds plan/change primitives used across scripted/live modes.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Microsoft.DotNet.HotReload.Utils.Generator.csprojDefines the generator project and Roslyn/MSBuild dependencies.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EnC/EditAndContinueCapabilities.csVendors EnC capability enum used for Roslyn Hot Reload integration.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EditAndContinueCapabilitiesParser.csAdds parsing of capability strings into enum values.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DocResolver.csAdds file-path → DocumentId mapping for Roslyn documents.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DiffyException.csAdds typed exception with process exit code propagation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaProject.csCore delta build logic using Roslyn HotReloadService.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaOutputStreams.csWraps delta output streams and disposal semantics.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaNaming.csDefines naming convention for emitted delta artifacts per revision.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Delta.csDefines delta input record for the generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Config.csAdds config model and builder for scripted/live invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineProject.csAdds baseline project loading and HotReloadService session setup.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineArtifacts.csDefines baseline artifacts bundle passed through generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/Microsoft.DotNet.HotReload.Utils.Generator.Tasks.csprojAdds MSBuild task project used by the new targets file.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/HotReloadDeltaGeneratorComputeScriptOutputs.csAdds MSBuild task to compute incremental inputs/outputs from the delta script.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Microsoft.DotNet.HotReload.Utils.Generator.Frontend.csprojAdds CLI frontend project for the generator.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Frontend.csAdds argument parsing and exit-code handling for CLI invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/UpdateHandlerInfo.csAdds JSON-serializable update handler info payload.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/ScriptCapabilitiesConverter.csAdds JSON converter to support capabilities as string or string array.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/Script.csAdds JSON model types for delta scripts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/OutputSummary/OutputSummary.csAdds JSON model types for delta output summaries.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Microsoft.DotNet.HotReload.Utils.Generator.Data.csprojAdds data-only project for shared contracts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/README.mdDocuments the build tool usage (historical/package-oriented wording).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Program.csAdds entrypoint forwarding to the CLI frontend.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool.csprojAdds executable build-tool project.
src/tools/hotreload-delta-gen/Directory.Build.targetsImports parent tool build targets for this tool subtree.
src/tools/hotreload-delta-gen/Directory.Build.propsSets TFM/lang/nullable and disables analyzers for imported code.
src/tools/hotreload-delta-gen/Common/TempDirectory.csAdds temp directory helper.
src/tests/FunctionalTests/WebAssembly/Browser/HotReload/ApplyUpdateReferencedAssembly/ApplyUpdateReferencedAssembly.csprojSwitches from NuGet package reference to importing in-repo targets.
src/mono/sample/mbr/console/ConsoleDelta.csprojSwitches from NuGet package reference to importing in-repo targets.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.targetsImports in-repo hotreload delta gen targets for ApplyUpdate tests.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.propsRemoves NuGet package reference for delta generation in ApplyUpdate tests.
src/libraries/pretest.projAdds tool/task projects to pretest build ordering.
eng/Version.Details.xmlRemoves hotreload-utils dependency entry.
eng/Version.Details.propsRemoves hotreload-utils version properties.
eng/testing/hotreload-delta-gen.targetsNew in-repo MSBuild targets replacing the NuGet-provided .targets.

Comment threadsrc/tools/hotreload-delta-gen/Directory.Build.props
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
CopilotAI review requested due to automatic review settings April 8, 2026 19:08

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 5 comments.

Comment threadeng/testing/hotreload-delta-gen.targets Outdated
Comment threadeng/testing/hotreload-delta-gen.targets Outdated
CopilotAI review requested due to automatic review settings April 9, 2026 14:32
akoeplingerand others added 2 commits April 9, 2026 16:34
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 2 comments.

Comment threadeng/testing/hotreload-delta-gen.targets
@akoeplinger

Copy link
Copy Markdown
Member

/ba-g unrelated infrastructure failures

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@steveisok@akoeplinger@thaystg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Merge hotreload-utils source into runtime repo - #126512

Merged
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils
Apr 10, 2026
Merged

Merge hotreload-utils source into runtime repo#126512
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils

Conversation

@steveisok

Copy link
Copy Markdown
Member

Copy the hotreload-utils source code from dotnet/hotreload-utils into src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference with direct in-repo MSBuild targets, eliminating the cross-repo dependency.

Changes:

  • Add 5 projects + shared code from hotreload-utils under src/tools/hotreload-delta-gen/
  • Create eng/testing/hotreload-delta-gen.targets replacing the NuGet package's .targets file
  • Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono sample) to import local targets instead of NuGet package
  • Add BuildTool and Tasks to src/libraries/pretest.proj for build ordering
  • Remove hotreload-utils dependency from eng/Version.Details.xml and eng/Version.Details.props
  • Suppress analyzers on imported code (RunAnalyzers=false) matching the illink pattern

Copy the hotreload-utils source code from dotnet/hotreload-utils into
src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference
with direct in-repo MSBuild targets, eliminating the cross-repo
dependency.
Changes:
- Add 5 projects + shared code from hotreload-utils under
src/tools/hotreload-delta-gen/
- Create eng/testing/hotreload-delta-gen.targets replacing the NuGet
package's .targets file
- Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono
sample) to import local targets instead of NuGet package
- Add BuildTool and Tasks to src/libraries/pretest.proj for build
ordering
- Remove hotreload-utils dependency from eng/Version.Details.xml and
eng/Version.Details.props
- Suppress analyzers on imported code (RunAnalyzers=false) matching
the illink pattern
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR vendors the hotreload-utils delta generation toolchain into the runtime repo under src/tools/hotreload-delta-gen/, replaces the external NuGet-based integration with in-repo MSBuild targets, and updates existing consumers to use the in-repo targets.

Changes:

  • Added in-repo hot reload delta generator source (tool + MSBuild task + shared data/types) under src/tools/hotreload-delta-gen/.
  • Introduced eng/testing/hotreload-delta-gen.targets to replace the NuGet package .targets and updated consumers to import it.
  • Removed the dotnet/hotreload-utils dependency from versioning files and ensured build ordering via src/libraries/pretest.proj.

Reviewed changes

Copilot reviewed 43 out of 43 changed files in this pull request and generated 9 comments.

Show a summary per file
FileDescription
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/FSWGen.csAdds FileSystemWatcher-to-Channel async event streaming for live delta generation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/AsyncEnumerableExtras.csAdds helper to provide an empty IAsyncEnumerable<T>.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/ParsedScript.csAdds parsed-script representation for scripted delta runs.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/Json/Parsing.csAdds JSON parsing for scripted delta input.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/ScriptRunner.csAdds runner that reads a script file and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/LiveRunner.csAdds runner that watches the filesystem for live edits and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runner.csAdds common runner orchestration (baseline setup, capability handling, delta loop).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Plan/Change.csAdds plan/change primitives used across scripted/live modes.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Microsoft.DotNet.HotReload.Utils.Generator.csprojDefines the generator project and Roslyn/MSBuild dependencies.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EnC/EditAndContinueCapabilities.csVendors EnC capability enum used for Roslyn Hot Reload integration.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EditAndContinueCapabilitiesParser.csAdds parsing of capability strings into enum values.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DocResolver.csAdds file-path → DocumentId mapping for Roslyn documents.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DiffyException.csAdds typed exception with process exit code propagation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaProject.csCore delta build logic using Roslyn HotReloadService.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaOutputStreams.csWraps delta output streams and disposal semantics.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaNaming.csDefines naming convention for emitted delta artifacts per revision.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Delta.csDefines delta input record for the generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Config.csAdds config model and builder for scripted/live invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineProject.csAdds baseline project loading and HotReloadService session setup.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineArtifacts.csDefines baseline artifacts bundle passed through generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/Microsoft.DotNet.HotReload.Utils.Generator.Tasks.csprojAdds MSBuild task project used by the new targets file.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/HotReloadDeltaGeneratorComputeScriptOutputs.csAdds MSBuild task to compute incremental inputs/outputs from the delta script.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Microsoft.DotNet.HotReload.Utils.Generator.Frontend.csprojAdds CLI frontend project for the generator.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Frontend.csAdds argument parsing and exit-code handling for CLI invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/UpdateHandlerInfo.csAdds JSON-serializable update handler info payload.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/ScriptCapabilitiesConverter.csAdds JSON converter to support capabilities as string or string array.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/Script.csAdds JSON model types for delta scripts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/OutputSummary/OutputSummary.csAdds JSON model types for delta output summaries.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Microsoft.DotNet.HotReload.Utils.Generator.Data.csprojAdds data-only project for shared contracts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/README.mdDocuments the build tool usage (historical/package-oriented wording).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Program.csAdds entrypoint forwarding to the CLI frontend.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool.csprojAdds executable build-tool project.
src/tools/hotreload-delta-gen/Directory.Build.targetsImports parent tool build targets for this tool subtree.
src/tools/hotreload-delta-gen/Directory.Build.propsSets TFM/lang/nullable and disables analyzers for imported code.
src/tools/hotreload-delta-gen/Common/TempDirectory.csAdds temp directory helper.
src/tests/FunctionalTests/WebAssembly/Browser/HotReload/ApplyUpdateReferencedAssembly/ApplyUpdateReferencedAssembly.csprojSwitches from NuGet package reference to importing in-repo targets.
src/mono/sample/mbr/console/ConsoleDelta.csprojSwitches from NuGet package reference to importing in-repo targets.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.targetsImports in-repo hotreload delta gen targets for ApplyUpdate tests.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.propsRemoves NuGet package reference for delta generation in ApplyUpdate tests.
src/libraries/pretest.projAdds tool/task projects to pretest build ordering.
eng/Version.Details.xmlRemoves hotreload-utils dependency entry.
eng/Version.Details.propsRemoves hotreload-utils version properties.
eng/testing/hotreload-delta-gen.targetsNew in-repo MSBuild targets replacing the NuGet-provided .targets.

Comment threadsrc/tools/hotreload-delta-gen/Directory.Build.props
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
CopilotAI review requested due to automatic review settings April 8, 2026 19:08

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 5 comments.

Comment threadeng/testing/hotreload-delta-gen.targets Outdated
Comment threadeng/testing/hotreload-delta-gen.targets Outdated
CopilotAI review requested due to automatic review settings April 9, 2026 14:32
akoeplingerand others added 2 commits April 9, 2026 16:34
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 2 comments.

Comment threadeng/testing/hotreload-delta-gen.targets
@akoeplinger

Copy link
Copy Markdown
Member

/ba-g unrelated infrastructure failures

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@steveisok@akoeplinger@thaystg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Merge hotreload-utils source into runtime repo - #126512

Merged
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils
Apr 10, 2026
Merged

Merge hotreload-utils source into runtime repo#126512
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils

Conversation

@steveisok

Copy link
Copy Markdown
Member

Copy the hotreload-utils source code from dotnet/hotreload-utils into src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference with direct in-repo MSBuild targets, eliminating the cross-repo dependency.

Changes:

  • Add 5 projects + shared code from hotreload-utils under src/tools/hotreload-delta-gen/
  • Create eng/testing/hotreload-delta-gen.targets replacing the NuGet package's .targets file
  • Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono sample) to import local targets instead of NuGet package
  • Add BuildTool and Tasks to src/libraries/pretest.proj for build ordering
  • Remove hotreload-utils dependency from eng/Version.Details.xml and eng/Version.Details.props
  • Suppress analyzers on imported code (RunAnalyzers=false) matching the illink pattern

Copy the hotreload-utils source code from dotnet/hotreload-utils into
src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference
with direct in-repo MSBuild targets, eliminating the cross-repo
dependency.
Changes:
- Add 5 projects + shared code from hotreload-utils under
src/tools/hotreload-delta-gen/
- Create eng/testing/hotreload-delta-gen.targets replacing the NuGet
package's .targets file
- Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono
sample) to import local targets instead of NuGet package
- Add BuildTool and Tasks to src/libraries/pretest.proj for build
ordering
- Remove hotreload-utils dependency from eng/Version.Details.xml and
eng/Version.Details.props
- Suppress analyzers on imported code (RunAnalyzers=false) matching
the illink pattern
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR vendors the hotreload-utils delta generation toolchain into the runtime repo under src/tools/hotreload-delta-gen/, replaces the external NuGet-based integration with in-repo MSBuild targets, and updates existing consumers to use the in-repo targets.

Changes:

  • Added in-repo hot reload delta generator source (tool + MSBuild task + shared data/types) under src/tools/hotreload-delta-gen/.
  • Introduced eng/testing/hotreload-delta-gen.targets to replace the NuGet package .targets and updated consumers to import it.
  • Removed the dotnet/hotreload-utils dependency from versioning files and ensured build ordering via src/libraries/pretest.proj.

Reviewed changes

Copilot reviewed 43 out of 43 changed files in this pull request and generated 9 comments.

Show a summary per file
FileDescription
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/FSWGen.csAdds FileSystemWatcher-to-Channel async event streaming for live delta generation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/AsyncEnumerableExtras.csAdds helper to provide an empty IAsyncEnumerable<T>.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/ParsedScript.csAdds parsed-script representation for scripted delta runs.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/Json/Parsing.csAdds JSON parsing for scripted delta input.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/ScriptRunner.csAdds runner that reads a script file and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/LiveRunner.csAdds runner that watches the filesystem for live edits and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runner.csAdds common runner orchestration (baseline setup, capability handling, delta loop).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Plan/Change.csAdds plan/change primitives used across scripted/live modes.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Microsoft.DotNet.HotReload.Utils.Generator.csprojDefines the generator project and Roslyn/MSBuild dependencies.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EnC/EditAndContinueCapabilities.csVendors EnC capability enum used for Roslyn Hot Reload integration.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EditAndContinueCapabilitiesParser.csAdds parsing of capability strings into enum values.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DocResolver.csAdds file-path → DocumentId mapping for Roslyn documents.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DiffyException.csAdds typed exception with process exit code propagation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaProject.csCore delta build logic using Roslyn HotReloadService.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaOutputStreams.csWraps delta output streams and disposal semantics.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaNaming.csDefines naming convention for emitted delta artifacts per revision.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Delta.csDefines delta input record for the generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Config.csAdds config model and builder for scripted/live invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineProject.csAdds baseline project loading and HotReloadService session setup.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineArtifacts.csDefines baseline artifacts bundle passed through generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/Microsoft.DotNet.HotReload.Utils.Generator.Tasks.csprojAdds MSBuild task project used by the new targets file.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/HotReloadDeltaGeneratorComputeScriptOutputs.csAdds MSBuild task to compute incremental inputs/outputs from the delta script.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Microsoft.DotNet.HotReload.Utils.Generator.Frontend.csprojAdds CLI frontend project for the generator.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Frontend.csAdds argument parsing and exit-code handling for CLI invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/UpdateHandlerInfo.csAdds JSON-serializable update handler info payload.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/ScriptCapabilitiesConverter.csAdds JSON converter to support capabilities as string or string array.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/Script.csAdds JSON model types for delta scripts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/OutputSummary/OutputSummary.csAdds JSON model types for delta output summaries.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Microsoft.DotNet.HotReload.Utils.Generator.Data.csprojAdds data-only project for shared contracts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/README.mdDocuments the build tool usage (historical/package-oriented wording).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Program.csAdds entrypoint forwarding to the CLI frontend.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool.csprojAdds executable build-tool project.
src/tools/hotreload-delta-gen/Directory.Build.targetsImports parent tool build targets for this tool subtree.
src/tools/hotreload-delta-gen/Directory.Build.propsSets TFM/lang/nullable and disables analyzers for imported code.
src/tools/hotreload-delta-gen/Common/TempDirectory.csAdds temp directory helper.
src/tests/FunctionalTests/WebAssembly/Browser/HotReload/ApplyUpdateReferencedAssembly/ApplyUpdateReferencedAssembly.csprojSwitches from NuGet package reference to importing in-repo targets.
src/mono/sample/mbr/console/ConsoleDelta.csprojSwitches from NuGet package reference to importing in-repo targets.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.targetsImports in-repo hotreload delta gen targets for ApplyUpdate tests.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.propsRemoves NuGet package reference for delta generation in ApplyUpdate tests.
src/libraries/pretest.projAdds tool/task projects to pretest build ordering.
eng/Version.Details.xmlRemoves hotreload-utils dependency entry.
eng/Version.Details.propsRemoves hotreload-utils version properties.
eng/testing/hotreload-delta-gen.targetsNew in-repo MSBuild targets replacing the NuGet-provided .targets.

Comment threadsrc/tools/hotreload-delta-gen/Directory.Build.props
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
CopilotAI review requested due to automatic review settings April 8, 2026 19:08

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 5 comments.

Comment threadeng/testing/hotreload-delta-gen.targets Outdated
Comment threadeng/testing/hotreload-delta-gen.targets Outdated
CopilotAI review requested due to automatic review settings April 9, 2026 14:32
akoeplingerand others added 2 commits April 9, 2026 16:34
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 2 comments.

Comment threadeng/testing/hotreload-delta-gen.targets
@akoeplinger

Copy link
Copy Markdown
Member

/ba-g unrelated infrastructure failures

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@steveisok@akoeplinger@thaystg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Merge hotreload-utils source into runtime repo - #126512

Merged
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils
Apr 10, 2026
Merged

Merge hotreload-utils source into runtime repo#126512
akoeplinger merged 7 commits into
dotnet:mainfrom
steveisok:merge-hotreload-utils

Conversation

@steveisok

Copy link
Copy Markdown
Member

Copy the hotreload-utils source code from dotnet/hotreload-utils into src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference with direct in-repo MSBuild targets, eliminating the cross-repo dependency.

Changes:

  • Add 5 projects + shared code from hotreload-utils under src/tools/hotreload-delta-gen/
  • Create eng/testing/hotreload-delta-gen.targets replacing the NuGet package's .targets file
  • Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono sample) to import local targets instead of NuGet package
  • Add BuildTool and Tasks to src/libraries/pretest.proj for build ordering
  • Remove hotreload-utils dependency from eng/Version.Details.xml and eng/Version.Details.props
  • Suppress analyzers on imported code (RunAnalyzers=false) matching the illink pattern

Copy the hotreload-utils source code from dotnet/hotreload-utils into
src/tools/hotreload-delta-gen/ and replace the NuGet PackageReference
with direct in-repo MSBuild targets, eliminating the cross-repo
dependency.
Changes:
- Add 5 projects + shared code from hotreload-utils under
src/tools/hotreload-delta-gen/
- Create eng/testing/hotreload-delta-gen.targets replacing the NuGet
package's .targets file
- Update 3 consumers (ApplyUpdate tests, WASM HotReload test, Mono
sample) to import local targets instead of NuGet package
- Add BuildTool and Tasks to src/libraries/pretest.proj for build
ordering
- Remove hotreload-utils dependency from eng/Version.Details.xml and
eng/Version.Details.props
- Suppress analyzers on imported code (RunAnalyzers=false) matching
the illink pattern
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR vendors the hotreload-utils delta generation toolchain into the runtime repo under src/tools/hotreload-delta-gen/, replaces the external NuGet-based integration with in-repo MSBuild targets, and updates existing consumers to use the in-repo targets.

Changes:

  • Added in-repo hot reload delta generator source (tool + MSBuild task + shared data/types) under src/tools/hotreload-delta-gen/.
  • Introduced eng/testing/hotreload-delta-gen.targets to replace the NuGet package .targets and updated consumers to import it.
  • Removed the dotnet/hotreload-utils dependency from versioning files and ensured build ordering via src/libraries/pretest.proj.

Reviewed changes

Copilot reviewed 43 out of 43 changed files in this pull request and generated 9 comments.

Show a summary per file
FileDescription
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/FSWGen.csAdds FileSystemWatcher-to-Channel async event streaming for live delta generation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Util/AsyncEnumerableExtras.csAdds helper to provide an empty IAsyncEnumerable<T>.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/ParsedScript.csAdds parsed-script representation for scripted delta runs.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Script/Json/Parsing.csAdds JSON parsing for scripted delta input.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/ScriptRunner.csAdds runner that reads a script file and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runners/LiveRunner.csAdds runner that watches the filesystem for live edits and generates deltas.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Runner.csAdds common runner orchestration (baseline setup, capability handling, delta loop).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Plan/Change.csAdds plan/change primitives used across scripted/live modes.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Microsoft.DotNet.HotReload.Utils.Generator.csprojDefines the generator project and Roslyn/MSBuild dependencies.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EnC/EditAndContinueCapabilities.csVendors EnC capability enum used for Roslyn Hot Reload integration.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/EditAndContinueCapabilitiesParser.csAdds parsing of capability strings into enum values.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DocResolver.csAdds file-path → DocumentId mapping for Roslyn documents.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DiffyException.csAdds typed exception with process exit code propagation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaProject.csCore delta build logic using Roslyn HotReloadService.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaOutputStreams.csWraps delta output streams and disposal semantics.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/DeltaNaming.csDefines naming convention for emitted delta artifacts per revision.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Delta.csDefines delta input record for the generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/Config.csAdds config model and builder for scripted/live invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineProject.csAdds baseline project loading and HotReloadService session setup.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator/BaselineArtifacts.csDefines baseline artifacts bundle passed through generation pipeline.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/Microsoft.DotNet.HotReload.Utils.Generator.Tasks.csprojAdds MSBuild task project used by the new targets file.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Tasks/HotReloadDeltaGeneratorComputeScriptOutputs.csAdds MSBuild task to compute incremental inputs/outputs from the delta script.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Microsoft.DotNet.HotReload.Utils.Generator.Frontend.csprojAdds CLI frontend project for the generator.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Frontend/Frontend.csAdds argument parsing and exit-code handling for CLI invocation.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/UpdateHandlerInfo.csAdds JSON-serializable update handler info payload.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/ScriptCapabilitiesConverter.csAdds JSON converter to support capabilities as string or string array.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Script/Json/Script.csAdds JSON model types for delta scripts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/OutputSummary/OutputSummary.csAdds JSON model types for delta output summaries.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.Data/Microsoft.DotNet.HotReload.Utils.Generator.Data.csprojAdds data-only project for shared contracts.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/README.mdDocuments the build tool usage (historical/package-oriented wording).
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Program.csAdds entrypoint forwarding to the CLI frontend.
src/tools/hotreload-delta-gen/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool.csprojAdds executable build-tool project.
src/tools/hotreload-delta-gen/Directory.Build.targetsImports parent tool build targets for this tool subtree.
src/tools/hotreload-delta-gen/Directory.Build.propsSets TFM/lang/nullable and disables analyzers for imported code.
src/tools/hotreload-delta-gen/Common/TempDirectory.csAdds temp directory helper.
src/tests/FunctionalTests/WebAssembly/Browser/HotReload/ApplyUpdateReferencedAssembly/ApplyUpdateReferencedAssembly.csprojSwitches from NuGet package reference to importing in-repo targets.
src/mono/sample/mbr/console/ConsoleDelta.csprojSwitches from NuGet package reference to importing in-repo targets.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.targetsImports in-repo hotreload delta gen targets for ApplyUpdate tests.
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/Directory.Build.propsRemoves NuGet package reference for delta generation in ApplyUpdate tests.
src/libraries/pretest.projAdds tool/task projects to pretest build ordering.
eng/Version.Details.xmlRemoves hotreload-utils dependency entry.
eng/Version.Details.propsRemoves hotreload-utils version properties.
eng/testing/hotreload-delta-gen.targetsNew in-repo MSBuild targets replacing the NuGet-provided .targets.

Comment threadsrc/tools/hotreload-delta-gen/Directory.Build.props
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
CopilotAI review requested due to automatic review settings April 8, 2026 19:08

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 5 comments.

Comment threadeng/testing/hotreload-delta-gen.targets Outdated
Comment threadeng/testing/hotreload-delta-gen.targets Outdated
CopilotAI review requested due to automatic review settings April 9, 2026 14:32
akoeplingerand others added 2 commits April 9, 2026 16:34
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 43 out of 43 changed files in this pull request and generated 2 comments.

Comment threadeng/testing/hotreload-delta-gen.targets
@akoeplinger

Copy link
Copy Markdown
Member

/ba-g unrelated infrastructure failures

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@steveisok@akoeplinger@thaystg