shenshihai il y a 2 ans
Parent
commit
631e5ff269
1 fichiers modifiés avec 14 ajouts et 28 suppressions
  1. 14 28
      src/PackageClass.php

+ 14 - 28
src/PackageClass.php

@@ -76,12 +76,7 @@ class PackageClass
 		if(! self::postUpdateVendorPkgs($vendorDir,$vendorPkgs) ){
 			return false;
 		}
-		
-		//运行各个依赖仓库的脚本
-		if(! self::runVendorPkgsScript($vendorDir,$vendorPkgs) ){
-			return false;
-		}
-		
+				
 		//顶层仓库操作
 		if(! self::postUpdateRootPkg($vendorDir,$rootPkg) ){
 			return false;
@@ -199,28 +194,18 @@ class PackageClass
 		return true;
 	}
 	
-	private static function runVendorPkgsScript($vendorDir,$vendorPkgs)
-	{
-		$count = count($vendorPkgs);
-		foreach($vendorPkgs as $i=>$pkg){
-			//获取包信息
-			$repoDir = pathJoin($vendorDir,$pkg->getName());
-			$packageInfo = self::getPackageInfo($vendorDir,$repoDir,$pkg);
-			
-			//执行当前依赖包的script文件
-			if(! self::runPackageScriptFiles($packageInfo) ){
-				self::setProgressFailed('RUN_SCRIPT_FILES_FAILED');
-				return false;
-			}
-		}
-		return true;
-	}
 	private static function postUpdateRootPkg($vendorDir,$pkg)
 	{
 		//获取包信息
 		$repoDir = dirname($vendorDir);
 		$packageInfo = self::getPackageInfo($vendorDir,$repoDir,$pkg);
 		
+		//运行script-files文件
+		if(! self::scriptFiles($packageInfo) ){
+			self::setProgressFailed('RUN_SCRIPT_FILES_FAILED');
+			return false;
+		}		
+		
 		//拷贝copy-files文件
 		if(! self::copyFiles($packageInfo) ){
 			self::setProgressFailed('COPY_FILES_FAILED');
@@ -401,27 +386,28 @@ class PackageClass
 	}
 	
 	//运行脚本文件
-	private static function runPackageScriptFiles($packageInfo)
+	private static function scriptFiles($packageInfo)
 	{
 		$toolDir = $packageInfo['toolDir'];
 		$cacheDir = $packageInfo['cacheDir'];
 		$repoName = $packageInfo['repoName'];
-		$moduleDir = $packageInfo['moduleDir'];
+		$rootDir = $packageInfo['rootDir'];
 		$version = $packageInfo['version'];
 		$vendorDir = $packageInfo['vendorDir'];
 		$ossHost = $packageInfo['ossHost'];
 		
 		$fileMacros = array(
 			'{vendor}' => $vendorDir,
-			'{current}' => $moduleDir,
+			'{root}' => $rootDir,
 		);
-		var_dump($fileMacros);
-		$scriptFiles = $packageInfo['helper']['script-files'] ? : array();	
+		
+		$app = self::$app;
+		$scriptFiles = $app["distribute-root"]["script-files"] ? : array();
 		foreach($scriptFiles as $info){
 			$name = $info['name'];
 			$type = $info['type'];
 			if($type == 'txt'){
-				$filePath = pathJoin($vendorDir,$repoName,$name);
+				$filePath = pathJoin($rootDir,$name);
 				if(! self::runScriptFile($filePath,$fileMacros) ){
 					logError('failed to run script file',$filePath);
 					return false;