mirror of https://github.com/rectorphp/rector.git
189 lines
4.3 KiB
PHP
189 lines
4.3 KiB
PHP
<?php
|
|
|
|
declare (strict_types=1);
|
|
namespace Rector\ValueObject;
|
|
|
|
use PHPStan\Collectors\CollectedData;
|
|
use Rector\ChangesReporting\Output\ConsoleOutputFormatter;
|
|
use RectorPrefix202401\Webmozart\Assert\Assert;
|
|
final class Configuration
|
|
{
|
|
/**
|
|
* @readonly
|
|
* @var bool
|
|
*/
|
|
private $isDryRun = \false;
|
|
/**
|
|
* @readonly
|
|
* @var bool
|
|
*/
|
|
private $showProgressBar = \true;
|
|
/**
|
|
* @readonly
|
|
* @var bool
|
|
*/
|
|
private $shouldClearCache = \false;
|
|
/**
|
|
* @readonly
|
|
* @var string
|
|
*/
|
|
private $outputFormat = ConsoleOutputFormatter::NAME;
|
|
/**
|
|
* @var string[]
|
|
* @readonly
|
|
*/
|
|
private $fileExtensions = ['php'];
|
|
/**
|
|
* @var string[]
|
|
* @readonly
|
|
*/
|
|
private $paths = [];
|
|
/**
|
|
* @readonly
|
|
* @var bool
|
|
*/
|
|
private $showDiffs = \true;
|
|
/**
|
|
* @readonly
|
|
* @var string|null
|
|
*/
|
|
private $parallelPort = null;
|
|
/**
|
|
* @readonly
|
|
* @var string|null
|
|
*/
|
|
private $parallelIdentifier = null;
|
|
/**
|
|
* @readonly
|
|
* @var bool
|
|
*/
|
|
private $isParallel = \false;
|
|
/**
|
|
* @readonly
|
|
* @var string|null
|
|
*/
|
|
private $memoryLimit = null;
|
|
/**
|
|
* @readonly
|
|
* @var bool
|
|
*/
|
|
private $isDebug = \false;
|
|
/**
|
|
* @var bool
|
|
*/
|
|
private $isSecondRun = \false;
|
|
/**
|
|
* @var CollectedData[]
|
|
*/
|
|
private $collectedData = [];
|
|
/**
|
|
* @param string[] $fileExtensions
|
|
* @param string[] $paths
|
|
*/
|
|
public function __construct(bool $isDryRun = \false, bool $showProgressBar = \true, bool $shouldClearCache = \false, string $outputFormat = ConsoleOutputFormatter::NAME, array $fileExtensions = ['php'], array $paths = [], bool $showDiffs = \true, ?string $parallelPort = null, ?string $parallelIdentifier = null, bool $isParallel = \false, ?string $memoryLimit = null, bool $isDebug = \false)
|
|
{
|
|
$this->isDryRun = $isDryRun;
|
|
$this->showProgressBar = $showProgressBar;
|
|
$this->shouldClearCache = $shouldClearCache;
|
|
$this->outputFormat = $outputFormat;
|
|
$this->fileExtensions = $fileExtensions;
|
|
$this->paths = $paths;
|
|
$this->showDiffs = $showDiffs;
|
|
$this->parallelPort = $parallelPort;
|
|
$this->parallelIdentifier = $parallelIdentifier;
|
|
$this->isParallel = $isParallel;
|
|
$this->memoryLimit = $memoryLimit;
|
|
$this->isDebug = $isDebug;
|
|
}
|
|
public function isDryRun() : bool
|
|
{
|
|
return $this->isDryRun;
|
|
}
|
|
public function shouldShowProgressBar() : bool
|
|
{
|
|
return $this->showProgressBar;
|
|
}
|
|
public function shouldClearCache() : bool
|
|
{
|
|
return $this->shouldClearCache;
|
|
}
|
|
/**
|
|
* @return string[]
|
|
*/
|
|
public function getFileExtensions() : array
|
|
{
|
|
Assert::notEmpty($this->fileExtensions);
|
|
return $this->fileExtensions;
|
|
}
|
|
/**
|
|
* @return string[]
|
|
*/
|
|
public function getPaths() : array
|
|
{
|
|
return $this->paths;
|
|
}
|
|
public function getOutputFormat() : string
|
|
{
|
|
return $this->outputFormat;
|
|
}
|
|
public function shouldShowDiffs() : bool
|
|
{
|
|
return $this->showDiffs;
|
|
}
|
|
public function getParallelPort() : ?string
|
|
{
|
|
return $this->parallelPort;
|
|
}
|
|
public function getParallelIdentifier() : ?string
|
|
{
|
|
return $this->parallelIdentifier;
|
|
}
|
|
public function isParallel() : bool
|
|
{
|
|
return $this->isParallel;
|
|
}
|
|
public function getMemoryLimit() : ?string
|
|
{
|
|
return $this->memoryLimit;
|
|
}
|
|
public function isDebug() : bool
|
|
{
|
|
return $this->isDebug;
|
|
}
|
|
/**
|
|
* @param CollectedData[] $collectedData
|
|
*/
|
|
public function setCollectedData(array $collectedData) : void
|
|
{
|
|
$this->collectedData = $collectedData;
|
|
}
|
|
/**
|
|
* @return CollectedData[]
|
|
*/
|
|
public function getCollectedData() : array
|
|
{
|
|
return $this->collectedData;
|
|
}
|
|
/**
|
|
* @api
|
|
*/
|
|
public function enableSecondRun() : void
|
|
{
|
|
$this->isSecondRun = \true;
|
|
}
|
|
/**
|
|
* @api
|
|
*/
|
|
public function isSecondRun() : bool
|
|
{
|
|
return $this->isSecondRun;
|
|
}
|
|
/**
|
|
* @api used in tests
|
|
*/
|
|
public function reset() : void
|
|
{
|
|
$this->isSecondRun = \false;
|
|
}
|
|
}
|