/// <summary> /// Determines if a given version is better suited to the range than a current version. /// </summary> public bool IsBetter(NuGet.Versioning.NuGetVersion current, NuGet.Versioning.NuGetVersion considering) { if (ReferenceEquals(current, considering)) { return(false); } if (ReferenceEquals(considering, null)) { return(false); } if (!Satisfies(considering)) { return(false); } if (ReferenceEquals(current, null)) { return(true); } if (!HasReleaseLabel) { return(VersionComparer.Compare(current, considering, VersionComparison.VersionRelease) == -1); } // We don't want to compare the revision number as ReleaseLabel versions do not use it as main version if (!considering.IsPrerelease && current.IsPrerelease) { considering = considering.Append("-").RevisionToLabel(); } return(VersionComparer.Compare(current.Prepend(ReleaseLabel), considering.Prepend(ReleaseLabel), VersionComparison.PunditVersion) == -1); }
private List <NugetDependency> GetDependencies() { NuGet.PackageReferenceFile configFile = new NuGet.PackageReferenceFile(PackagesConfigPath); List <NuGet.PackageReference> packages = new List <NuGet.PackageReference>(configFile.GetPackageReferences()); var dependencies = new List <NugetDependency>(); foreach (var packageRef in packages) { string componentName = packageRef.Id; var version = new NuGet.Versioning.NuGetVersion(packageRef.Version.Version, packageRef.Version.SpecialVersion, packageRef.Version.Metadata); var versionRange = new NuGet.Versioning.VersionRange(version, true, version, true); NuGet.Frameworks.NuGetFramework framework = null; if (packageRef.TargetFramework != null) { try { framework = NuGet.Frameworks.NuGetFramework.Parse(packageRef.TargetFramework.FullName); } catch (Exception e) { Console.WriteLine("Unable to parse framework: " + packageRef.TargetFramework.FullName); } } var dep = new NugetDependency(componentName, versionRange, framework); dependencies.Add(dep); } return(dependencies); }
public PackageKey(string packageId, NuGet.Versioning.NuGetVersion version, string framework) { Guard.NotNull(packageId, nameof(packageId)); PackageId = packageId; Version = version; Framework = framework; }
protected IPackageSearchMetadata GeneratePackageSeachMetadata(Version version) { Mock <IPackageSearchMetadata> mockPackageSearchMetaData = new Mock <IPackageSearchMetadata>(); NuGet.Versioning.NuGetVersion nuGetVersion = new NuGet.Versioning.NuGetVersion(version); mockPackageSearchMetaData.Setup(foo => foo.Identity).Returns(new NuGet.Packaging.Core.PackageIdentity("generatedPackedId", nuGetVersion)); return(mockPackageSearchMetaData.Object); }
/// <summary> /// Parse user input for -Version switch. /// If Version is given as prerelease versions, automatically append -Prerelease /// </summary> void ParseUserInputForVersion() { if (!string.IsNullOrEmpty(Version)) { nugetVersion = PowerShellCmdletsUtility.GetNuGetVersionFromString(Version); if (nugetVersion.IsPrerelease) { versionSpecifiedPrerelease = true; } } allowPrerelease = IncludePrerelease.IsPresent || versionSpecifiedPrerelease; }
void ParseUserInputForVersion() { if (!string.IsNullOrEmpty(Version)) { // If Version is prerelease, automatically allow prerelease (i.e. append -Prerelease switch). nugetVersion = PowerShellCmdletsUtility.GetNuGetVersionFromString(Version); if (nugetVersion.IsPrerelease) { versionSpecifiedPrerelease = true; } } allowPrerelease = IncludePrerelease.IsPresent || versionSpecifiedPrerelease; }
/// <summary>Return the version that best matches the range.</summary> public NuGet.Versioning.NuGetVersion FindBestMatch(IEnumerable <NuGet.Versioning.NuGetVersion> versions) { NuGet.Versioning.NuGetVersion current = null; if (versions == null) { return(null); } foreach (var version in versions) { if (IsBetter(current, version)) { current = version; } } return(current); }
public PackageSet GetOrCreatePackageSet(PackageId package) { PackageSet set; if (packageSets.TryGetValue(package, out set)) { return(set); } else { set = new PackageSet(); set.PackageId = package; set.Dependencies = new HashSet <PackageId>(); packageSets[package] = set; NuGet.Versioning.NuGetVersion version = null; NuGet.Versioning.NuGetVersion.TryParse(package.Version, out version); versions[package] = new VersionPair() { rawVersion = package.Version, version = version }; return(set); } }
private static bool TryFindLatestVersionInFolder(string basePath, out string foundVersionFolder) { foundVersionFolder = null; try { NuGet.Versioning.NuGetVersion version = null; foreach (var versionPath in Directory.GetDirectories(basePath)) { var versionFolder = Path.GetFileName(versionPath); if (NuGet.Versioning.NuGetVersion.TryParse(versionFolder, out var checkVersion) && (version == null || version < checkVersion)) { foundVersionFolder = versionFolder; version = checkVersion; } } } catch (IOException) { } return(!String.IsNullOrEmpty(foundVersionFolder)); }
/// <summary> /// True if the given version falls into the floating range. /// </summary> public bool Satisfies(NuGet.Versioning.NuGetVersion version) { Guard.NotNull(version, nameof(version)); if (HasReleaseLabel) { if (NuGetVersionRange.MinVersion.IsPrerelease) { throw new NotSupportedException($"Versions with release labels not supported when using on-demand release labels, '{NuGetVersionRange.MinVersion}'"); } if (NuGetVersionRange.MinVersion == NuGetVersionRange.MaxVersion) { throw new NotSupportedException($"Versions with all numbers declares are not supported '{NuGetVersionRange.MinVersion}'"); } if (ReleaseLabel != null && version.IsPrerelease && !ReleaseLabel.Equals(version.ReleaseLabels.First(), StringComparison.OrdinalIgnoreCase)) { return(false); } return(GetVersionRangeWithLabel(version.IsPrerelease).Satisfies(version, VersionComparer.Pundit)); } NuGet.Versioning.VersionRange range; if (NuGetVersionRange.MaxVersion?.IsPrerelease == false && version.IsPrerelease) { range = NuGetVersionRange.ReplaceMaxVersion(NuGetVersionRange.MaxVersion.Append("-")); } else { range = NuGetVersionRange; } return(range.Satisfies(version, VersionComparer.VersionRelease)); }
/// <summary> /// Parse package identity from path to .nupkg file, such as /// https://az320820.vo.msecnd.net/packages/microsoft.aspnet.mvc.4.0.20505.nupkg /// </summary> PackageIdentity ParsePackageIdentityFromNupkgPath(string path, string divider) { if (!string.IsNullOrEmpty(path)) { string lastPart = path.Split(new [] { divider }, StringSplitOptions.RemoveEmptyEntries).LastOrDefault(); lastPart = lastPart.Replace(PackagingCoreConstants.NupkgExtension, ""); string [] parts = lastPart.Split(new [] { "." }, StringSplitOptions.RemoveEmptyEntries); var builderForId = new StringBuilder(); var builderForVersion = new StringBuilder(); foreach (string s in parts) { int n; bool isNumeric = int.TryParse(s, out n); // Take pre-release versions such as EntityFramework.6.1.3-beta1 into account. if ((!isNumeric || string.IsNullOrEmpty(builderForId.ToString())) && string.IsNullOrEmpty(builderForVersion.ToString())) { builderForId.Append(s); builderForId.Append("."); } else { builderForVersion.Append(s); builderForVersion.Append("."); } } NuGetVersion nVersion = PowerShellCmdletsUtility.GetNuGetVersionFromString(builderForVersion.ToString().TrimEnd('.')); // Set _allowPrerelease to true if nVersion is prerelease version. if (nVersion != null && nVersion.IsPrerelease) { allowPrerelease = true; } return(new PackageIdentity(builderForId.ToString().TrimEnd('.'), nVersion)); } return(null); }
public VersionInfo(NuGet.Versioning.NuGetVersion version, System.Nullable <long> downloadCount) { }
public VersionInfo(NuGet.Versioning.NuGetVersion version) { }
public SourcePackageDependencyInfo(string id, NuGet.Versioning.NuGetVersion version, System.Collections.Generic.IEnumerable <NuGet.Packaging.Core.PackageDependency> dependencies, bool listed, NuGet.Protocol.Core.Types.SourceRepository source, System.Uri downloadUri, string packageHash) : base(default(string), default(NuGet.Versioning.NuGetVersion)) { }
public LibraryIdentity(string name, NuGet.Versioning.NuGetVersion version, NuGet.LibraryModel.LibraryType type) { }
public static NuGet.Repositories.LocalPackageSourceInfo GetPackage(System.Collections.Generic.IReadOnlyList <NuGet.Repositories.NuGetv3LocalRepository> repositories, string id, NuGet.Versioning.NuGetVersion version) { throw null; }
public NuGet.Repositories.LocalPackageInfo FindPackage(string packageId, NuGet.Versioning.NuGetVersion version) { throw null; }
public VersionRangeBase(NuGet.Versioning.NuGetVersion minVersion = null, bool includeMinVersion = true, NuGet.Versioning.NuGetVersion maxVersion = null, bool includeMaxVersion = false) { }
public VersionRange(NuGet.Versioning.NuGetVersion minVersion = null, bool includeMinVersion = true, NuGet.Versioning.NuGetVersion maxVersion = null, bool includeMaxVersion = false, NuGet.Versioning.FloatRange floatRange = null, string originalString = null) : base(default(NuGet.Versioning.NuGetVersion), default(bool), default(NuGet.Versioning.NuGetVersion), default(bool)) { }
public bool Satisfies(NuGet.Versioning.NuGetVersion version, NuGet.Versioning.VersionComparison versionComparison) { throw null; }
public bool Satisfies(NuGet.Versioning.NuGetVersion version, NuGet.Versioning.IVersionComparer comparer) { throw null; }
public bool Satisfies(NuGet.Versioning.NuGetVersion version) { throw null; }
public VersionInfo(NuGet.Versioning.NuGetVersion version, string downloadCount) { }
public LocalPackageInfo(string packageId, NuGet.Versioning.NuGetVersion version, string path, string manifestPath, string zipPath) { }
public NuGetVersion(NuGet.Versioning.NuGetVersion version) : base(default(NuGet.Versioning.SemanticVersion)) { }
public bool IsBetter(NuGet.Versioning.NuGetVersion current, NuGet.Versioning.NuGetVersion considering) { throw null; }
private PackageInfo BuildPackageInfo(FeedType type, string rootPath, string id, NuGet.Versioning.NuGetVersion version, List <ProjectInfo> projects) { LocalPackageInfo localPackageInfo; switch (type) { case FeedType.FileSystemV2: localPackageInfo = LocalFolderUtility.GetPackageV2(rootPath, id, version, _logger); if (localPackageInfo == null) { return(null); } return(new PackageInfo { ProjectList = projects, LocalPackageInfo = localPackageInfo }); case FeedType.FileSystemV3: localPackageInfo = LocalFolderUtility.GetPackageV3(rootPath, id, version, _logger); if (localPackageInfo == null) { return(null); } return (new PackageInfo { ProjectList = projects, LocalPackageInfo = localPackageInfo }); default: { Debug.WriteLine($"Unknown Type:{type}"); return(null); } } }
public NuGet.ProjectModel.LockFileLibrary GetLibrary(string name, NuGet.Versioning.NuGetVersion version) { throw null; }
public PackageKeyDiff(DiffType diffType, string packageId, NuGet.Versioning.NuGetVersion version, string framework, RepositoryType packageType) : base(packageId, version, framework) { DiffType = diffType; PackageType = packageType; }
public string GetLockFilePath(string packageId, NuGet.Versioning.NuGetVersion version, NuGet.Frameworks.NuGetFramework framework) { throw null; }