|
|
@@ -15,6 +15,7 @@ use think\exception\PDOException;
|
|
|
|
|
|
class Addon extends Command
|
|
|
{
|
|
|
+
|
|
|
protected function configure()
|
|
|
{
|
|
|
$this
|
|
|
@@ -25,6 +26,7 @@ class Addon extends Command
|
|
|
->addOption('release', 'r', Option::VALUE_OPTIONAL, 'addon release version', null)
|
|
|
->addOption('uid', 'u', Option::VALUE_OPTIONAL, 'fastadmin uid', null)
|
|
|
->addOption('token', 't', Option::VALUE_OPTIONAL, 'fastadmin token', null)
|
|
|
+ ->addOption('local', 'l', Option::VALUE_OPTIONAL, 'local package', null)
|
|
|
->setDescription('Addon manager');
|
|
|
}
|
|
|
|
|
|
@@ -79,6 +81,7 @@ class Addon extends Command
|
|
|
$createTableSql = $result[0]['Create Table'];
|
|
|
}
|
|
|
} catch (PDOException $e) {
|
|
|
+
|
|
|
}
|
|
|
|
|
|
$data = [
|
|
|
@@ -138,8 +141,10 @@ class Addon extends Command
|
|
|
if (is_dir($addonDir)) {
|
|
|
rmdirs($addonDir);
|
|
|
}
|
|
|
+ // 获取本地路径
|
|
|
+ $local = $input->getOption('local');
|
|
|
try {
|
|
|
- Service::install($name, 0, ['version' => $release]);
|
|
|
+ Service::install($name, 0, ['version' => $release], $local);
|
|
|
} catch (AddonException $e) {
|
|
|
if ($e->getCode() != -3) {
|
|
|
throw new Exception($e->getMessage());
|
|
|
@@ -156,7 +161,7 @@ class Addon extends Command
|
|
|
throw new Exception("Operation is aborted!");
|
|
|
}
|
|
|
}
|
|
|
- Service::install($name, 1, ['version' => $release, 'uid' => $uid, 'token' => $token]);
|
|
|
+ Service::install($name, 1, ['version' => $release, 'uid' => $uid, 'token' => $token], $local);
|
|
|
} catch (Exception $e) {
|
|
|
throw new Exception($e->getMessage());
|
|
|
}
|
|
|
@@ -233,8 +238,7 @@ class Addon extends Command
|
|
|
$zip->open($addonFile, \ZipArchive::CREATE | \ZipArchive::OVERWRITE);
|
|
|
|
|
|
$files = new \RecursiveIteratorIterator(
|
|
|
- new \RecursiveDirectoryIterator($addonDir),
|
|
|
- \RecursiveIteratorIterator::LEAVES_ONLY
|
|
|
+ new \RecursiveDirectoryIterator($addonDir), \RecursiveIteratorIterator::LEAVES_ONLY
|
|
|
);
|
|
|
|
|
|
foreach ($files as $name => $file) {
|
|
|
@@ -250,7 +254,7 @@ class Addon extends Command
|
|
|
$output->info("Package Successed!");
|
|
|
break;
|
|
|
|
|
|
- default:
|
|
|
+ default :
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -314,4 +318,5 @@ class Addon extends Command
|
|
|
{
|
|
|
return __DIR__ . '/Addon/stubs/' . $name . '.stub';
|
|
|
}
|
|
|
+
|
|
|
}
|