shenshihai 2 ani în urmă
părinte
comite
2a8fac6e20
1 a modificat fișierele cu 22 adăugiri și 6 ștergeri
  1. 22 6
      src/PackageClass.php

+ 22 - 6
src/PackageClass.php

@@ -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)