Decide which classes should be internal and/or final β€” delete ExcludedPathsTrait, make CollectPathsToExcludeEvent richer

Created on 17 February 2023, almost 2 years ago
Updated 10 May 2023, over 1 year ago

Problem/Motivation

Before we submit Package Manager for inclusion in core, we should go through all classes and decide which of them should be explicitly marked @internal, and which should not. At the same time, we should decide which ones should be final and which should not. (Something may be internal but not final if it needs to be extended in tests, for example.)

For example, a few things which should probably not be internal, since validators and event subscribers may need to interact with them:

  1. happened in πŸ“Œ Remove our runtime dependency on composer/composer: remove ComposerUtility Fixed , properly documented since πŸ“Œ Define the Package Manager API (package_manager.api.php is outdated) Fixed πŸ‘
  2. βœ… will remain internal
  3. βœ… will remain internal
  4. βœ… will remain internal; it's not meant to be used by any code external to Package Manager. It's only public for testing purposes.
  5. βœ… β†’ properly documented since πŸ“Œ Define the Package Manager API (package_manager.api.php is outdated) Fixed πŸ‘
  6. βœ… since πŸ“Œ Rename Stage to StageBase to clarify its relationship to its subclasses, and add "Stage" suffix to the Updater classes Fixed , properly documented since πŸ“Œ StageBase documentation in package_manager.api.php is incomplete Fixed πŸ‘
  7. βœ… will remain internal β€” see Wim's reasoning in #12.
  8. βœ… is now final, but not internal; events are our primary API surface
  9. βœ… β†’ finalized in this MR as of #22, with it now removed in favor of helper methods moved onto CollectPathsToExcludeEvent πŸ‘
πŸ“Œ Task
Status

Fixed

Version

3.0

Component

Documentation

Created by

πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

Production build 0.71.5 2024