• API Documentation
Show / Hide Table of Contents
  • BuildSystem.Allure.Generator
    • AllureServe
  • BuildSystem.Builder.Dotnet
    • BuilderDotnet
    • BuilderDotnetProps
  • BuildSystem.Builder.Midl
    • BuilderMidl
    • BuilderMidlProps
  • BuildSystem.Builder.MsCpp
    • BuilderMsCpp
    • BuilderMsCppProps
  • BuildSystem.Builder.MsDelphi
    • BuilderMsDelphi
    • BuilderMsDelphiProps
  • BuildSystem.BuildSpace
    • IBuildSpace
  • BuildSystem.BuildSpace.Common
    • BuildSpaceCommon
    • RegisterFactoryAssemblies
  • BuildSystem.Cleaner.Common
    • CleanerCommon
    • CleanerCommonProps
  • BuildSystem.Factories
    • BuilderProps
    • CleanerProps
    • Factory<T1, T2>
    • FileCopierProps
    • GenDocProps
    • GenLangProps
    • GitExploreOptions
    • GlobalFactory
    • HashGeneratorProps
    • ITestRunnerProps
    • PackageManagerProps
    • ProjectCacheProps
    • ReclaimerProps
    • ReclaimerStrategyFactory
    • SignerProps
    • TestRunnerProps
    • TlbGenBplProps
    • TlbGenDotnetDllProps
    • TlbGenPasProps
    • VersionManagerProps
  • BuildSystem.FileCopier.Common
    • FileCopierCommon
    • FileCopierCommonProps
  • BuildSystem.GenDoc.DocFX
    • CppReader
    • CSharpConverter
    • DelphiReader
    • GenDocFX
    • GenDocFXProps
    • IReader
    • SourceInfo
    • SourceInfoLang
    • SourceInfoSummary
    • SourceInfoSyntax
    • SourceInfoSyntaxParam
    • SourceInfoType
    • YamlWriter
  • BuildSystem.HashGenerator.Common
    • HashGeneratorCommon
    • HashGeneratorCommonProps
  • BuildSystem.Info
    • BuildInfo
    • JenkinsInfo
    • RunInfo
    • SessionInfo
  • BuildSystem.Loggers
    • LoggerBroadCaster
    • LoggerBuffer
    • LoggerConsole
    • LoggerFile
  • BuildSystem.Logging
    • ILogger
    • LogLevel
    • tagLogLevel
  • BuildSystem.ManagerObject
    • IDictionaryStringString
    • IManager
    • IManagerProp
    • ManagerType
    • tagManagerType
  • BuildSystem.ManagerObject.Interfaces
    • CacheDependencyInfo
    • CacheProjectInfo
    • FileGroup
    • GenLangResult
    • GetPackageInfo
    • GetVersionList
    • HashAlgorithmType
    • IBuilder
    • IBuilderProps
    • ICleaner
    • ICleanerProps
    • IFileCopier
    • IFileCopierProps
    • IGenDoc
    • IGenDocProps
    • IGenLang
    • IGenLangProps
    • IHashGenerator
    • IHashGeneratorProps
    • IPackageManager
    • IPackageManagerProps
    • IProjectCache
    • IProjectCacheProps
    • IReclaimer
    • IReclaimerProps
    • IReclaimerStrategy
    • IReclaimerStrategyProps
    • IRestorer
    • IRestorerProps
    • ISigner
    • ISignerProps
    • ITestRunner
    • ITlbGenBpl
    • ITlbGenBplProps
    • ITlbGenDotnetDll
    • ITlbGenDotnetDllProps
    • ITlbGenPas
    • ITlbGenPasProps
    • IVersionManager
    • IVersionManagerProps
    • ReaderType
    • RestorerDepProp
    • VersionIncrementType
    • VersionIncrementValue
    • VersionManagerType
  • BuildSystem.ManagersFactory
    • IManagersFactory
    • ListManagerNameForVariant
    • ManagerConstNames
    • ManagerNameForVariant
  • BuildSystem.ManagersFactory.Common
    • ManagersFactoryCommon
  • BuildSystem.Nuget.Logging
    • NuGetLogging
  • BuildSystem.Package
    • CachePackageInfo
    • GetNextVersion
    • IPackage
    • IPackageProps
    • LicensePackageInfo
    • PackageAction
    • PackageDependency
    • PackageFiles
    • PackageProps
    • RepoPackageInfo
    • SetDuplicatePushStorageInfo
    • SetStorageInfo
    • StorageInfo
    • VersionProp
  • BuildSystem.Package.Dotnet
    • PackageDotnet
    • PackageDotnetProps
  • BuildSystem.Package.Factory
    • PackageFactory
    • PackageType
  • BuildSystem.Package.Nuget
    • PackageNuget
    • PackageNugetProps
  • BuildSystem.PackageManager.Dotnet
    • PackageManagerDotnet
    • PackageManagerDotnetProps
  • BuildSystem.PackageManager.Nuget
    • PackageManagerNuget
    • PackageManagerNugetProps
  • BuildSystem.Project
    • GetProjectInfoDelegate
    • IProject
    • ProjectGenDocProps
    • ProjectInfo
  • BuildSystem.Project.Base
    • ProjectBase
  • BuildSystem.Project.Cpp
    • ProjectCpp
  • BuildSystem.Project.CSharp
    • ProjectCSharp
  • BuildSystem.Project.Delphi
    • ProjectDelphi
  • BuildSystem.Project.Dependency
    • JsonProjectDependencies
    • NativeDependencies
    • ProjectDependency
  • BuildSystem.Project.Factory
    • ProjectFactory
  • BuildSystem.Project.Idl
    • ProjectIdl
  • BuildSystem.Project.PropReader
    • IProjectPropReader
  • BuildSystem.Project.PropReader.Json
    • ProjectPropReaderJson
  • BuildSystem.Project.Res
    • ProjectRes
  • BuildSystem.Project.Wix
    • ProjectWix
  • BuildSystem.ProjectCache.Common
    • ProjectCacheCommon
    • ProjectCacheCommonProps
  • BuildSystem.ProjectCache.NuGet
    • ProjectCacheNuGet
    • ProjectCacheNuGetProps
  • BuildSystem.ProjectList
    • BuildResultIsRequiredDelegate
    • CalcCopyBuildResultPathDelegate
    • CompilerConstants
    • IAnalyzer
    • IAnalyzerProps
    • IBuildInfoSaver
    • IBuildInfoSaverProps
    • ICompiler
    • ICompilerProps
    • ICopierBuildResults
    • ICopierBuildResultsProps
    • IDeployer
    • IDeployerProps
    • IProjectList
    • IProjectListProps
    • IProjectRestorer
    • IProjectRestorerProps
    • ISourceHashCalculator
    • ISourceHashCalculatorProps
    • ProjectFilter
    • RestoreInsteadOfBuildDelegate
    • SourceHashCalculatorConstants
  • BuildSystem.ProjectList.Common
    • GitHelper
    • GraphDot
    • ManagerRestorer
    • ProjectListCommon
    • ProjectListCommonProps
  • BuildSystem.ProjectList.Factory
    • ProjectListFactory
  • BuildSystem.ProjectList.Helpers
    • AnalyzerCommon
    • AnalyzerCommonProps
    • BuildInfoSaverCommon
    • BuildInfoSaverCommonProps
    • CompilerCommon
    • CompilerCommonProps
    • CopierBuildResultsCommon
    • CopierBuildResultsCommonProps
    • DeployerCommon
    • DeployerCommonProps
    • PackagesRestorer
    • ProjectRestorerCommon
    • ProjectRestorerCommonProps
    • SourceHashCalculatorCommon
    • SourceHashCalculatorCommonProps
    • TransitiveDependenciesBuilder
  • BuildSystem.Reclaimer.NugetCommon
    • ReclaimerNugetCommon
    • ReclaimerNugetCommonProps
  • BuildSystem.Reclaimer.Strategy.Common
    • ReclaimerStrategyCommon
    • ReclaimerStrategyCommonProps
  • BuildSystem.Reclaimer.Strategy.Delegate
    • CalcDeletingPackages
    • ReclaimerStrategyDelegate
    • ReclaimerStrategyDelegateProps
  • BuildSystem.Restorer
    • RestorerProps
  • BuildSystem.Restorer.Nuget
    • RestorerNuget
    • RestorerNugetProps
  • BuildSystem.SettingsReader
    • ISettingsReader
    • ReaderJson
    • SettingsReaderType
  • BuildSystem.SettingsReader.Factory
    • SettingsReaderFactory
  • BuildSystem.SettingsReader.Json
    • SettingsReaderJson
  • BuildSystem.SettingsReader.Object
    • SettingsObject
    • SettingsReaderObject
  • BuildSystem.SharedMemIPC
    • DelayedProcedure
    • HandleRequestProc
    • HandleStreamProc
    • IPCStream
    • SharedMemClient
    • SharedMemObject
    • SharedMemServer
  • BuildSystem.Signer.Win
    • SignerWin
    • SignerWinProps
  • BuildSystem.TestRunner.Common
    • TestRunnerCommon
    • TestRunnerCommonProps
  • BuildSystem.TlbDoc
    • TlbHelpReader
  • BuildSystem.TlbGenBpl.ThroughPas
    • TlbGenBplThroughPas
    • TlbGenBplThroughPasProps
  • BuildSystem.TlbGenDotnetDll.TlbImp
    • TlbGenDotnetDllTlbImp
    • TlbGenDotnetDllTlbImpProps
  • BuildSystem.TlbGenPas.LibImp
    • TlbGenPasLibImp
    • TlbGenPasLibImpProps
  • BuildSystem.TypesCS.Dictionary
    • DictionaryStringString
  • BuildSystem.Utils
    • Matcher
    • PropReader
  • BuildSystem.Utils.AdminRunner
    • AdminRunner
    • SingleRunner
  • BuildSystem.Utils.DirectoryHelper
    • DirectoryCleaner
    • DirectoryCopier
    • DirectoryScanner
  • BuildSystem.Utils.Executor
    • CmdRunner
    • ExeLine
    • ExeRunner
  • BuildSystem.Utils.FileFormatter
    • FileFormatter
  • BuildSystem.Utils.GitHelper
    • GitRepository
  • BuildSystem.Utils.IpcProcessRunner
    • ProcessRunner
  • BuildSystem.Utils.Json
    • JsonDefinesFormatter
    • JsonReader
    • JsonUtils
  • BuildSystem.Utils.PathReader
    • PathReader
  • BuildSystem.Utils.Xml
    • XmlUtils
  • BuildSystem.Variants
    • ConfigurationType
    • TargetPlatform
    • Variant
    • VariantList
  • BuildSystem.VersionManager.Common
    • VersionManagerCommon
    • VersionManagerCommonProps
  • IdeProjectFileEditor
    • DBinOutType
    • DConfigType
    • DotNetOutPathType
    • DotNetReferenceType
    • DPathPropType
    • DPlatformType
    • IDelphiMainSrcEditor
    • IDelphiProjectEditor
    • IDEProjectEditor
    • IDotNetProjectEditor
    • IProjectReferenceEditor
    • IXMLEditor
    • ProjectReferenceInfo
  • ProjectDependencyScanner
    • DependencyScanner
    • IDLAdditionalInfo
    • IDotNetAdditionalInfo
    • IDSProject
    • IDSProjectsList
    • IPDelphiAdditionalInfo
    • IProjectDependencyScanner
    • IProjectsDependenciesScanner
    • PlatformType
    • ProjectType

Namespace BuildSystem.Reclaimer.Strategy.Common

Classes

ReclaimerStrategyCommon

Calculates packages which should be deleted:

  1. Filter input list - we can reclaim only packages which are in availableToDelete list
  2. Find all packages according to PackageMask
  3. Filter according to VersionMask
  4. Group by minor version
  5. Inside each group - sort this packages
  6. If LeaveOnlyLastMinorCount is set - add to result all versions except last count. Property MaxLeaveCount doesn't affect this step
  7. Inside each left group - add to result all versions except last MaxLeaveCount
  8. Filter result - there shouldn't be packages which are dependencies for other packages that are not in result

ReclaimerStrategyCommonProps

Strategy to make retention of packages:

  1. Collect all packages according to VersionMask
  2. Sort packages by version
  3. Delete all packages except last MaxLeaveCount packages per each minor version
  4. Delete all packages except last LeaveOnlyLastMinorCount minor versions
In This Article
Back to top Generated by DocFX