Пример #1
0
        public async Task <ArtifactAvailableInstances> GetVersionsAsync(IActivityMonitor m, string artifactName)
        {
            if (_registry == null)
            {
                _registry = _registryFactory();
            }
            var v = new ArtifactAvailableInstances(this, artifactName);

            var result = await _registry.View(m, artifactName);

            if (result.exist)
            {
                JObject body     = JObject.Parse(result.viewJson);
                var     versions = (JObject)body["versions"];
                foreach (var vK in versions)
                {
                    var sV = SVersion.TryParse(vK.Key);
                    if (!sV.IsValid)
                    {
                        m.Warn($"Unable to parse version '{vK.Key}' for '{artifactName}': {sV.ErrorMessage}");
                    }
                    else
                    {
                        v = v.WithVersion(sV);
                    }
                }
            }
            return(v);
        }
Пример #2
0
            async Task <ArtifactAvailableInstances> GetAvailable(MetadataResource meta, NuGetLoggerAdapter logger, string name)
            {
                var v      = new ArtifactAvailableInstances(this, name);
                var latest = await meta.GetVersions(name, true, false, _feed.Client.SourceCache, logger, CancellationToken.None);

                foreach (var nugetVersion in latest)
                {
                    var vText = nugetVersion.ToNormalizedString();
                    var sV    = SVersion.TryParse(vText);
                    if (!sV.IsValid)
                    {
                        logger.Monitor.Warn($"Unable to parse version '{vText}' for '{name}': {sV.ErrorMessage}");
                    }
                    else
                    {
                        v = v.WithVersion(sV);
                    }
                }
                return(v);
            }