Skip to content

Commit 087141e

Browse files
herndlmondrejmirtes
authored andcommitted
Remove jean85/pretty-package-versions dependency
1 parent 7be8400 commit 087141e

File tree

7 files changed

+30
-36
lines changed

7 files changed

+30
-36
lines changed

bin/phpstan

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -152,16 +152,9 @@ use Symfony\Component\Console\Helper\ProgressBar;
152152

153153
$devOrPharLoader->register(true);
154154

155-
$version = 'Version unknown';
156-
try {
157-
$version = \Jean85\PrettyVersions::getVersion('phpstan/phpstan')->getPrettyVersion() ?: $version;
158-
} catch (\OutOfBoundsException $e) {
159-
160-
}
161-
162155
$application = new \Symfony\Component\Console\Application(
163156
'PHPStan - PHP Static Analysis Tool',
164-
$version
157+
ComposerHelper::getPhpStanVersion()
165158
);
166159
$application->setDefaultCommand('analyse');
167160
ProgressBar::setFormatDefinition('file_download', ' [%bar%] %percent:3s%% %fileSize%');

compiler/build/scoper.inc.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,13 @@ function (string $filePath, string $prefix, string $content): string {
182182

183183
return str_replace(sprintf('%s\\Composer\\Autoload\\ClassLoader', $prefix), 'Composer\\Autoload\\ClassLoader', $content);
184184
},
185+
function (string $filePath, string $prefix, string $content): string {
186+
if ($filePath !== 'src/Internal/ComposerHelper.php') {
187+
return $content;
188+
}
189+
190+
return str_replace(sprintf('%s\\Composer\\InstalledVersions', $prefix), 'Composer\\InstalledVersions', $content);
191+
},
185192
function (string $filePath, string $prefix, string $content): string {
186193
if ($filePath !== 'vendor/jetbrains/phpstorm-stubs/PhpStormStubsMap.php') {
187194
return $content;

composer.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
],
77
"require": {
88
"php": "^8.0",
9+
"composer-runtime-api": "^2.0",
910
"clue/block-react": "^1.4",
1011
"clue/ndjson-react": "^1.0",
1112
"composer/ca-bundle": "^1.2",
1213
"composer/xdebug-handler": "^3.0.3",
1314
"hoa/compiler": "3.17.08.08",
1415
"hoa/exception": "^1.0",
1516
"hoa/regex": "1.17.01.13",
16-
"jean85/pretty-package-versions": "^1.0.3",
1717
"jetbrains/phpstorm-stubs": "dev-master#01006d9854679672fc8b85c6d5063ea6f25226ac",
1818
"nette/bootstrap": "^3.0",
1919
"nette/di": "^3.0.11",
@@ -68,7 +68,6 @@
6868
"platform-check": false,
6969
"sort-packages": true,
7070
"allow-plugins": {
71-
"composer/package-versions-deprecated": true,
7271
"vaimo/composer-patches": true
7372
}
7473
},

composer.lock

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Analyser/ResultCache/ResultCacheManager.php

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22

33
namespace PHPStan\Analyser\ResultCache;
44

5-
use Jean85\PrettyVersions;
65
use Nette\DI\Definitions\Statement;
76
use Nette\Neon\Neon;
8-
use OutOfBoundsException;
97
use PHPStan\Analyser\AnalyserResult;
108
use PHPStan\Analyser\Error;
119
use PHPStan\Collectors\CollectedData;
@@ -731,7 +729,7 @@ private function getMeta(array $allAnalysedFiles, ?array $projectConfigArray): a
731729

732730
return [
733731
'cacheVersion' => self::CACHE_VERSION,
734-
'phpstanVersion' => $this->getPhpStanVersion(),
732+
'phpstanVersion' => ComposerHelper::getPhpStanVersion(),
735733
'phpVersion' => PHP_VERSION_ID,
736734
'projectConfig' => $projectConfigArray,
737735
'analysedPaths' => $this->analysedPaths,
@@ -805,15 +803,6 @@ private function getExecutedFileHashes(): array
805803
return $hashes;
806804
}
807805

808-
private function getPhpStanVersion(): string
809-
{
810-
try {
811-
return PrettyVersions::getVersion('phpstan/phpstan')->getPrettyVersion();
812-
} catch (OutOfBoundsException) {
813-
return 'Version unknown';
814-
}
815-
}
816-
817806
/**
818807
* @return array<string, string>
819808
*/

src/Command/FixerApplication.php

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88
use DateTime;
99
use DateTimeImmutable;
1010
use DateTimeZone;
11-
use Jean85\PrettyVersions;
1211
use Nette\Utils\Json;
13-
use OutOfBoundsException;
1412
use Phar;
1513
use PHPStan\Analyser\AnalyserResult;
1614
use PHPStan\Analyser\Error;
@@ -22,6 +20,7 @@
2220
use PHPStan\File\FileMonitorResult;
2321
use PHPStan\File\FileReader;
2422
use PHPStan\File\FileWriter;
23+
use PHPStan\Internal\ComposerHelper;
2524
use PHPStan\Parallel\Scheduler;
2625
use PHPStan\Process\CpuCoreCounter;
2726
use PHPStan\Process\ProcessCanceledException;
@@ -146,7 +145,7 @@ public function log(string $message): void
146145
'analysedPaths' => $this->analysedPaths,
147146
'projectConfigFile' => $projectConfigFile,
148147
'filesCount' => $filesCount,
149-
'phpstanVersion' => $this->getPhpstanVersion(),
148+
'phpstanVersion' => ComposerHelper::getPhpStanVersion(),
150149
]]);
151150
$decoder->on('data', function (array $data) use (
152151
$loop,
@@ -557,15 +556,6 @@ private function reanalyseAfterFileChanges(
557556
return $this->processInProgress->then(static fn (string $output): array => Json::decode($output, Json::FORCE_ARRAY));
558557
}
559558

560-
private function getPhpstanVersion(): string
561-
{
562-
try {
563-
return PrettyVersions::getVersion('phpstan/phpstan')->getPrettyVersion();
564-
} catch (OutOfBoundsException) {
565-
return 'Version unknown';
566-
}
567-
}
568-
569559
private function isDockerRunning(): bool
570560
{
571561
if (!is_file('/proc/1/cgroup')) {

src/Internal/ComposerHelper.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace PHPStan\Internal;
44

5+
use Composer\InstalledVersions;
56
use Nette\Utils\Json;
67
use Nette\Utils\JsonException;
78
use PHPStan\File\CouldNotReadFileException;
@@ -10,6 +11,8 @@
1011
use function getenv;
1112
use function is_file;
1213
use function is_string;
14+
use function preg_match;
15+
use function substr;
1316
use function trim;
1417

1518
final class ComposerHelper
@@ -52,4 +55,16 @@ public static function getVendorDirFromComposerConfig(string $root, array $compo
5255
return $root . '/' . trim($vendorDirectory, '/');
5356
}
5457

58+
public static function getPhpStanVersion(): string
59+
{
60+
$rootPackage = InstalledVersions::getRootPackage();
61+
62+
if (preg_match('/[^v\d.]/', $rootPackage['pretty_version']) === 0) {
63+
// Handles tagged versions, see https://github.com/Jean85/pretty-package-versions/blob/2.0.5/src/Version.php#L31
64+
return $rootPackage['pretty_version'];
65+
}
66+
67+
return $rootPackage['pretty_version'] . '@' . substr((string) $rootPackage['reference'], 0, 7);
68+
}
69+
5570
}

0 commit comments

Comments
 (0)