shenshihai 2 years ago
parent
commit
4a18fbb60b
2 changed files with 21 additions and 9 deletions
  1. 14 9
      src/PackageClass.php
  2. 7 0
      src/Utility.php

+ 14 - 9
src/PackageClass.php

@@ -199,13 +199,7 @@ class PackageClass
 		//获取包信息
 		$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');
@@ -217,7 +211,13 @@ class PackageClass
 			self::setProgressFailed('MACRO_FILES_FAILED');
 			return false;
 		}
-		
+
+		//运行script-files文件
+		if(! self::scriptFiles($packageInfo) ){
+			self::setProgressFailed('RUN_SCRIPT_FILES_FAILED');
+			return false;
+		}		
+				
 		//注册全局路径
 		if(! self::registerPath($packageInfo) ){
 			self::setProgressFailed('REGISTER_PATH_FAILED');
@@ -405,9 +405,13 @@ class PackageClass
 		$vendorDir = $packageInfo['vendorDir'];
 		$ossHost = $packageInfo['ossHost'];
 		
+		$distMode = self::$config['distribute-mode'];
+		$upgradeFrom = self::$config['upgrade-from'];
+		
 		$fileMacros = array(
 			'{vendor}' => $vendorDir,
 			'{root}' => $rootDir,
+			'{upgradeFrom}' => $upgradeFrom,
 		);
 		
 		$app = self::$app;
@@ -415,7 +419,7 @@ class PackageClass
 		foreach($scriptFiles as $info){
 			$name = $info['name'];
 			$type = $info['type'];
-			if($type == 'txt'){
+			if($type == '*' or $type == $distMode){
 				$filePath = pathJoin($rootDir,$name);
 				if(! self::runScriptFile($filePath,$fileMacros) ){
 					logError('failed to run script file',$filePath);
@@ -438,6 +442,7 @@ class PackageClass
 		}
 		return true;
 	}
+
 	//下载包module文件
 	private static function fetchModuleFiles($packageInfo)
 	{

+ 7 - 0
src/Utility.php

@@ -3,6 +3,7 @@
 function defaultConfig(){
 	return array(
 		'distribute-mode' => 'install',
+		'upgrade-from' => '',
 		'tool-dir' => '',
 		'mysql-host'=> '',
 	);
@@ -309,6 +310,12 @@ function loadConfig($cfgPath){
 		logError("distribute-mode node not exists");
 		return false;
 	}
+	if( $config['distribute-mode'] == 'upgrade'){
+		if(! $config['upgrade-from']){
+			logError("upgrade-from node not exists");
+			return false;
+		}
+	}
 	return $config;
 }