public IEnumerable <PackageIssue> Validate(IPackage package)
{
if (package.ProjectUrl != null && package.ProjectUrl.OriginalString.Equals(SpecCommand.SampleProjectUrl, StringComparison.Ordinal))
{
yield return(CreateIssueFor("ProjectUrl", package.ProjectUrl.OriginalString));
}
if (package.LicenseUrl != null && package.LicenseUrl.OriginalString.Equals(SpecCommand.SampleLicenseUrl, StringComparison.Ordinal))
{
yield return(CreateIssueFor("LicenseUrl", package.LicenseUrl.OriginalString));
}
if (package.IconUrl != null && package.IconUrl.OriginalString.Equals(SpecCommand.SampleIconUrl, StringComparison.Ordinal))
{
yield return(CreateIssueFor("IconUrl", package.IconUrl.OriginalString));
}
if (!String.IsNullOrEmpty(package.Tags) && package.Tags.Trim().Equals(SpecCommand.SampleTags, StringComparison.Ordinal))
{
yield return(CreateIssueFor("Tags", SpecCommand.SampleTags));
}
if (SpecCommand.SampleReleaseNotes.Equals(package.ReleaseNotes, StringComparison.Ordinal))
{
yield return(CreateIssueFor("ReleaseNotes", SpecCommand.SampleReleaseNotes));
}
if (SpecCommand.SampleDescription.Equals(package.Description, StringComparison.Ordinal))
{
yield return(CreateIssueFor("Description", SpecCommand.SampleDescription));
}
var dependency = package.GetCompatiblePackageDependencies(targetFramework: null).FirstOrDefault();
if (dependency != null &&
dependency.Id.Equals(SpecCommand.SampleManifestDependency.Id, StringComparison.Ordinal) &&
dependency.VersionSpec != null &&
dependency.VersionSpec.ToString().Equals("[" + SpecCommand.SampleManifestDependency.Version + "]", StringComparison.Ordinal))
{
yield return(CreateIssueFor("Dependency", dependency.ToString()));
}
if (dependency != null && dependency.VersionSpec == null)
{
var message = String.Format(
CultureInfo.CurrentCulture,
LocalizedResourceManager.GetString("Warning_UnspecifiedDependencyVersion"),
dependency.Id);
var issue = new PackageIssue(
LocalizedResourceManager.GetString("Warning_UnspecifiedDependencyVersionTitle"),
message,
LocalizedResourceManager.GetString("Warning_UnspecifiedDependencyVersionSolution"));
yield return(issue);
}
}