Skip to content

Commit 40e238e

Browse files
authored
Merge pull request #248 from rtm-ctrlz/fixup/composer-2.9-auth-helper
Remove Composer::AuthHelper usage & update to Composer 2.9.1
2 parents 2abf3c0 + 2594f25 commit 40e238e

File tree

15 files changed

+224
-187
lines changed

15 files changed

+224
-187
lines changed

composer.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
],
2929
"require": {
3030
"php": "8.1.*||8.2.*||8.3.*||8.4.*||8.5.*",
31-
"composer/composer": "^2.8.12",
31+
"composer/composer": "^2.9.1",
3232
"composer/pcre": "^3.3.2",
3333
"composer/semver": "^3.4.4",
3434
"fidry/cpu-core-counter": "^1.3.0",
@@ -37,15 +37,16 @@
3737
"symfony/console": "^6.4.27",
3838
"symfony/event-dispatcher": "^6.4.25",
3939
"symfony/process": "^6.4.26",
40-
"thephpf/attestation": "^0.0.2",
40+
"thephpf/attestation": "^0.0.3",
4141
"webmozart/assert": "^1.12.1"
4242
},
4343
"require-dev": {
4444
"ext-openssl": "*",
4545
"behat/behat": "^3.26.0",
4646
"bnf/phpstan-psr-container": "^1.1",
4747
"doctrine/coding-standard": "^14.0.0",
48-
"phpstan/phpstan": "^2.1.31",
48+
"phpstan/phpstan": "^2.1.32",
49+
"phpstan/phpstan-webmozart-assert": "^2.0",
4950
"phpunit/phpunit": "^10.5.58"
5051
},
5152
"replace": {

composer.lock

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

phpstan-baseline.neon

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,6 @@ parameters:
5454
count: 1
5555
path: src/Command/RepositoryAddCommand.php
5656

57-
-
58-
message: '#^Parameter \#1 \$type of method Php\\Pie\\ComposerIntegration\\PieJsonEditor\:\:addRepository\(\) expects ''composer''\|''path''\|''vcs'', string given\.$#'
59-
identifier: argument.type
60-
count: 1
61-
path: src/Command/RepositoryAddCommand.php
62-
6357
-
6458
message: '#^Cannot cast mixed to string\.$#'
6559
identifier: cast.string
@@ -414,18 +408,6 @@ parameters:
414408
count: 2
415409
path: test/unit/ComposerIntegration/BundledPhpExtensionsRepositoryTest.php
416410

417-
-
418-
message: '#^Method Php\\PieUnitTest\\ComposerIntegration\\PieJsonEditorTest\:\:normaliseJson\(\) should return string but returns string\|false\.$#'
419-
identifier: return.type
420-
count: 1
421-
path: test/unit/ComposerIntegration/PieJsonEditorTest.php
422-
423-
-
424-
message: '#^Parameter \#1 \$fileContent of method Php\\PieUnitTest\\ComposerIntegration\\PieJsonEditorTest\:\:normaliseJson\(\) expects string, string\|false given\.$#'
425-
identifier: argument.type
426-
count: 9
427-
path: test/unit/ComposerIntegration/PieJsonEditorTest.php
428-
429411
-
430412
message: '#^Match expression does not handle remaining value\: string$#'
431413
identifier: match.unhandled
@@ -516,12 +498,6 @@ parameters:
516498
count: 1
517499
path: test/unit/Platform/TargetPhp/PhpBinaryPathTest.php
518500

519-
-
520-
message: '#^Parameter \#4 \$body of class Composer\\Util\\Http\\Response constructor expects string\|null, string\|false given\.$#'
521-
identifier: argument.type
522-
count: 1
523-
path: test/unit/SelfManage/Update/FetchPieReleaseFromGitHubTest.php
524-
525501
-
526502
message: '#^Method Php\\PieUnitTest\\SelfManage\\Verify\\FallbackVerificationUsingOpenSslTest\:\:prepareCertificateAndSignature\(\) should return array\{string, string\} but returns array\{mixed, mixed\}\.$#'
527503
identifier: return.type

phpstan.neon

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
includes:
22
- phpstan-baseline.neon
33
- vendor/bnf/phpstan-psr-container/extension.neon
4+
- vendor/phpstan/phpstan-webmozart-assert/extension.neon
45

56
parameters:
67
level: 10

src/Command/SelfUpdateCommand.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
use Composer\IO\IOInterface;
88
use Composer\IO\NullIO;
9-
use Composer\Util\AuthHelper;
109
use Composer\Util\HttpDownloader;
1110
use Php\Pie\ComposerIntegration\PieComposerFactory;
1211
use Php\Pie\ComposerIntegration\PieComposerRequest;
@@ -118,8 +117,7 @@ public function execute(InputInterface $input, OutputInterface $output): int
118117
);
119118

120119
$httpDownloader = new HttpDownloader($this->quieterConsoleIo, $composer->getConfig());
121-
$authHelper = new AuthHelper($this->quieterConsoleIo, $composer->getConfig());
122-
$fetchLatestPieRelease = new FetchPieReleaseFromGitHub($this->githubApiBaseUrl, $httpDownloader, $authHelper);
120+
$fetchLatestPieRelease = new FetchPieReleaseFromGitHub($this->githubApiBaseUrl, $httpDownloader);
123121
$verifyPiePhar = VerifyPieReleaseUsingAttestation::factory();
124122

125123
if ($updateChannel === Channel::Nightly) {

src/ComposerIntegration/Listeners/OverrideDownloadUrlInstallListener.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
use Composer\Installer\InstallerEvents;
1212
use Composer\IO\IOInterface;
1313
use Composer\Package\CompletePackageInterface;
14-
use Composer\Util\AuthHelper;
1514
use Composer\Util\HttpDownloader;
1615
use Php\Pie\ComposerIntegration\PieComposerRequest;
1716
use Php\Pie\DependencyResolver\Package;
@@ -90,7 +89,6 @@ function (OperationInterface $operation): void {
9089
$url = $packageReleaseAssets->findMatchingReleaseAssetUrl(
9190
$targetPlatform,
9291
$piePackage,
93-
new AuthHelper($this->io, $this->composer->getConfig()),
9492
new HttpDownloader($this->io, $this->composer->getConfig()),
9593
$possibleAssetNames,
9694
);

src/Downloading/GithubPackageReleaseAssets.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
namespace Php\Pie\Downloading;
66

77
use Composer\Downloader\TransportException;
8-
use Composer\Util\AuthHelper;
98
use Composer\Util\HttpDownloader;
109
use Php\Pie\DependencyResolver\Package;
1110
use Php\Pie\Platform\TargetPlatform;
@@ -31,14 +30,13 @@ public function __construct(
3130
public function findMatchingReleaseAssetUrl(
3231
TargetPlatform $targetPlatform,
3332
Package $package,
34-
AuthHelper $authHelper,
3533
HttpDownloader $httpDownloader,
3634
array $possibleReleaseAssetNames,
3735
): string {
3836
$releaseAsset = $this->selectMatchingReleaseAsset(
3937
$targetPlatform,
4038
$package,
41-
$this->getReleaseAssetsForPackage($package, $authHelper, $httpDownloader),
39+
$this->getReleaseAssetsForPackage($package, $httpDownloader),
4240
$possibleReleaseAssetNames,
4341
);
4442

@@ -72,7 +70,6 @@ private function selectMatchingReleaseAsset(
7270
/** @return list<array{name: non-empty-string, browser_download_url: non-empty-string, ...}> */
7371
private function getReleaseAssetsForPackage(
7472
Package $package,
75-
AuthHelper $authHelper,
7673
HttpDownloader $httpDownloader,
7774
): array {
7875
Assert::notNull($package->downloadUrl());
@@ -84,7 +81,7 @@ private function getReleaseAssetsForPackage(
8481
'retry-auth-failure' => true,
8582
'http' => [
8683
'method' => 'GET',
87-
'header' => $authHelper->addAuthenticationHeader([], $this->githubApiBaseUrl, $package->downloadUrl()),
84+
'header' => [],
8885
],
8986
],
9087
)->decodeJson();

src/Downloading/PackageReleaseAssets.php

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

55
namespace Php\Pie\Downloading;
66

7-
use Composer\Util\AuthHelper;
87
use Composer\Util\HttpDownloader;
98
use Php\Pie\DependencyResolver\Package;
109
use Php\Pie\Platform\TargetPlatform;
@@ -20,7 +19,6 @@ interface PackageReleaseAssets
2019
public function findMatchingReleaseAssetUrl(
2120
TargetPlatform $targetPlatform,
2221
Package $package,
23-
AuthHelper $authHelper,
2422
HttpDownloader $httpDownloader,
2523
array $possibleReleaseAssetNames,
2624
): string;

src/ExtensionName.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ public static function determineFromComposerPackage(PackageInterface $package):
6767
) {
6868
$packageNameParts = explode('/', $package->getPrettyName());
6969
Assert::count($packageNameParts, 2, 'Expected a package name like vendor/package for ' . $package->getPrettyName());
70-
Assert::keyExists($packageNameParts, 1);
7170

7271
return self::normaliseFromString($packageNameParts[1]);
7372
}

src/SelfManage/Update/FetchPieReleaseFromGitHub.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
namespace Php\Pie\SelfManage\Update;
66

77
use Composer\Package\Version\VersionParser;
8-
use Composer\Util\AuthHelper;
98
use Composer\Util\HttpDownloader;
109
use Php\Pie\File\BinaryFile;
1110
use RuntimeException;
@@ -28,7 +27,6 @@ final class FetchPieReleaseFromGitHub implements FetchPieRelease
2827
public function __construct(
2928
private readonly string $githubApiBaseUrl,
3029
private readonly HttpDownloader $httpDownloader,
31-
private readonly AuthHelper $authHelper,
3230
) {
3331
}
3432

@@ -42,7 +40,7 @@ public function latestReleaseMetadata(Channel $updateChannel): ReleaseMetadata
4240
'retry-auth-failure' => true,
4341
'http' => [
4442
'method' => 'GET',
45-
'header' => $this->authHelper->addAuthenticationHeader([], $this->githubApiBaseUrl, $url),
43+
'header' => [],
4644
],
4745
],
4846
)->decodeJson();
@@ -118,7 +116,7 @@ public function downloadContent(ReleaseMetadata $releaseMetadata): BinaryFile
118116
'retry-auth-failure' => true,
119117
'http' => [
120118
'method' => 'GET',
121-
'header' => $this->authHelper->addAuthenticationHeader([], $this->githubApiBaseUrl, $releaseMetadata->downloadUrl),
119+
'header' => [],
122120
],
123121
],
124122
)->getBody();

0 commit comments

Comments
 (0)