Repository navigation
Split DiffEngineTray's package from the Windows head - #1015
Merged
Merged
Conversation
src/DiffEngineTray was both the Windows tray and the DiffEngineTray package, which names a package for each RID and holds nothing else. Its build for no RID packed that list, and first built the Linux and Mac heads for each of their RIDs, so TrayHead.targets had a branch only one head took (TrayPointer). The head is now src/DiffEngineTray.Windows, named DiffEngineTray with DiffEngineTray as its root namespace, as the other two heads are, so its pictures and forms keep their resource names. src/DiffEngineTray is the package and nothing else: ToolPackageRuntimeIdentifiers, PackTrayHeads, and references to the three heads for build order only. The SDK packs a tool only from an Exe, and builds it though the package holds none of its output, so it has a Program.cs that ships nowhere. What the package is called and says about itself is TrayPackage.props, which both import. The seven packages have the same entries as before. The Linux and macOS ones are byte for byte the same; the Windows head's dll differs only in its embedded PDB, which names the moved source files. DiffEngineTray's nuspec no longer names a Windows Forms framework reference, which came from the Windows head and meant nothing for a package of no code.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
src/DiffEngineTraywas two things: the Windows tray, and theDiffEngineTraypackage, which names a package for each RID and holds nothing else. Its build with no RID packed that list, and first built the Linux and Mac heads for each of their RIDs. SoTrayHead.targetshad a branch that only one head took (TrayPointer), and a Release build of the Windows tray built every other head six ways.The change.
src/DiffEngineTray.Windowsis the Windows head, moved as it was. It now setsAssemblyNameandRootNamespacetoDiffEngineTray, as the Linux and Mac heads do, so the core'sInternalsVisibleTostill names it and its pictures and forms keep their resource names. Like the other two heads, its build with no RID packs nothing.src/DiffEngineTrayis the list package and nothing else:ToolPackageRuntimeIdentifiersandPackTrayHeads, moved out ofTrayHead.targets;The SDK packs a tool only from an
Exe, and builds that project even though the package holds none of its output. So the project has a three-lineProgram.csthat ships nowhere.TrayPackage.props(new, in the core) holds what the package is called and says about itself:PackAsTool,PackageId,ToolCommandNameandDescription.TrayHead.targetsand the list project both import it, so the description is written once.TrayHead.targetsloses itsTrayPointerbranches.Paths:
IconPixelsTests;DiffEngineTray.Tests' reference to the head.Docs: CLAUDE.md.
Tests. Locally on Windows, a Release build had no errors:
A Debug build also had no errors.
I also compared all seven packages with a Release build of
mainat the commit this branches from:DiffEngineTray.dll. Its manifest resources are the same, and the difference is its embedded PDB, which records the moved source paths.DiffEngineTray's nuspec no longer lists aMicrosoft.WindowsDesktop.App.WindowsFormsframework reference. That came from the Windows head, and doesn't apply to a package with no code in it.Not seen working. CI's
tray-installjob installs from these packages on all three platforms, so this PR's run is the first install from them.