Project's name * @branch Git branch * */ public static function pull($args){ extract($args); /* [1] Load projects' configuration =========================================================*/ /* (1) Fetch file */ $fc = file_get_contents(__CONFIG__.'/projects.json'); if( !$fc ) return ['ModuleError'=>Error::UnreachableResource]; /* (2) Checks json format */ $js = json_decode( $fc, true ); if( !$js ) return ['ModuleError'=>Error::ParsingFailed]; /* [2] Checks @project argument and files =========================================================*/ /* (1) Checks @project */ if( !isset($js[$project]) ) return ['ModuleError'=>Error::UnreachableResource]; /* (2) Checks @project's folder */ if( !is_dir($js[$project]['git']) ) return ['ModuleError'=>Error::UnreachableResource]; /* (3) Checks @git directory */ if( !is_dir($js[$project]['git'].'/.git') ) return ['ModuleError'=>Error::UnreachableResource]; /* [3] Launch script =========================================================*/ /* (1) Launch command + test */ $cmd = 'cd '.$js[$project]['git'].'; git pull origin '.$branch.';'; $stdout = shell_exec($cmd); /* (2) If error, raise error */ if( is_null($stdout) ) return ['ModuleError'=>Error::PermissionError, 'command'=>$cmd]; /* [4] Return success error =========================================================*/ return []; } }