Reduced native nuspec (removed ch.exe from nuspec) #2453
Closed
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.
(Mainly discussion -- don't merge yet.)
See #85 #2266 #2435
Advantage of this change: package size is smaller, although not by a huge amount. Uncompressed size difference is greater, but again, by a relatively small percentage of the remaining size.
Package sizes:
Disadvantage of this change: for people who are interested in trying out the features by using ch.exe, they would have to build ch.exe themselves instead of having it already-available in the package. NuGet packages are our primary release distribution mechanism (the other being the files attached to GitHub releases) and they are the only release mechanism for preview builds, so this change would reduce the accessibility of ch.exe to developers who want to quickly explore new features or other changes between builds.
In summary, I'm personally leaning against this change as-is. I think another alternative can be found to solve the scenario of needing smaller package sizes.
For instance, we could add definitions for flavor-specific packages for Native in addition to .NET which only include the files necessary for development (i.e. not ch.exe). This also allows a developer who is only interested in targeting a specific architecture (for a low-memory device like an embedded system) to download a package containing just the files they need.
The disadvantage of such a proposal is that it represents yet more packages to maintain and publish on our end.
A compromise is to provide nuspec files for these flavor-specific configurations as well as reduced-size-for-all-flavors (this PR as a separate file) which would allow developers that need those specific configurations to repackage our nupkg for their needs, or easily build their own.