Skip to content

Commit 5419827

Browse files
authored
Merge pull request #17 from kylekatarnls/feature/debug-info
Add debug info for source calculation
2 parents af8b636 + 5097cc3 commit 5419827

File tree

3 files changed

+21
-1
lines changed

3 files changed

+21
-1
lines changed

src/MultiTester/MultiTester.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,14 @@ public function getComposerSettings(string $package, $platforms = null): ?array
4747
{
4848
if (!isset($this->composerSettings[$package])) {
4949
$sourceFinder = new SourceFinder($this->getWorkingDirectory());
50-
$this->composerSettings[$package] = $sourceFinder->getFromFirstValidPlatform($package, $platforms);
50+
$source = $sourceFinder->getFromFirstValidPlatform($package, $platforms);
51+
$this->composerSettings[$package] = $source;
52+
53+
$this->info(
54+
$source
55+
? 'Source found in ' . $sourceFinder->getLastPlatformTried() . ".\n"
56+
: "Source not found.\n"
57+
);
5158
}
5259

5360
return $this->composerSettings[$package];

src/MultiTester/Project.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,13 +125,17 @@ protected function seedSourceSetting(array &$settings): void
125125
$settings['version'] = (string) ($settings['version'] ?? 'dev-master');
126126
$package = $this->getPackageName();
127127
$tester = $this->getConfig()->getTester();
128+
$tester->info("Searching source for $package:{$settings['version']}\n");
128129
$composerSettings = $tester->getComposerSettings($package, $settings['platforms'] ?? null);
129130
$version = is_array($composerSettings)
130131
? $this->filterVersion($settings['version'], array_keys((array) ($composerSettings ?: [])))
131132
: '';
132133

133134
$settings['source'] = $composerSettings[$version]['source']
134135
?? $this->getRepositoryUrl($composerSettings);
136+
$sourceDump = json_encode($settings['source'], JSON_PRETTY_PRINT);
137+
138+
$tester->info("Found source for version '$version':\n$sourceDump\n");
135139
}
136140

137141
if (

src/MultiTester/SourceFinder.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ final class SourceFinder
1010
{
1111
use ErrorHandler;
1212

13+
/** @var string|null */
14+
private $lastPlatform;
15+
1316
public function __construct($workingDirectory)
1417
{
1518
$this->setWorkingDirectory($workingDirectory);
@@ -18,6 +21,7 @@ public function __construct($workingDirectory)
1821
public function getFromFirstValidPlatform($package, $platforms): ?array
1922
{
2023
foreach ($this->parsePlatformList($platforms) as $platform) {
24+
$this->lastPlatform = $platform;
2125
$result = $this->getSourceFromPlatform($package, $platform);
2226

2327
if ($result !== null) {
@@ -28,6 +32,11 @@ public function getFromFirstValidPlatform($package, $platforms): ?array
2832
return null;
2933
}
3034

35+
public function getLastPlatformTried(): ?string
36+
{
37+
return $this->lastPlatform;
38+
}
39+
3140
private function getSourceFromLibrariesIo($package): ?array
3241
{
3342
$file = new File('https://libraries.io/api/Packagist/' . urlencode($package), 'json');

0 commit comments

Comments
 (0)