public function fetchAndUnzip()

in lib/php/libsdk/SDK/Build/PGO/Tool/PackageWorkman.php [37:55]


	public function fetchAndUnzip(string $url, string $zip_bn, string $zip_tgt_dn, string $tgt_bn = NULL, bool $force = false) : void
	{
		$cache_fn = $this->conf->getPkgCacheDir() . DIRECTORY_SEPARATOR . $zip_bn;

		if ($force || !file_exists($cache_fn)) {
			$this->fetch($url, $cache_fn, $force);
		}

		$tgt_name = $zip_tgt_dn . ($tgt_bn ? DIRECTORY_SEPARATOR . $tgt_bn : "");
		if ($force || $tgt_bn && !file_exists($tgt_name) || !$tgt_bn /* This means unzip always if no rename. */) {
			echo "Unpacking '$cache_fn' to '$tgt_name'\n";
			try {
				$this->unzip($cache_fn, $zip_tgt_dn, $tgt_bn);
			} catch (\Throwable $e) {
				$this->rm($cache_fn);
				throw $e;
			}
		}
	}