public override string ToString() { var output = Name; if (VersionRange != null) { output = $"{output} {VersionRange.ToNonSnapshotRange().PrettyPrint()}"; } // Append the type constraint in a user friendly way if one exists var contraintString = string.Empty; switch (TypeConstraint) { case LibraryDependencyTarget.Reference: contraintString = LibraryType.Reference; break; case LibraryDependencyTarget.ExternalProject: contraintString = LibraryType.ExternalProject; break; case LibraryDependencyTarget.Project: case LibraryDependencyTarget.Project | LibraryDependencyTarget.ExternalProject: contraintString = LibraryType.Project; break; } if (!string.IsNullOrEmpty(contraintString)) { output = $"{contraintString}/{output}"; } return(output); }
/// <summary> /// Format an id and include the range only if it has bounds. /// </summary> public static string FormatDependency(string id, VersionRange range) { if (range == null || !(range.HasLowerBound || range.HasUpperBound)) { return(id); } return($"{id} {range.ToNonSnapshotRange().PrettyPrint()}"); }
public NugetPackage(string id, string version, string targetFramework, string source, string[] dependenciesSources, string var, NugetPackageType packageType, string packagesRoot, bool dependeciesForceMinVersion = true) { Dependencies = new List <NugetDependency>(); Libraries = new List <string>(); Id = id; VersionRange = NuGet.Versioning.VersionRange.Parse(System.Environment.ExpandEnvironmentVariables(version)); MinVersion = VersionRange.ToNonSnapshotRange().MinVersion.ToString(); DependenciesForceMinVersion = dependeciesForceMinVersion; if (string.IsNullOrEmpty(source)) { throw new Exception(string.Format("Invalid source for the package id {0};{1}. The source parameter is mandatory.", Id, MinVersion)); } Source = TryGetUri(source); DependencySources = new List <Uri>(); if (dependenciesSources != null) { foreach (var src in dependenciesSources) { DependencySources.Add(TryGetUri(src)); } } RootPath = packagesRoot; SetDotNetLibInformation(targetFramework, packageType); EnvironmentVariableKeys = new List <string>(); EnvironmentVariableKeys.Add(EscapeStringAsEnvironmentVariableAsKey(Id)); EnvironmentVariableKeys.Add(GetVersionEnvironmentVariableKey(Id)); EnvironmentVariableKeys.Add(GetFrameworkEnvironmentVariableKey(Id)); //Alaways set the "default" key value Environment.SetEnvironmentVariable(EscapeStringAsEnvironmentVariableAsKey(Id), FullPath); Environment.SetEnvironmentVariable(GetVersionEnvironmentVariableKey(Id), MinVersion); Environment.SetEnvironmentVariable(GetFrameworkEnvironmentVariableKey(Id), TargetFramework); if (!string.IsNullOrEmpty(var)) //If requested, set also the user specified value { EnvironmentVariableAdditionalKey = var; if (Environment.GetEnvironmentVariable(EnvironmentVariableAdditionalKey) == null) { Environment.SetEnvironmentVariable(EnvironmentVariableAdditionalKey, FullPath); } } }