Skip to content

PackagedDirectorySynchronizer

github-actions edited this page Apr 20, 2026 · 1 revision

Synchronizes one packaged directory of symlinked entries into a consumer repository.


  • Full name: \FastForward\DevTools\Sync\PackagedDirectorySynchronizer
  • This class is marked as final and can't be subclassed
  • This class implements: LoggerAwareInterface
  • This class is a Final class

Methods

__construct

Initializes the synchronizer with a filesystem and finder factory.

public __construct(\FastForward\DevTools\Filesystem\FilesystemInterface $filesystem, \FastForward\DevTools\Filesystem\FinderFactoryInterface $finderFactory, \Psr\Log\LoggerInterface $logger): mixed

Parameters:

Parameter Type Description
$filesystem \FastForward\DevTools\Filesystem\FilesystemInterface Filesystem instance for file operations
$finderFactory \FastForward\DevTools\Filesystem\FinderFactoryInterface Factory for locating packaged directories
$logger \Psr\Log\LoggerInterface Logger for recording synchronization actions and decisions

setLogger

{@inheritDoc}

public setLogger(\Psr\Log\LoggerInterface $logger): void

Parameters:

Parameter Type Description
$logger \Psr\Log\LoggerInterface

synchronize

Synchronizes packaged directory entries into the consumer repository.

public synchronize(string $targetDir, string $packagePath, string $directoryLabel): \FastForward\DevTools\Sync\SynchronizeResult

Parameters:

Parameter Type Description
$targetDir string Absolute path to the consumer directory to populate
$packagePath string Absolute path to the packaged directory to mirror
$directoryLabel string Human-readable directory label used in log messages

Return Value:

Result containing counts of created, preserved, and removed links


Clone this wiki locally