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