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

Chocolatey specific modifications #1

Closed
wants to merge 18 commits into from

Conversation

gep13
Copy link
Member

@gep13 gep13 commented Oct 28, 2022

This is very much a work in progress, this is being created here so that we have an idea about the level of changes that would be required to make this all work...

TheCakeIsNaOH and others added 18 commits August 1, 2022 17:55
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.
This allows running an action after a package is installed.
Unfortunately, there is not enough metadata for them to be useful
as is, which is why they are commented out.
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.
This allows the it to be overridden to allow for differently named manifest in Chocolatey.
Specifically, when Chocolatey is using side by side, it previously included the version in of
the package in the filename of the manifest, and this allows it to be set to mimic that
previous behavior.
This sets the remaining two overloads of PackageExtractor.ExtractPackageAsync
to always extract/copy the .nuspec manifest to the filename provided by
the PackagePathResolver.GetManifestFileName method. The first overload
already respected that filename. This allows Chocolatey to override that
method to set the .nuspec filename so as to include the package version
the filename when in side by side mode to keep compatibility with
previous versions of Chocolatey.
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>
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.
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.

None yet

4 participants