shenshihai před 2 roky
rodič
revize
07b4f93a3b
2 změnil soubory, kde provedl 24 přidání a 7 odebrání
  1. 9 3
      src/PackageClass.php
  2. 15 4
      src/Utility.php

+ 9 - 3
src/PackageClass.php

@@ -317,6 +317,8 @@ class PackageClass
 			logInfo("internet detected. oss host http://192.168.3.10:8996");
 			self::$config['oss-host'] = 'http://sis31-disthelp.oss-cn-hangzhou.aliyuncs.com';
 		}
+		//工具换成wget
+		self::$config['down-client'] = 'wget';
 		return true;
 	}
 	
@@ -376,6 +378,7 @@ class PackageClass
 			"vendorDir" => $vendorDir,
 			"cacheDir" => $cacheDir,
 			"toolDir" => $config['tool-dir'],
+			"downClient" => $config['down-client'],
 			"ossHost" => $config['oss-host'],
 			"moduleName" => $moduleName,
 			"commonDir" => $commonDir,
@@ -433,6 +436,7 @@ class PackageClass
 	private static function fetchModuleFiles($packageInfo)
 	{
 		$toolDir = $packageInfo['toolDir'];
+		$downClient = $packageInfo['downClient'];
 		$cacheDir = $packageInfo['cacheDir'];
 		$repoName = $packageInfo['repoName'];
 		$version = $packageInfo['version'];
@@ -444,7 +448,7 @@ class PackageClass
 			$fileName = $fileInfo['name'];
 
 			//下载文件到缓存区
-			$filePath = downloadToDir($toolDir,$ossHost,$repoName,$fileName,$cacheDir);
+			$filePath = downloadToDir($toolDir,$downClient,$ossHost,$repoName,$fileName,$cacheDir);
 			if(! $filePath ){
 				logError($repoName,"fetch module file failed",$fileName);
 				return false;
@@ -481,6 +485,7 @@ class PackageClass
 	private static function fetchCommonFiles($packageInfo)
 	{
 		$toolDir = $packageInfo['toolDir'];
+		$downClient = $packageInfo['downClient'];
 		$cacheDir = $packageInfo['cacheDir'];
 		$repoName = $packageInfo['repoName'];
 		$version  = $packageInfo['version'];
@@ -491,7 +496,7 @@ class PackageClass
 			$fileName = $fileInfo['name'];
 			$target = $fileInfo['target'];
 			//下载文件到缓存区
-			$filePath = downloadToDir($toolDir,$ossHost,$repoName,$fileName,$cacheDir);
+			$filePath = downloadToDir($toolDir,$downClient,$ossHost,$repoName,$fileName,$cacheDir);
 			if(! $filePath ){
 				logError($repoName,"fetch common file failed",$fileName);
 				return false;
@@ -520,6 +525,7 @@ class PackageClass
 	private static function fetchVendorFiles($packageInfo)
 	{
 		$toolDir = $packageInfo['toolDir'];
+		$downClient = $packageInfo['downClient'];
 		$cacheDir = $packageInfo['cacheDir'];
 		$repoName = $packageInfo['repoName'];
 		$version  = $packageInfo['version'];
@@ -530,7 +536,7 @@ class PackageClass
 			$fileName = $fileInfo['name'];
 			$target = $fileInfo['target'];
 			//下载文件到缓存区
-			$filePath = downloadToDir($toolDir,$ossHost,$repoName,$fileName,$cacheDir);
+			$filePath = downloadToDir($toolDir,$downClient,$ossHost,$repoName,$fileName,$cacheDir);
 			if(! $filePath ){
 				logError($repoName,"fetch vendor file failed",$fileName);
 				return false;

+ 15 - 4
src/Utility.php

@@ -103,6 +103,12 @@ function getGoPeedPath($toolDir){
 	return pathJoin($toolDir,'gopeed.exe');
 }
 
+//获取 wget.exe 路径
+function getWgetPath($toolDir){
+	if(!$toolDir)
+		return 'wget.exe';
+	return pathJoin($toolDir,'wget.exe');
+}
 //获取 7z.exe 路径
 function get7ZipPath($toolDir){
 	if(!$toolDir)
@@ -298,7 +304,7 @@ function loadConfig($cfgPath){
 
 
 //多线程下载文件
-function downloadToDir($toolDir,$ossHost,$repoName,$fileName,$targetDir){
+function downloadToDir($toolDir,$downClient,$ossHost,$repoName,$fileName,$targetDir){
 	if (!file_exists($targetDir)){
 		mkdir($targetDir,0777,true);
 	}
@@ -307,10 +313,15 @@ function downloadToDir($toolDir,$ossHost,$repoName,$fileName,$targetDir){
 	if( file_exists($targetPath) ) {
 		return $targetPath;
 	}
-	$gopeed = getGoPeedPath($toolDir);
-	
 	$remoteUrl = pathJoin($ossHost,$repoName,$fileName);
-	$cmd = $gopeed." -D=" . $targetDir . " " . $remoteUrl;
+	if($downClient == 'gopeed'){
+		$gopeed = getGoPeedPath($toolDir);
+		$cmd = $gopeed." -D=" . $targetDir . " " . $remoteUrl;
+	}
+	else{
+		$wget = getWgetPath($toolDir);
+		$cmd = $wget. " " . $remoteUrl . " -O=" . $targetPath;
+	}
 	logInfo("start to fetch file --",$cmd);
 	system($cmd, $ret);
 	if ($ret != 0) {