remove the switch on an object property within a method to determine behavior (Base.deprecate_versions) and instead let the package manager classes inject the necessary behavior into the release removal action.
use the correct terminology. We aren't deprecating these releases -- they are Removed as the package managers in question no longer acknowledge them. Deprecation of releases/projects is handled in a separate codepath.
reduce the number of untyped Hashes that are being passed around. The ApiVersionToUpsert class can be turned into ApiVersion and reused for release removal actions.
move release removal behavior to a single executor class, rather than burying it in a static method on an inherited class. This matches how we are adding new versions to Projects.
The goals of this PR are to:
Base.deprecate_versions
) and instead let the package manager classes inject the necessary behavior into the release removal action.ApiVersionToUpsert
class can be turned intoApiVersion
and reused for release removal actions.