|
23 | 23 |
|
24 | 24 | echo "Starting Packagist publishing process for package: $packageName\n"; |
25 | 25 |
|
26 | | -$apiUrl = "https://packagist.org/api/update-package?username=$username&apiToken=$apiToken"; |
| 26 | +$checkUrl = "https://packagist.org/packages/$packageName.json"; |
| 27 | +$ch = curl_init($checkUrl); |
| 28 | +curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); |
| 29 | +curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); |
| 30 | +curl_setopt($ch, CURLOPT_HTTPHEADER, [ |
| 31 | + 'Accept: application/json' |
| 32 | +]); |
| 33 | + |
| 34 | +echo "Checking if package exists on Packagist...\n"; |
| 35 | +$response = curl_exec($ch); |
| 36 | +$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); |
| 37 | +curl_close($ch); |
| 38 | + |
| 39 | +$packageExists = ($httpCode === 200); |
| 40 | + |
| 41 | +if ($packageExists) { |
| 42 | + echo "Package $packageName already exists on Packagist. Updating...\n"; |
| 43 | + $apiUrl = "https://packagist.org/api/update-package?username=$username&apiToken=$apiToken"; |
| 44 | +} else { |
| 45 | + echo "Package $packageName does not exist on Packagist. Submitting new package...\n"; |
| 46 | + $apiUrl = "https://packagist.org/api/submit?username=$username&apiToken=$apiToken"; |
| 47 | +} |
| 48 | + |
| 49 | +$repoUrl = "https://github.com/lingodotdev/lingo.dev"; |
27 | 50 |
|
28 | 51 | $data = [ |
29 | 52 | 'repository' => [ |
30 | | - 'url' => "https://github.com/lingodotdev/lingo.dev" |
| 53 | + 'url' => $repoUrl |
31 | 54 | ] |
32 | 55 | ]; |
33 | 56 |
|
|
41 | 64 | 'Accept: application/json' |
42 | 65 | ]); |
43 | 66 |
|
44 | | -echo "Sending request to Packagist API...\n"; |
| 67 | +echo "Sending request to Packagist API ($apiUrl)...\n"; |
45 | 68 | $response = curl_exec($ch); |
46 | 69 | $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); |
47 | 70 |
|
|
59 | 82 | echo "Response: " . print_r($responseData, true) . "\n"; |
60 | 83 |
|
61 | 84 | if ($httpCode >= 200 && $httpCode < 300) { |
62 | | - echo "Package $packageName successfully published to Packagist!\n"; |
| 85 | + echo "Package $packageName successfully " . ($packageExists ? "updated" : "submitted") . " to Packagist!\n"; |
63 | 86 | exit(0); |
64 | 87 | } else { |
65 | | - echo "Failed to publish package $packageName to Packagist.\n"; |
| 88 | + echo "Failed to " . ($packageExists ? "update" : "submit") . " package $packageName to Packagist.\n"; |
66 | 89 | exit(1); |
67 | 90 | } |
0 commit comments