public function compile($pharFile = 'bowerphp.phar')
    {
        if (file_exists($pharFile)) {
            unlink($pharFile);
        }

        $phar = new \Phar($pharFile, 0, 'bowerphp.phar');
        $phar->setSignatureAlgorithm(\Phar::SHA1);

        $phar->startBuffering();

        $finder = new Finder();
        $finder->files()
            ->ignoreVCS(true)
            ->name('*.php')
            ->notName('Compiler.php')
            ->notName('ClassLoader.php')
            ->in(__DIR__ . '/..')
        ;

        foreach ($finder as $file) {
            $this->addFile($phar, $file);
        }

        $finder = new Finder();
        $finder->files()
            ->ignoreVCS(true)
            ->name('*.php')
            ->name('*.pem')
            ->name('*.pem.md5')
            ->exclude('Tests')
            ->in(__DIR__ . '/../../vendor/symfony/')
            ->in(__DIR__ . '/../../vendor/guzzle/guzzle/src/')
            ->in(__DIR__ . '/../../vendor/ircmaxell/password-compat/lib/')
            ->in(__DIR__ . '/../../vendor/paragonie/random_compat/lib/')
            ->in(__DIR__ . '/../../vendor/knplabs/github-api/lib/')
            ->in(__DIR__ . '/../../vendor/samsonasik/package-versions/src/PackageVersions/')
            ->in(__DIR__ . '/../../vendor/vierbergenlars/php-semver/src/vierbergenlars/LibJs/')
            ->in(__DIR__ . '/../../vendor/vierbergenlars/php-semver/src/vierbergenlars/SemVer/')
            ->in(__DIR__ . '/../../vendor/hamcrest/hamcrest-php/hamcrest/')
        ;

        foreach ($finder as $file) {
            $this->addFile($phar, $file);
        }

        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/autoload.php'));
        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/autoload_psr4.php'));
        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/autoload_files.php'));
        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/autoload_namespaces.php'));
        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/autoload_classmap.php'));
        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/autoload_real.php'));
        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/autoload_static.php'));
        if (file_exists(__DIR__ . '/../../vendor/composer/include_paths.php')) {
            $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/include_paths.php'));
        }
        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/ClassLoader.php'));
        $this->addBin($phar);

        // Stubs
        $phar->setStub($this->getStub());

        $phar->stopBuffering();

        if ($this->gz) {
            $phar->compressFiles(\Phar::GZ);
        }

        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../LICENSE'), false);

        unset($phar);
        chmod('bowerphp.phar', 0700);
    }
public function compile($pharFile = 'bowerphp.phar')
    {
        if (file_exists($pharFile)) {
            unlink($pharFile);
        }

        $phar = new \Phar($pharFile, 0, 'bowerphp.phar');
        $phar->setSignatureAlgorithm(\Phar::SHA1);

        $phar->startBuffering();

        $finder = new Finder();
        $finder->files()
            ->ignoreVCS(true)
            ->name('*.php')
            ->notName('Compiler.php')
            ->notName('ClassLoader.php')
            ->in(__DIR__ . '/..')
        ;

        foreach ($finder as $file) {
            $this->addFile($phar, $file);
        }

        $finder = new Finder();
        $finder->files()
            ->ignoreVCS(true)
            ->name('*.php')
            ->name('*.pem')
            ->name('*.pem.md5')
            ->exclude('Tests')
            ->in(__DIR__ . '/../../vendor/symfony/')
            ->in(__DIR__ . '/../../vendor/guzzle/guzzle/src/')
            ->in(__DIR__ . '/../../vendor/ircmaxell/password-compat/lib/')
            ->in(__DIR__ . '/../../vendor/paragonie/random_compat/lib/')
            ->in(__DIR__ . '/../../vendor/knplabs/github-api/lib/')
            ->in(__DIR__ . '/../../vendor/samsonasik/package-versions/src/PackageVersions/')
            ->in(__DIR__ . '/../../vendor/vierbergenlars/php-semver/src/vierbergenlars/LibJs/')
            ->in(__DIR__ . '/../../vendor/vierbergenlars/php-semver/src/vierbergenlars/SemVer/')
            ->in(__DIR__ . '/../../vendor/hamcrest/hamcrest-php/hamcrest/')
        ;

        foreach ($finder as $file) {
            $this->addFile($phar, $file);
        }

        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/autoload.php'));
        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/autoload_psr4.php'));
        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/autoload_files.php'));
        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/autoload_namespaces.php'));
        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/autoload_classmap.php'));
        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/autoload_real.php'));
        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/autoload_static.php'));
        if (file_exists(__DIR__ . '/../../vendor/composer/include_paths.php')) {
            $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/include_paths.php'));
        }
        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../vendor/composer/ClassLoader.php'));
        $this->addBin($phar);

        // Stubs
        $phar->setStub($this->getStub());

        $phar->stopBuffering();

        if ($this->gz) {
            $phar->compressFiles(\Phar::GZ);
        }

        $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../../LICENSE'), false);

        unset($phar);
        chmod('bowerphp.phar', 0700);
    }
public function compile ( $ pharFile = 'bowerphp.phar' ) { if ( file_exists ( $ pharFile ) ) { unlink ( $ pharFile ) ; } $ phar = new \ Phar ( $ pharFile , 0 , 'bowerphp.phar' ) ; $ phar -> setSignatureAlgorithm ( \ Phar :: SHA1 ) ; $ phar -> startBuffering ( ) ; $ finder = new Finder ( ) ; $ finder -> files ( ) -> ignoreVCS ( true ) -> name ( '*.php' ) -> notName ( 'Compiler.php' ) -> notName ( 'ClassLoader.php' ) -> in ( __DIR__ . '/..' ) ; foreach ( $ finder as $ file ) { $ this -> addFile ( $ phar , $ file ) ; } $ finder = new Finder ( ) ; $ finder -> files ( ) -> ignoreVCS ( true ) -> name ( '*.php' ) -> name ( '*.pem' ) -> name ( '*.pem.md5' ) -> exclude ( 'Tests' ) -> in ( __DIR__ . '/../../vendor/symfony/' ) -> in ( __DIR__ . '/../../vendor/guzzle/guzzle/src/' ) -> in ( __DIR__ . '/../../vendor/ircmaxell/password-compat/lib/' ) -> in ( __DIR__ . '/../../vendor/paragonie/random_compat/lib/' ) -> in ( __DIR__ . '/../../vendor/knplabs/github-api/lib/' ) -> in ( __DIR__ . '/../../vendor/samsonasik/package-versions/src/PackageVersions/' ) -> in ( __DIR__ . '/../../vendor/vierbergenlars/php-semver/src/vierbergenlars/LibJs/' ) -> in ( __DIR__ . '/../../vendor/vierbergenlars/php-semver/src/vierbergenlars/SemVer/' ) -> in ( __DIR__ . '/../../vendor/hamcrest/hamcrest-php/hamcrest/' ) ; foreach ( $ finder as $ file ) { $ this -> addFile ( $ phar , $ file ) ; } $ this -> addFile ( $ phar , new \ SplFileInfo ( __DIR__ . '/../../vendor/autoload.php' ) ) ; $ this -> addFile ( $ phar , new \ SplFileInfo ( __DIR__ . '/../../vendor/composer/autoload_psr4.php' ) ) ; $ this -> addFile ( $ phar , new \ SplFileInfo ( __DIR__ . '/../../vendor/composer/autoload_files.php' ) ) ; $ this -> addFile ( $ phar , new \ SplFileInfo ( __DIR__ . '/../../vendor/composer/autoload_namespaces.php' ) ) ; $ this -> addFile ( $ phar , new \ SplFileInfo ( __DIR__ . '/../../vendor/composer/autoload_classmap.php' ) ) ; $ this -> addFile ( $ phar , new \ SplFileInfo ( __DIR__ . '/../../vendor/composer/autoload_real.php' ) ) ; $ this -> addFile ( $ phar , new \ SplFileInfo ( __DIR__ . '/../../vendor/composer/autoload_static.php' ) ) ; if ( file_exists ( __DIR__ . '/../../vendor/composer/include_paths.php' ) ) { $ this -> addFile ( $ phar , new \ SplFileInfo ( __DIR__ . '/../../vendor/composer/include_paths.php' ) ) ; } $ this -> addFile ( $ phar , new \ SplFileInfo ( __DIR__ . '/../../vendor/composer/ClassLoader.php' ) ) ; $ this -> addBin ( $ phar ) ; // Stubs $ phar -> setStub ( $ this -> getStub ( ) ) ; $ phar -> stopBuffering ( ) ; if ( $ this -> gz ) { $ phar -> compressFiles ( \ Phar :: GZ ) ; } $ this -> addFile ( $ phar , new \ SplFileInfo ( __DIR__ . '/../../LICENSE' ) , false ) ; unset ( $ phar ) ; chmod ( 'bowerphp.phar' , 0700 ) ; }
Compiles bower into a single phar file

@throws \RuntimeException
@param  string            $pharFile The full path to the file to create
Compiles bower into a single phar file