Skip to content

Commit be5f142

Browse files
authored
Merge pull request #464 from php/1.3.x
Merge up 1.3.x into 1.4.x - fix intermittent package not being found
2 parents 63c755b + e8a96bf commit be5f142

19 files changed

+57
-55
lines changed

src/ComposerIntegration/InstalledJsonMetadata.php

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

55
namespace Php\Pie\ComposerIntegration;
66

7-
use Composer\Package\CompletePackage;
87
use Composer\Package\CompletePackageInterface;
98
use Composer\PartialComposer;
109
use Php\Pie\ComposerIntegration\PieInstalledJsonMetadataKeys as MetadataKey;
@@ -118,7 +117,7 @@ private function addPieMetadata(
118117
->getRepositoryManager()
119118
->getLocalRepository()
120119
->findPackages($composerPackage->getName())[0];
121-
Assert::isInstanceOf($localRepositoryPackage, CompletePackage::class);
120+
Assert::methodExists($localRepositoryPackage, 'setExtra');
122121

123122
$localRepositoryPackage->setExtra(array_merge($localRepositoryPackage->getExtra(), [$key->value => $value]));
124123
}

src/ComposerIntegration/PhpBinaryPathBasedPlatformRepository.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use Composer\Composer;
88
use Composer\Package\CompletePackage;
9+
use Composer\Package\CompletePackageInterface;
910
use Composer\Pcre\Preg;
1011
use Composer\Repository\PlatformRepository;
1112
use Composer\Semver\VersionParser;
@@ -85,7 +86,7 @@ public function __construct(PhpBinaryPath $phpBinaryPath, Composer $composer, In
8586
parent::__construct();
8687
}
8788

88-
private function packageForExtension(string $name, string $prettyVersion): CompletePackage
89+
private function packageForExtension(string $name, string $prettyVersion): CompletePackageInterface
8990
{
9091
$extraDescription = '';
9192

src/ComposerIntegration/PiePackageInstaller.php

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

77
use Composer\Installer\LibraryInstaller;
88
use Composer\IO\IOInterface;
9-
use Composer\Package\CompletePackage;
9+
use Composer\Package\CompletePackageInterface;
1010
use Composer\Package\PackageInterface;
1111
use Composer\PartialComposer;
1212
use Composer\Repository\InstalledRepositoryInterface;
@@ -52,7 +52,7 @@ public function install(InstalledRepositoryInterface $repo, PackageInterface $pa
5252
return null;
5353
}
5454

55-
if (! $composerPackage instanceof CompletePackage) {
55+
if (! $composerPackage instanceof CompletePackageInterface) {
5656
$io->writeError(sprintf(
5757
'<error>Not using PIE to install %s as it was not a Complete Package</error>',
5858
$composerPackage->getName(),
@@ -94,7 +94,7 @@ public function uninstall(InstalledRepositoryInterface $repo, PackageInterface $
9494
return null;
9595
}
9696

97-
if (! $composerPackage instanceof CompletePackage) {
97+
if (! $composerPackage instanceof CompletePackageInterface) {
9898
$io->writeError(sprintf(
9999
'<error>Not using PIE to install %s as it was not a Complete Package</error>',
100100
$composerPackage->getName(),

src/Installing/InstallForPhpProject/FindMatchingPackages.php

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

77
use Composer\Composer;
8-
use Composer\Package\CompletePackage;
8+
use Composer\Package\CompletePackageInterface;
99
use Composer\Repository\RepositoryInterface;
1010
use OutOfRangeException;
1111
use Php\Pie\DependencyResolver\Package;
@@ -41,7 +41,7 @@ public function for(Composer $pieComposer, string $searchTerm): array
4141
static function (array $match) use ($pieComposer, $extensionName): bool {
4242
$package = $pieComposer->getRepositoryManager()->findPackage($match['name'], '*');
4343

44-
if (! $package instanceof CompletePackage) {
44+
if (! $package instanceof CompletePackageInterface) {
4545
return false;
4646
}
4747

test/integration/Building/UnixBuildTest.php

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

77
use Composer\IO\BufferIO;
8-
use Composer\Package\CompletePackage;
8+
use Composer\Package\CompletePackageInterface;
99
use Composer\Util\Platform;
1010
use Php\Pie\Building\ExtensionBinaryNotFound;
1111
use Php\Pie\Building\UnixBuild;
@@ -37,7 +37,7 @@ public function testUnixBuildCanBuildExtension(): void
3737

3838
$downloadedPackage = DownloadedPackage::fromPackageAndExtractedPath(
3939
new Package(
40-
$this->createMock(CompletePackage::class),
40+
$this->createMock(CompletePackageInterface::class),
4141
ExtensionType::PhpModule,
4242
ExtensionName::normaliseFromString('pie_test_ext'),
4343
'pie_test_ext',
@@ -86,7 +86,7 @@ public function testUnixBuildWillThrowExceptionWhenExpectedBinaryNameMismatches(
8686

8787
$downloadedPackage = DownloadedPackage::fromPackageAndExtractedPath(
8888
new Package(
89-
$this->createMock(CompletePackage::class),
89+
$this->createMock(CompletePackageInterface::class),
9090
ExtensionType::PhpModule,
9191
ExtensionName::normaliseFromString('mismatched_name'),
9292
'pie_test_ext',
@@ -121,7 +121,7 @@ public function testUnixBuildCanBuildExtensionWithBuildPath(): void
121121

122122
$output = new BufferIO();
123123

124-
$composerPackage = $this->createMock(CompletePackage::class);
124+
$composerPackage = $this->createMock(CompletePackageInterface::class);
125125
$composerPackage->method('getPrettyName')->willReturn('myvendor/pie_test_ext');
126126
$composerPackage->method('getPrettyVersion')->willReturn('0.1.0');
127127
$composerPackage->method('getType')->willReturn('php-ext');
@@ -174,7 +174,7 @@ public function testCleanupDoesNotCleanWhenConfigureIsMissing(): void
174174

175175
$downloadedPackage = DownloadedPackage::fromPackageAndExtractedPath(
176176
new Package(
177-
$this->createMock(CompletePackage::class),
177+
$this->createMock(CompletePackageInterface::class),
178178
ExtensionType::PhpModule,
179179
ExtensionName::normaliseFromString('pie_test_ext'),
180180
'pie_test_ext',
@@ -211,7 +211,7 @@ public function testVerboseOutputShowsCleanupMessages(): void
211211

212212
$downloadedPackage = DownloadedPackage::fromPackageAndExtractedPath(
213213
new Package(
214-
$this->createMock(CompletePackage::class),
214+
$this->createMock(CompletePackageInterface::class),
215215
ExtensionType::PhpModule,
216216
ExtensionName::normaliseFromString('pie_test_ext'),
217217
'pie_test_ext',

test/integration/Downloading/GithubPackageReleaseAssetsTest.php

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

77
use Composer\Factory;
88
use Composer\IO\NullIO;
9-
use Composer\Package\CompletePackage;
9+
use Composer\Package\CompletePackageInterface;
1010
use Composer\Util\HttpDownloader;
1111
use Php\Pie\DependencyResolver\Package;
1212
use Php\Pie\Downloading\GithubPackageReleaseAssets;
@@ -46,7 +46,7 @@ public function testDeterminingReleaseAssetUrlForWindows(): void
4646
);
4747

4848
$package = new Package(
49-
$this->createMock(CompletePackage::class),
49+
$this->createMock(CompletePackageInterface::class),
5050
ExtensionType::PhpModule,
5151
ExtensionName::normaliseFromString('example_pie_extension'),
5252
'asgrim/example-pie-extension',

test/integration/Installing/UnixInstallTest.php

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

77
use Composer\IO\BufferIO;
8-
use Composer\Package\CompletePackage;
8+
use Composer\Package\CompletePackageInterface;
99
use Composer\Util\Platform;
1010
use Php\Pie\Building\UnixBuild;
1111
use Php\Pie\DependencyResolver\Package;
@@ -78,7 +78,7 @@ public function testUnixInstallCanInstallExtension(string $phpConfig): void
7878

7979
$downloadedPackage = DownloadedPackage::fromPackageAndExtractedPath(
8080
new Package(
81-
$this->createMock(CompletePackage::class),
81+
$this->createMock(CompletePackageInterface::class),
8282
ExtensionType::PhpModule,
8383
ExtensionName::normaliseFromString('pie_test_ext'),
8484
'pie_test_ext',

test/integration/Installing/WindowsInstallTest.php

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

77
use Composer\IO\BufferIO;
8-
use Composer\Package\CompletePackage;
8+
use Composer\Package\CompletePackageInterface;
99
use Php\Pie\DependencyResolver\Package;
1010
use Php\Pie\Downloading\DownloadedPackage;
1111
use Php\Pie\ExtensionName;
@@ -47,7 +47,7 @@ public function testWindowsInstallCanInstallExtension(): void
4747
{
4848
$downloadedPackage = DownloadedPackage::fromPackageAndExtractedPath(
4949
new Package(
50-
$this->createMock(CompletePackage::class),
50+
$this->createMock(CompletePackageInterface::class),
5151
ExtensionType::PhpModule,
5252
ExtensionName::normaliseFromString('pie_test_ext'),
5353
'php/pie-test-ext',

test/unit/Command/CommandHelperTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use Composer\Composer;
88
use Composer\IO\BufferIO;
99
use Composer\IO\NullIO;
10-
use Composer\Package\CompletePackage;
10+
use Composer\Package\CompletePackageInterface;
1111
use Composer\Repository\ComposerRepository;
1212
use Composer\Repository\PathRepository;
1313
use Composer\Repository\RepositoryManager;
@@ -95,7 +95,7 @@ public function testBindingConfigurationOptionsFromPackage(): void
9595

9696
public function testProcessingConfigureOptionsFromInput(): void
9797
{
98-
$composerPackage = $this->createMock(CompletePackage::class);
98+
$composerPackage = $this->createMock(CompletePackageInterface::class);
9999
$composerPackage->method('getPrettyName')->willReturn('foo/bar');
100100
$composerPackage->method('getPrettyVersion')->willReturn('1.0.0');
101101
$composerPackage->method('getType')->willReturn('php-ext');

test/unit/ComposerIntegration/InstalledJsonMetadataTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Composer\Composer;
88
use Composer\IO\IOInterface;
99
use Composer\Package\CompletePackage;
10+
use Composer\Package\CompletePackageInterface;
1011
use Composer\Repository\InstalledArrayRepository;
1112
use Composer\Repository\RepositoryManager;
1213
use Php\Pie\ComposerIntegration\InstalledJsonMetadata;
@@ -28,7 +29,7 @@
2829
#[CoversClass(InstalledJsonMetadata::class)]
2930
final class InstalledJsonMetadataTest extends TestCase
3031
{
31-
private function mockComposerInstalledRepositoryWith(CompletePackage $package): Composer&MockObject
32+
private function mockComposerInstalledRepositoryWith(CompletePackageInterface $package): Composer&MockObject
3233
{
3334
$installedRepository = new InstalledArrayRepository([$package]);
3435

0 commit comments

Comments
 (0)