|
@@ -5,7 +5,8 @@ include "Utility.php";
|
|
|
|
|
|
class PackageClass
|
|
|
{
|
|
|
- private static $config = null; //配置信息
|
|
|
+ private static $config = null; //全局配置信息
|
|
|
+ private static $app = null; //当前安装包composer.json
|
|
|
//当所有包都安装完毕后
|
|
|
public static function postUpdate($vendorDir,$rootPkg,$vendorPkgs)
|
|
|
{
|
|
@@ -51,6 +52,7 @@ class PackageClass
|
|
|
//全部操作完毕
|
|
|
self::setProgressOK(true);
|
|
|
}
|
|
|
+ /*
|
|
|
private static function createModuleIni($vendorDir,$vendorPkgs)
|
|
|
{
|
|
|
//[MODULE]节点内容
|
|
@@ -79,7 +81,7 @@ class PackageClass
|
|
|
//保存文件
|
|
|
file_put_contents(MODULEINI_PATH,$content);
|
|
|
return true;
|
|
|
- }
|
|
|
+ }*/
|
|
|
private static function postUpdateVendorPkgs($vendorDir,$vendorPkgs)
|
|
|
{
|
|
|
$count = count($vendorPkgs);
|
|
@@ -97,7 +99,7 @@ class PackageClass
|
|
|
self::setProgressStep2($count,$i,2);
|
|
|
|
|
|
//拷贝当前包的config文件
|
|
|
- self::copyConfigFiles($packageInfo);
|
|
|
+ //self::copyConfigFiles($packageInfo);
|
|
|
self::setProgressStep2($count,$i,3);
|
|
|
}
|
|
|
}
|
|
@@ -147,6 +149,14 @@ class PackageClass
|
|
|
createDirectory($moduleDir);
|
|
|
}
|
|
|
|
|
|
+ //解析安装包信息
|
|
|
+ $composerJson = pathJoin(dirname($vendorDir),'composer.json');
|
|
|
+ self::$app = json_decode(file_get_contents($composerJson), true);
|
|
|
+ if(! self::$app ){
|
|
|
+ logError("failed to decode " . $composerJson);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
//获取部署配置信息
|
|
|
$cfgPath = pathJoin($distributeDir,'config.json');
|
|
|
if(! file_exists($cfgPath) ){
|
|
@@ -192,10 +202,14 @@ class PackageClass
|
|
|
private static function getPackageInfo($vendorDir,$repoDir,$pkg)
|
|
|
{
|
|
|
$config = self::$config;
|
|
|
+ $app = self::$app;
|
|
|
+ $repoName = $pkg->getName();
|
|
|
+ $module_alias = $app["distribute-root"]["module-alias"]
|
|
|
|
|
|
$cfgPath = pathJoin($repoDir,'composer.json');
|
|
|
$data = json_decode(file_get_contents($cfgPath), true);
|
|
|
- $moduleName = $data["distribute-helper"]["module-name"];
|
|
|
+
|
|
|
+ $moduleName = $module_alias[$repoName] ? : $repoName;
|
|
|
|
|
|
|
|
|
//获取安装目录
|
|
@@ -204,12 +218,13 @@ class PackageClass
|
|
|
$configDir = pathJoin($rootDir,'config',$moduleName);
|
|
|
$moduleDir = pathJoin($rootDir,'module',$moduleName);
|
|
|
|
|
|
+
|
|
|
//获取缓存目录
|
|
|
$cacheDir = pathJoin($config['cache-dir'],str_replace('/','-',$pkg->getName()));
|
|
|
|
|
|
//返回包的相关信息
|
|
|
return array(
|
|
|
- "repoName" => $pkg->getName(),
|
|
|
+ "repoName" => $repoName,
|
|
|
"version" => $pkg->getPrettyVersion(),
|
|
|
"rootDir" => $rootDir,
|
|
|
"cacheDir" => $cacheDir,
|
|
@@ -290,6 +305,7 @@ class PackageClass
|
|
|
}
|
|
|
|
|
|
//拷贝config文件
|
|
|
+ /*
|
|
|
private static function copyConfigFiles($packageInfo)
|
|
|
{
|
|
|
$cacheDir = $packageInfo['cacheDir'];
|
|
@@ -313,7 +329,7 @@ class PackageClass
|
|
|
fileCopy($filePath,$targetPath);
|
|
|
}
|
|
|
return true;
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
//拷贝copy-files文件
|
|
|
private static function copyCopyFiles($packageInfo)
|