CCNet.Build.SetupPackages.PackageChecker.IsPinnedToCurrentVersion C# (CSharp) Method

IsPinnedToCurrentVersion() public method

public IsPinnedToCurrentVersion ( string id ) : bool
id string
return bool
		public bool IsPinnedToCurrentVersion(string id)
		{
			bool custom = m_customVersions.ContainsKey(id);

			if (IsLocal(id))
			{
				if (!custom)
					return false;

				var version = m_customVersions[id];
				if (version != null)
					return false;

				return true;
			}
			else
			{
				if (!custom)
					return true;

				var version = m_customVersions[id];
				if (version != null)
					throw new InvalidOperationException("Only local packages can be pinned to specific version.");

				return false;
			}
		}

Usage Example

        private void AnalyzePackages(PackagesConfig config)
        {
            Console.Write("Analyzing packages... ");

            foreach (var package in config.AllPackages().Select(e => e.AsPackage()))
            {
                var log = new LogPackage
                {
                    PackageId        = package.Id,
                    ProjectName      = m_checker.ProjectName(package.Id),
                    IsLocal          = m_checker.IsLocal(package.Id),
                    IsStatic         = m_checker.IsStatic(package.Id),
                    SourceVersion    = package.Version,
                    PinnedToCurrent  = m_checker.IsPinnedToCurrentVersion(package.Id),
                    PinnedToSpecific = m_checker.IsPinnedToSpecificVersion(package.Id),
                    IsDependency     = m_checker.IsDependency(package.Id),
                    IsBundle         = m_checker.IsBundle(package.Id)
                };

                SetupProjectUrl(log);

                m_log.Add(package.Id, log);
            }

            Console.WriteLine("OK");
        }
All Usage Examples Of CCNet.Build.SetupPackages.PackageChecker::IsPinnedToCurrentVersion