public function createPhar()
    {

        // run the build process
        $this->build();

        // prepare the PHAR archive name
        $archiveName = sprintf(
            '%s/%s.phar',
            $this->properties['target.dir'],
            $this->properties['webapp.name']
        );

        // prepare the target directory
        $targetDir = $this->properties['target.dir'] . DIRECTORY_SEPARATOR . $this->properties['webapp.version'];

        // copy the composer.json file
        $this->taskFilesystemStack()
             ->copy(
                  __DIR__ . DIRECTORY_SEPARATOR . 'composer.json',
                  $targetDir. DIRECTORY_SEPARATOR. 'composer.json'
             )->run();

          // copy the .semver file
          $this->taskFilesystemStack()
               ->copy(
                   __DIR__ . DIRECTORY_SEPARATOR . '.semver',
                   $targetDir. DIRECTORY_SEPARATOR. '.semver'
               )->run();

          // copy the bootstrap.php file
          $this->taskFilesystemStack()
               ->copy(
                  __DIR__ . DIRECTORY_SEPARATOR . 'bootstrap.php',
                  $targetDir. DIRECTORY_SEPARATOR. 'bootstrap.php'
               )->run();

        // copy the src/etc directory
        $this->taskCopyDir(
                  array(
                      $this->properties['src.dir'] => $targetDir . DIRECTORY_SEPARATOR . 'src'
                  )
               )->run();

        // copy the syfmony directory
        $this->taskCopyDir(
                   array(
                       $this->properties['symfony.dir'] => $targetDir . DIRECTORY_SEPARATOR . 'symfony'
                   )
               )->run();

        // install the composer dependencies
        $this->taskComposerInstall()
            ->dir($targetDir)
            ->noDev()
            ->optimizeAutoloader()
            ->run();

        // prepare the task
        $pharTask = $this->taskPackPhar($archiveName)
            ->compress()
            ->stub('stub.php');

        // load a list with all the source files from the vendor directory
        $finder = Finder::create()->files()
            ->name('*.php')
            ->name('.semver')
            ->name('services.xml')
            ->name('services-1.0.xsd')
            ->name('techdivision-import.json')
            ->in($targetDir)
            ->ignoreDotFiles(false);

        // iterate over the source files of the vendor directory and add them to the PHAR archive
        foreach ($finder as $file) {
            $pharTask->addFile($file->getRelativePathname(), $file->getRealPath());
        }

        // create the PHAR archive
        $pharTask->run();

        // verify PHAR archive is packed correctly
        $this->_exec(sprintf('php %s', $archiveName));

        // prepare the PHAR archive distribution name
        $distArchiveName = sprintf('%s/%s.phar', $this->properties['dist.dir'], $this->properties['webapp.name']);

        // clean up the dist directory
        $this->taskCleanDir($this->properties['dist.dir'])->run();

        // copy the latest PHAR archive to the dist directory
        $this->taskFilesystemStack()->copy($archiveName, $distArchiveName)->run();
    }
public function createPhar()
    {

        // run the build process
        $this->build();

        // prepare the PHAR archive name
        $archiveName = sprintf(
            '%s/%s.phar',
            $this->properties['target.dir'],
            $this->properties['webapp.name']
        );

        // prepare the target directory
        $targetDir = $this->properties['target.dir'] . DIRECTORY_SEPARATOR . $this->properties['webapp.version'];

        // copy the composer.json file
        $this->taskFilesystemStack()
             ->copy(
                  __DIR__ . DIRECTORY_SEPARATOR . 'composer.json',
                  $targetDir. DIRECTORY_SEPARATOR. 'composer.json'
             )->run();

          // copy the .semver file
          $this->taskFilesystemStack()
               ->copy(
                   __DIR__ . DIRECTORY_SEPARATOR . '.semver',
                   $targetDir. DIRECTORY_SEPARATOR. '.semver'
               )->run();

          // copy the bootstrap.php file
          $this->taskFilesystemStack()
               ->copy(
                  __DIR__ . DIRECTORY_SEPARATOR . 'bootstrap.php',
                  $targetDir. DIRECTORY_SEPARATOR. 'bootstrap.php'
               )->run();

        // copy the src/etc directory
        $this->taskCopyDir(
                  array(
                      $this->properties['src.dir'] => $targetDir . DIRECTORY_SEPARATOR . 'src'
                  )
               )->run();

        // copy the syfmony directory
        $this->taskCopyDir(
                   array(
                       $this->properties['symfony.dir'] => $targetDir . DIRECTORY_SEPARATOR . 'symfony'
                   )
               )->run();

        // install the composer dependencies
        $this->taskComposerInstall()
            ->dir($targetDir)
            ->noDev()
            ->optimizeAutoloader()
            ->run();

        // prepare the task
        $pharTask = $this->taskPackPhar($archiveName)
            ->compress()
            ->stub('stub.php');

        // load a list with all the source files from the vendor directory
        $finder = Finder::create()->files()
            ->name('*.php')
            ->name('.semver')
            ->name('services.xml')
            ->name('services-1.0.xsd')
            ->name('techdivision-import.json')
            ->in($targetDir)
            ->ignoreDotFiles(false);

        // iterate over the source files of the vendor directory and add them to the PHAR archive
        foreach ($finder as $file) {
            $pharTask->addFile($file->getRelativePathname(), $file->getRealPath());
        }

        // create the PHAR archive
        $pharTask->run();

        // verify PHAR archive is packed correctly
        $this->_exec(sprintf('php %s', $archiveName));

        // prepare the PHAR archive distribution name
        $distArchiveName = sprintf('%s/%s.phar', $this->properties['dist.dir'], $this->properties['webapp.name']);

        // clean up the dist directory
        $this->taskCleanDir($this->properties['dist.dir'])->run();

        // copy the latest PHAR archive to the dist directory
        $this->taskFilesystemStack()->copy($archiveName, $distArchiveName)->run();
    }
public function createPhar ( ) { // run the build process $ this -> build ( ) ; // prepare the PHAR archive name $ archiveName = sprintf ( '%s/%s.phar' , $ this -> properties [ 'target.dir' ] , $ this -> properties [ 'webapp.name' ] ) ; // prepare the target directory $ targetDir = $ this -> properties [ 'target.dir' ] . DIRECTORY_SEPARATOR . $ this -> properties [ 'webapp.version' ] ; // copy the composer.json file $ this -> taskFilesystemStack ( ) -> copy ( __DIR__ . DIRECTORY_SEPARATOR . 'composer.json' , $ targetDir . DIRECTORY_SEPARATOR . 'composer.json' ) -> run ( ) ; // copy the .semver file $ this -> taskFilesystemStack ( ) -> copy ( __DIR__ . DIRECTORY_SEPARATOR . '.semver' , $ targetDir . DIRECTORY_SEPARATOR . '.semver' ) -> run ( ) ; // copy the bootstrap.php file $ this -> taskFilesystemStack ( ) -> copy ( __DIR__ . DIRECTORY_SEPARATOR . 'bootstrap.php' , $ targetDir . DIRECTORY_SEPARATOR . 'bootstrap.php' ) -> run ( ) ; // copy the src/etc directory $ this -> taskCopyDir ( array ( $ this -> properties [ 'src.dir' ] => $ targetDir . DIRECTORY_SEPARATOR . 'src' ) ) -> run ( ) ; // copy the syfmony directory $ this -> taskCopyDir ( array ( $ this -> properties [ 'symfony.dir' ] => $ targetDir . DIRECTORY_SEPARATOR . 'symfony' ) ) -> run ( ) ; // install the composer dependencies $ this -> taskComposerInstall ( ) -> dir ( $ targetDir ) -> noDev ( ) -> optimizeAutoloader ( ) -> run ( ) ; // prepare the task $ pharTask = $ this -> taskPackPhar ( $ archiveName ) -> compress ( ) -> stub ( 'stub.php' ) ; // load a list with all the source files from the vendor directory $ finder = Finder :: create ( ) -> files ( ) -> name ( '*.php' ) -> name ( '.semver' ) -> name ( 'services.xml' ) -> name ( 'services-1.0.xsd' ) -> name ( 'techdivision-import.json' ) -> in ( $ targetDir ) -> ignoreDotFiles ( false ) ; // iterate over the source files of the vendor directory and add them to the PHAR archive foreach ( $ finder as $ file ) { $ pharTask -> addFile ( $ file -> getRelativePathname ( ) , $ file -> getRealPath ( ) ) ; } // create the PHAR archive $ pharTask -> run ( ) ; // verify PHAR archive is packed correctly $ this -> _exec ( sprintf ( 'php %s' , $ archiveName ) ) ; // prepare the PHAR archive distribution name $ distArchiveName = sprintf ( '%s/%s.phar' , $ this -> properties [ 'dist.dir' ] , $ this -> properties [ 'webapp.name' ] ) ; // clean up the dist directory $ this -> taskCleanDir ( $ this -> properties [ 'dist.dir' ] ) -> run ( ) ; // copy the latest PHAR archive to the dist directory $ this -> taskFilesystemStack ( ) -> copy ( $ archiveName , $ distArchiveName ) -> run ( ) ; }
Creates the a PHAR archive from the sources.

@return void
Creates the a PHAR archive from the sources .