mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-29 20:19:22 +03:00
v2.12.0-pr1
This commit is contained in:
parent
051e78df51
commit
67ae99fa3c
11 changed files with 3915 additions and 4068 deletions
74
release.php
74
release.php
|
|
@ -5,79 +5,7 @@ chdir(__DIR__);
|
|||
$options = getopt('', ['aur','docker','plugins','set-version','skip-gulp','debian']);
|
||||
|
||||
if (isset($options['plugins'])) {
|
||||
$destPath = "build/dist/releases/plugins/";
|
||||
is_dir($destPath) || mkdir($destPath, 0777, true);
|
||||
$manifest = [];
|
||||
require 'snappymail/v/0.0.0/app/libraries/RainLoop/Plugins/AbstractPlugin.php';
|
||||
$keys = [
|
||||
'author',
|
||||
'category',
|
||||
'description',
|
||||
'file',
|
||||
'id',
|
||||
'license',
|
||||
'name',
|
||||
'release',
|
||||
'required',
|
||||
'type',
|
||||
'url',
|
||||
'version'
|
||||
];
|
||||
foreach (glob('plugins/*', GLOB_NOSORT | GLOB_ONLYDIR) as $dir) {
|
||||
if (is_file("{$dir}/index.php")) {
|
||||
require "{$dir}/index.php";
|
||||
$name = basename($dir);
|
||||
$class = new ReflectionClass(str_replace('-', '', $name) . 'Plugin');
|
||||
$manifest_item = [];
|
||||
foreach ($class->getConstants() as $key => $value) {
|
||||
$key = \strtolower($key);
|
||||
if (in_array($key, $keys)) {
|
||||
$manifest_item[$key] = $value;
|
||||
}
|
||||
}
|
||||
$version = $manifest_item['version'];
|
||||
if (0 < floatval($version)) {
|
||||
echo "+ {$name} {$version}\n";
|
||||
$manifest_item['type'] = 'plugin';
|
||||
$manifest_item['id'] = $name;
|
||||
$manifest_item['file'] = "{$dir}-{$version}.tgz";
|
||||
ksort($manifest_item);
|
||||
$manifest[$name] = $manifest_item;
|
||||
$tar_destination = "{$destPath}{$name}-{$version}.tar";
|
||||
$tgz_destination = "{$destPath}{$name}-{$version}.tgz";
|
||||
@unlink($tgz_destination);
|
||||
@unlink("{$tar_destination}.gz");
|
||||
$tar = new PharData($tar_destination);
|
||||
$tar->buildFromDirectory('./plugins/', '/' . \preg_quote("./plugins/{$name}", '/') . '/');
|
||||
$tar->compress(Phar::GZ);
|
||||
unlink($tar_destination);
|
||||
rename("{$tar_destination}.gz", $tgz_destination);
|
||||
if (Phar::canWrite()) {
|
||||
$phar_destination = "{$destPath}{$name}.phar";
|
||||
@unlink($phar_destination);
|
||||
$tar = new Phar($phar_destination);
|
||||
$tar->buildFromDirectory("./plugins/{$name}/");
|
||||
$tar->compress(Phar::GZ);
|
||||
unlink($phar_destination);
|
||||
rename("{$phar_destination}.gz", $phar_destination);
|
||||
}
|
||||
} else {
|
||||
echo "- {$name} {$version}\n";
|
||||
}
|
||||
} else {
|
||||
echo "- {$name}\n";
|
||||
}
|
||||
}
|
||||
|
||||
ksort($manifest);
|
||||
$manifest = json_encode(array_values($manifest));
|
||||
$manifest = str_replace('{"', "\n\t{\n\t\t\"", $manifest);
|
||||
$manifest = str_replace('"}', "\"\n\t}", $manifest);
|
||||
$manifest = str_replace('}]', "}\n]", $manifest);
|
||||
$manifest = str_replace('","', "\",\n\t\t\"", $manifest);
|
||||
$manifest = str_replace('\/', '/', $manifest);
|
||||
file_put_contents("{$destPath}packages.json", $manifest);
|
||||
exit;
|
||||
require(__DIR__ . '/build/plugins.php');
|
||||
}
|
||||
|
||||
$gulp = trim(`which gulp`);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue