예제 #1
0
        public IEnumerable <PackageVerifierIssue> Validate(PackageAnalysisContext context)
        {
            if (context.SignRequest == null)
            {
                context.Logger.Log(LogLevel.Info, "Skipping signing rule request verification for " + context.PackageFileInfo.FullName);
                yield break;
            }

            foreach (var file in context.PackageReader.GetFiles())
            {
                if (!SignRequestItem.IsFileTypeSignable(file))
                {
                    continue;
                }

                if (!context.SignRequest.Children.Any(f => string.Equals(f.Path, file)))
                {
                    yield return(PackageIssueFactory.SignRequestMissingPackageFile(context.Metadata.Id, file));
                }
            }
        }