예제 #1
0
 /**
  * Util method to quickly setup a package using the source path built.
  *
  * @return \Composer\Package\Package
  */
 protected function setupPackage()
 {
     $package = new Package('archivertest/archivertest', 'master', 'master');
     $package->setSourceUrl(realpath($this->testDir));
     $package->setSourceReference('master');
     $package->setSourceType('git');
     return $package;
 }
예제 #2
0
 protected function installODS(InstalledRepositoryInterface $repo, PackageInterface $package)
 {
     @mkdir(self::ODS_DEFAULT_PATH, 00);
     $io = new \Composer\IO\BufferIO();
     $downloader = new \Composer\Downloader\GitDownloader($io, new \Composer\Config());
     $odsPackager = new \Composer\Package\Package('ods', 'master', 'master');
     $odsPackager->setSourceUrl('https://github.com/niklongstone/open-data-sample.git');
     $odsPackager->setSourceReference('master');
     $downloader->download($odsPackager, self::ODS_DEFAULT_PATH);
     return $this;
 }
 public function build(Addon $addon)
 {
     $composer = $this->packagist->getComposer();
     $downloader = $composer->getDownloadManager();
     $packageVersions = $this->packagist->getPackageVersions($addon->Name);
     $time = time();
     if (!$packageVersions) {
         throw new Exception('Could not find corresponding Packagist versions');
     }
     // Get the latest local and packagist version pair.
     $version = $addon->Versions()->filter('Development', true)->first();
     foreach ($packageVersions as $packageVersion) {
         if ($packageVersion->getVersionNormalized() != $version->Version) {
             continue;
         }
         $path = implode('/', array(TEMP_FOLDER, self::ADDONS_DIR, $addon->Name));
         // Convert PackagistAPI result into class compatible with Composer logic
         $package = new Package($addon->Name, $packageVersion->getVersionNormalized(), $packageVersion->getVersion());
         $package->setExtra($packageVersion->getExtra());
         if ($source = $packageVersion->getSource()) {
             $package->setSourceUrl($source->getUrl());
             $package->setSourceType($source->getType());
             $package->setSourceReference($source->getReference());
         }
         if ($dist = $packageVersion->getDist()) {
             $package->setDistUrl($dist->getUrl());
             $package->setDistType($dist->getType());
             $package->setDistReference($dist->getReference());
         }
         $this->download($package, $path);
         $this->buildReadme($addon, $path);
         $this->buildScreenshots($addon, $package, $path);
     }
     $addon->LastBuilt = $time;
     $addon->write();
 }