예제 #1
0
 /**
  * Get the metadata for the object
  * @return void
  */
 public function getMetadata()
 {
     /** @var xPDOTransport $transport */
     $transport = $this->object->getTransport();
     if ($transport) {
         $this->object->set('readme', $transport->getAttribute('readme'));
         $this->object->set('license', $transport->getAttribute('license'));
         $this->object->set('changelog', $transport->getAttribute('changelog'));
     }
 }
예제 #2
0
 /**
  * Set package version data based on the signature
  * @return boolean
  */
 public function setPackageVersionData()
 {
     $sig = explode('-', $this->signature);
     if (is_array($sig)) {
         if (!empty($sig[1])) {
             $v = explode('.', $sig[1]);
             if (isset($v[0])) {
                 $this->package->set('version_major', $v[0]);
             }
             if (isset($v[1])) {
                 $this->package->set('version_minor', $v[1]);
             }
             if (isset($v[2])) {
                 $this->package->set('version_patch', $v[2]);
             }
         }
         if (!empty($sig[2])) {
             $r = preg_split('/([0-9]+)/', $sig[2], -1, PREG_SPLIT_DELIM_CAPTURE);
             if (is_array($r) && !empty($r)) {
                 $this->package->set('release', $r[0]);
                 $this->package->set('release_index', isset($r[1]) ? $r[1] : '0');
             } else {
                 $this->package->set('release', $sig[2]);
             }
         }
     }
     return true;
 }