pharext\Packager::createPackage PHP Method

createPackage() private method

Creates the extension phar
private createPackage ( )
    private function createPackage()
    {
        try {
            $meta = array_merge(Metadata::all(), ["name" => $this->args->name, "release" => $this->args->release, "license" => $this->source->getLicense(), "type" => $this->args->zend ? "zend_extension" : "extension"]);
            $file = (new Task\PharBuild($this->source, __DIR__ . "/../pharext_installer.php", $meta))->run($this->verbosity());
        } catch (\Exception $e) {
            $this->error("%s\n", $e->getMessage());
            exit(self::EBUILD);
        }
        try {
            if ($this->args->sign) {
                $this->info("Using private key to sign phar ...\n");
                $pass = (new Task\Askpass())->run($this->verbosity());
                $sign = new Task\PharSign($file, $this->args->sign, $pass);
                $pkey = $sign->run($this->verbosity());
            }
        } catch (\Exception $e) {
            $this->error("%s\n", $e->getMessage());
            exit(self::ESIGN);
        }
        if ($this->args->gzip) {
            try {
                $gzip = (new Task\PharCompress($file, Phar::GZ))->run();
                $move = new Task\PharRename($gzip, $this->args->dest, $this->args->name . "-" . $this->args->release);
                $name = $move->run($this->verbosity());
                $this->info("Created gzipped phar %s\n", $name);
                if ($this->args->sign) {
                    $sign = new Task\PharSign($name, $this->args->sign, $pass);
                    $sign->run($this->verbosity())->exportPublicKey($name . ".pubkey");
                }
            } catch (\Exception $e) {
                $this->warn("%s\n", $e->getMessage());
            }
        }
        if ($this->args->bzip) {
            try {
                $bzip = (new Task\PharCompress($file, Phar::BZ2))->run();
                $move = new Task\PharRename($bzip, $this->args->dest, $this->args->name . "-" . $this->args->release);
                $name = $move->run($this->verbosity());
                $this->info("Created bzipped phar %s\n", $name);
                if ($this->args->sign) {
                    $sign = new Task\PharSign($name, $this->args->sign, $pass);
                    $sign->run($this->verbosity())->exportPublicKey($name . ".pubkey");
                }
            } catch (\Exception $e) {
                $this->warn("%s\n", $e->getMessage());
            }
        }
        try {
            $move = new Task\PharRename($file, $this->args->dest, $this->args->name . "-" . $this->args->release);
            $name = $move->run($this->verbosity());
            $this->info("Created executable phar %s\n", $name);
            if (isset($pkey)) {
                $pkey->exportPublicKey($name . ".pubkey");
            }
        } catch (\Exception $e) {
            $this->error("%s\n", $e->getMessage());
            exit(self::EBUILD);
        }
    }