static string GetMetadataValue(string name, MSBuildEvaluatedItem item) { string result; if (item.Metadata.TryGetValue(name, out result)) { return(result); } return(string.Empty); }
string[] GetDependencies(MSBuildEvaluatedItem item) { string value = GetMetadataValue("Dependencies", item); if (string.IsNullOrEmpty(value)) { return(new string[0]); } return(value.Split(';')); }
static PackageDependency Create(string type, MSBuildEvaluatedItem item) { switch (type) { case "Target": case "Package": return(new PackageDependency(type, item)); default: return(null); } }
static bool GetMetadataBoolValue(string name, MSBuildEvaluatedItem item, bool defaultValue = false) { string value = GetMetadataValue(name, item); if (string.IsNullOrEmpty(value)) { return(defaultValue); } bool result; if (bool.TryParse(value, out result)) { return(result); } return(defaultValue); }
void Init(MSBuildEvaluatedItem item) { if (Type == "Package") { Name = GetMetadataValue("Name", item); Version = GetMetadataValue("Version", item); Resolved = GetMetadataBoolValue("Resolved", item); IsPackage = true; } else if (Type == "Target") { Name = GetMetadataValue("FrameworkName", item); Version = GetMetadataValue("FrameworkVersion", item); Resolved = true; IsTargetFramework = true; } dependencies = GetDependencies(item); }
internal static PackageDependency Create(MSBuildEvaluatedItem item) { string type = GetMetadataValue("Type", item); return(Create(type, item)); }
PackageDependency(string type, MSBuildEvaluatedItem item) { Type = type; Init(item); }