Skip to content

Commit 99c7e52

Browse files
committed
A script to help publishing releases
1 parent 514e8a9 commit 99c7e52

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#!/usr/bin/env php
2+
<?php
3+
4+
if (!isset($argv[1]) || !isset($argv[2])) {
5+
echo 'Usage: ' . basename(__FILE__) . " BASEDIR_OF_TARBALLS VERSION\n";
6+
exit(1);
7+
}
8+
9+
if (!is_dir($argv[1])) {
10+
echo "Error! Invalid directory: {$argv[1]}\n";
11+
exit(1);
12+
}
13+
14+
$basedir = $argv[1];
15+
$version = $argv[2];
16+
17+
function human_file_size($byte)
18+
{
19+
$factor = floor((strlen($byte) - 1) / 3);
20+
if ($factor > 0) {
21+
$sz = 'KMGT';
22+
}
23+
return sprintf('%.1f', $byte / 1024 ** $factor) . ' ' . @$sz[$factor - 1] . 'B';
24+
}
25+
26+
function generate_data($version, $package_name, $filename)
27+
{
28+
$sum = hash_file('sha256', $filename);
29+
$size = human_file_size(filesize($filename));
30+
return [
31+
'package' => $package_name,
32+
'url' => "https://github.com/roundcube/roundcubemail/releases/download/{$version}/{$filename}",
33+
'size' => $size,
34+
'checksum' => $sum,
35+
];
36+
}
37+
38+
echo json_encode([
39+
generate_data($version, 'Dependent', join(DIRECTORY_SEPARATOR, [$basedir, "roundcubemail-{$version}.tar.gz"])),
40+
generate_data($version, 'Complete', join(DIRECTORY_SEPARATOR, [$basedir, "roundcubemail-{$version}-complete.tar.gz"])),
41+
generate_data($version, 'Framework', join(DIRECTORY_SEPARATOR, [$basedir, "roundcube-framework-{$version}.tar.gz"])),
42+
], \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES) . "\n";

0 commit comments

Comments
 (0)