Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bring in Chocolatey patchset. #6

Conversation

TheCakeIsNaOH
Copy link
Member

@TheCakeIsNaOH TheCakeIsNaOH commented Nov 8, 2022

This brings in the Chocolatey patch set of changes to NuGet.Client.
This no longer includes modifications for side by side installs, or the prototype for adding actions into the package manager class.
It includes the extra two commits from #1 relating to building in Team City

This follows the proposed branch structure from: chocolatey/choco#2740 (comment)
It is based on 6.4.x. Then any future changes from upstream release-6.4.x can be merged in, and any further modifications can be added to this branch. Once version 6.5 is released upstream, and branch release-6.5.x is available upstream, the patchset on release-6.4.x can be cherry-picked and put on top of release-6.5.x as a concise set of commits. This allows rebasing the modifications regularly on upstream code, while avoiding rewriting history or large numbers of merge commits with a complex history.

In terms of updating the the patchset on top of upstream, I rebased this from code at 6.3.x, and the only merge issues where in the PublicAPIUnshippped.txt files and the strongname keys in AssemblyInfo.cs files, both of which were simple fixes. Also, looking at the commit history for most of the touched files, it seems like code changes are in some of the lower velocity areas, so hopefully it will continue to be easy to bring this forward.

kartheekp-ms and others added 17 commits November 7, 2022 08:18
Extend Nuspec metadata to include:

- Project source url
- Package source url
- Docs url
- Wiki Url
- Mailing List Url
- Bug Tracker Url

Adding the following elements, reserving for future use with respect to
package relationships.
- Replaces
- Provides
- Conflicts

This brings forward these commits:
chocolatey/nuget-chocolatey@9b703a8
chocolatey/nuget-chocolatey@4e28997
chocolatey/nuget-chocolatey@b9c4bc5

Co-Authored-By: Rob Reynolds <63502+ferventcoder@users.noreply.github.com>
Along with moderation related information, provide other data that is
provided by the server metadata.

- PackageHash
- PackageHashAlgorithm
- PackageSize
- VersionDownloadCount
- IsApproved
- PackageStatus
- PackageSubmittedStatus
- PackageTestResultStatus
- PackageTestResultStatusDate
- PackageValidationResultStatus
- PackageValidationResultDate
- PackageCleanupResultDate
- PackageReviewedDate
- PackageApprovedDate
- PackageReviewer
- IsDownloadCacheAvailable
- DownloadCacheDate
- DownloadCache

Based on these commits:
chocolatey/nuget-chocolatey@3866411
chocolatey/nuget-chocolatey@133552a

Co-Authored-By: Rob Reynolds <63502+ferventcoder@users.noreply.github.com>
Allow passing a specific proxy into the proxy cache that is used no
matter what.

Based on these commits:
chocolatey/nuget-chocolatey@4b206ed
chocolatey/nuget-chocolatey@26559a4

Co-Authored-By: Rob Reynolds <63502+ferventcoder@users.noreply.github.com>
Co-Authored-By: Jakub Cisło <8983541+Cubix651@users.noreply.github.com>
Exposing these allows more efficent direct usage.
As Chocolatey, we never want to create the NuGet.Config file, as this is
not used by Chocolatey at all. As such, rather than GetOrCreateDocument,
if the filepath doesn't exist, simply return the default empty
XDocument, which is exactly what would have been returned after creating
the file.

A few tests have to be skipped, as they rely on the config being
automatically created.

Based on this commit:
chocolatey/nuget-chocolatey@a211f19

Co-Authored-By: Gary Ewan Park <1271146+gep13@users.noreply.github.com>
Converts the path separator character in the nuspec file source to the
character that is correct for the OS that is running the packing
operation. Changes "\" to "/" on Linux and MacOS systems, and
changes "/" to "\" on Windows systems.

Keeps chocolatey/choco#2166 fixed

Based on this commit:
chocolatey/nuget-chocolatey@979a47d
This adds the Chocolatey strongname keypair used for nuget-chocolatey and
switches the sign.target to use it. This requires that the InternalsVisibleTo properties
be updated with the new public key.

Keyfile from:
chocolatey/nuget-chocolatey@7e8d686
This strips empty entries from a string with multiple entries split
by a separator.

Brought forward from:
chocolatey/nuget-chocolatey@d344d47

Co-Authored-By: Rob Reynolds <63502+ferventcoder@users.noreply.github.com>
This pulls an interface out of HttpSource called IHttpSource, and
switches usages to use the interface. Additionally, it adds a method
to HttpSourceResource to allow the IHttpSource to be switched out if
needed, so alternative implementations can be used.

Based on these commits:
chocolatey/nuget-chocolatey@19986e7
chocolatey/nuget-chocolatey@ee5f731e

Co-Authored-By: Rob Reynolds <63502+ferventcoder@users.noreply.github.com>
…g directory

This allows added files to be not deleted during package upgrades.
There is a scenario where only the BuildTools are installed on a build agent, rather than
a complete installation of Visual Studio. In this scenario, VSWhere by default doesn't
include BuildTools when querying. This is "by design".  As such, if the first attempt at
finding MSBuild return nothing, additionally check specifically for the BuildTools version,
and then gracefully fail if nothing is found.
If you don't set it specifically, after ILMerge the NuGet libraries
will show up as having Chocolatey's version. This affects the user
agent, and other uses of the library version.

Brought forward from this commit:
chocolatey/nuget-chocolatey@2a0aa36

Co-Authored-By: Rob Reynolds <63502+ferventcoder@users.noreply.github.com>
@TheCakeIsNaOH
Copy link
Member Author

Closing as invalid target and base.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants