当前位置: 首页>>代码示例>>PHP>>正文


PHP PEAR_PackageFileManager2::addGroupPackageDepWithChannel方法代码示例

本文整理汇总了PHP中PEAR_PackageFileManager2::addGroupPackageDepWithChannel方法的典型用法代码示例。如果您正苦于以下问题:PHP PEAR_PackageFileManager2::addGroupPackageDepWithChannel方法的具体用法?PHP PEAR_PackageFileManager2::addGroupPackageDepWithChannel怎么用?PHP PEAR_PackageFileManager2::addGroupPackageDepWithChannel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PEAR_PackageFileManager2的用法示例。


在下文中一共展示了PEAR_PackageFileManager2::addGroupPackageDepWithChannel方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: main

 /**
  * Main entry point for d51pearpkg2 task
  */
 public function main()
 {
     $package = new PEAR_PackageFileManager2();
     $this->_initOptions();
     $package->setOptions($this->_options);
     $package->setPackage($this->_name->__toString());
     $package->setSummary($this->_summary->__toString());
     $desc = preg_replace("/^({$this->_description->indention_type}{{$this->_description->indentions_to_remove}}|\t)+/m", '', $this->_description->__toString());
     $package->setDescription($desc);
     $package->setChannel($this->_channel->__toString());
     $package->setAPIVersion($this->_version->api);
     $package->setReleaseVersion($this->_version->release);
     $package->setAPIStability($this->_stability->api);
     $package->setReleaseStability($this->_stability->release);
     // TODO: allow different types
     $package->setPackageType('php');
     $package->addRelease();
     if ($this->_dependencies->php !== false) {
         $package->setPhpDep($this->_dependencies->php->minimum_version);
     } else {
         $package->setPhpDep(phpversion());
     }
     if ($this->_dependencies->pear !== false) {
         $package->setPearinstallerDep($this->_dependencies->pear->minimum_version, $this->_dependencies->pear->maximum_version, $this->_dependencies->pear->recommended_version, $this->_dependencies->pear->exclude_version);
     } else {
         $package->setPearinstallerDep(PEAR_Config::singleton()->getRegistry()->packageInfo('PEAR', 'version'));
     }
     foreach ($this->_maintainers as $maintainer) {
         $package->addMaintainer($maintainer->role, $maintainer->user, $maintainer->name, $maintainer->email, $maintainer->active);
     }
     // handle dependencies
     if (!empty($this->_dependencies)) {
         $this->log('adding dependencies');
         if (count($this->_dependencies->groups) > 0) {
             $this->log('found dependency groups');
             foreach ($this->_dependencies->groups as $group) {
                 $this->log("adding [{$group->name}] :: [{$group->hint}]");
                 $package->addDependencyGroup($group->name, $group->hint);
                 foreach ($group->packages as $sub_package) {
                     $package->addGroupPackageDepWithChannel('subpackage', $group->name, $sub_package->name, $sub_package->channel, '0.0.1');
                 }
             }
         }
         if (count($this->_dependencies->packages) > 0) {
             $this->log('found dependencies');
             foreach ($this->_dependencies->packages as $dependency) {
                 $this->log("adding following dependency: {$dependency->channel}/{$dependency->name}");
                 $package->addPackageDepWithChannel($dependency->type, $dependency->name, $dependency->channel, $dependency->minimum_version, $dependency->maximum_version, $dependency->recommended_version, $dependency->exclude_version, $dependency->providesextension, $dependency->nodefault);
             }
         }
         if (count($this->_dependencies->extensions) > 0) {
             $this->log('adding extension dependencies');
             foreach ($this->_dependencies->extensions as $extension) {
                 $this->log("adding ext dependency for: {$extension->name}");
                 $package->addExtensionDep($extension->type, $extension->name, $extension->minimum_version, $extension->maximum_version, $extension->recommended_version, $extension->extension);
             }
         }
     }
     foreach ($this->_changelogs as $changelog) {
         $this->log("adding changelog for prior release [{$changelog->version}]");
         $changelog->package = $package;
         $package->setChangelogEntry($changelog->version, $changelog->toArray());
         if (is_null($this->_notes) && $package->getVersion() == $changelog->version) {
             $this->log("no package notes specified, using changelog entry");
             $this->_notes = $changelog->contents;
         }
     }
     foreach ($this->_replacements as $replacement) {
         $replacement->isValid();
         $package->addReplacement($replacement->path, $replacement->type, $replacement->from, $replacement->to);
     }
     foreach ($this->_globalreplacements as $replacement) {
         $replacement->isValid();
         $this->log("adding global repalcement: {$replacement->from}");
         $package->addGlobalReplacement($replacement->type, $replacement->from, $replacement->to);
     }
     foreach ($this->_releases as $release) {
         $this->log('adding new release');
         $package->addRelease();
         foreach ($release->install as $install) {
             $this->log("installing [{$install->name}] as [{$install->as}]");
             $package->addInstallAs($install->name, $install->as);
         }
     }
     $notes = preg_replace("/^( {4}|\t)+/m", '', $this->_notes->__toString());
     $package->setNotes($notes);
     $package->setLicense($this->_license->license, $this->_license->uri);
     // handle PostInstallation
     if (!empty($this->_postinstalls)) {
         foreach ($this->_postinstalls as $postInstall) {
             $postInstallScript = $package->initPostinstallScript($postInstall->script);
             $this->log('adding post installation for script : ' . $postInstall->script);
             foreach ($postInstall->paramgroups as $paramGroup) {
                 $this->log('adding parameter group' . $paramGroup->name);
                 $instructions = $paramGroup->instructions;
                 if (empty($instructions)) {
                     $instructions = false;
//.........这里部分代码省略.........
开发者ID:jkinner,项目名称:ringside,代码行数:101,代码来源:d51PearPkg2Task.php

示例2: main

 /**
  * Main entry point for d51pearpkg2 task
  */
 public function main()
 {
     PEAR_Frontend::setFrontendObject(new d51PearPkg2Task_Frontend($this));
     $package = new PEAR_PackageFileManager2();
     $this->_initOptions();
     $a = $package->setOptions($this->_options);
     if (PEAR::isError($a)) {
         $this->log($a->getMessage(), Project::MSG_ERR);
         exit(-1);
     }
     $package->setPackage((string) $this->_name);
     $package->setSummary((string) $this->_summary);
     $desc = preg_replace("/^({$this->_description->indention_type}{{$this->_description->indentions_to_remove}}|\t)+/m", '', (string) $this->_description);
     $package->setDescription($desc);
     $package->setChannel((string) $this->_channel);
     $package->setAPIVersion($this->_version->api);
     $package->setReleaseVersion($this->_version->release);
     $package->setAPIStability($this->_stability->api);
     $package->setReleaseStability($this->_stability->release);
     // TODO: allow different types
     $package->setPackageType($this->_type);
     $package->addRelease();
     if (!is_null($this->_dependencies->php)) {
         $this->log('Using explicit PHP minimum version: ' . $this->_dependencies->php->minimum_version);
         $package->setPhpDep($this->_dependencies->php->minimum_version);
     } else {
         $this->log('Using current PHP version as minimum: ' . phpversion());
         $package->setPhpDep(phpversion());
     }
     if (!is_null($this->_dependencies->pear)) {
         $this->log('setting minimum PEAR version: ' . $this->_dependencies->pear->minimum_version);
         $package->setPearinstallerDep($this->_dependencies->pear->minimum_version, $this->_dependencies->pear->maximum_version, $this->_dependencies->pear->recommended_version, $this->_dependencies->pear->exclude_version);
     } else {
         $this->log('setting minimum PEAR version to currently installed version');
         $pear_version = PEAR_Config::singleton()->getRegistry()->packageInfo('PEAR', 'version');
         $this->log('minimum PEAR version: ' . $pear_version);
         $package->setPearinstallerDep(PEAR_Config::singleton()->getRegistry()->packageInfo('PEAR', 'version'));
     }
     foreach ($this->_maintainers as $maintainer) {
         $this->log("adding maintainer [{$maintainer->user}/{$maintainer->name}] with role [{$maintainer->role}]");
         $package->addMaintainer($maintainer->role, $maintainer->user, $maintainer->name, $maintainer->email, $maintainer->active);
     }
     // handle dependencies
     if (!empty($this->_dependencies)) {
         $this->log('adding dependencies');
         if (count($this->_dependencies->groups) > 0) {
             $this->log('found dependency groups');
             foreach ($this->_dependencies->groups as $group) {
                 $this->log("adding [{$group->name}] :: [{$group->hint}]");
                 $package->addDependencyGroup($group->name, $group->hint);
                 foreach ($group->packages as $sub_package) {
                     $package->addGroupPackageDepWithChannel('subpackage', $group->name, $sub_package->name, $sub_package->channel, '0.0.1');
                 }
             }
         }
         if (count($this->_dependencies->packages) > 0) {
             $this->log('found dependencies');
             foreach ($this->_dependencies->packages as $dependency) {
                 $this->log("adding following dependency: {$dependency->channel}/{$dependency->name}");
                 $package->addPackageDepWithChannel($dependency->type, $dependency->name, $dependency->channel, $dependency->minimum_version, $dependency->maximum_version, $dependency->recommended_version, $dependency->exclude_version, $dependency->providesextension, $dependency->nodefault);
             }
         }
         if (count($this->_dependencies->extensions) > 0) {
             $this->log('adding extension dependencies');
             foreach ($this->_dependencies->extensions as $extension) {
                 $this->log("adding ext dependency for: {$extension->name}");
                 $package->addExtensionDep($extension->type, $extension->name, $extension->minimum_version, $extension->maximum_version, $extension->recommended_version, $extension->extension);
             }
         }
     }
     foreach ($this->_changelogs as $changelog) {
         $this->log("adding changelog for prior release [{$changelog->version}]");
         $changelog->package = $package;
         $package->setChangelogEntry($changelog->version, $changelog->toArray());
         if (is_null($this->_notes) && $package->getVersion() == $changelog->version) {
             $this->log("no package notes specified, using changelog entry");
             $this->_notes = $changelog->contents;
         }
     }
     foreach ($this->_replacements as $replacement) {
         $replacement->isValid();
         $this->log("adding replace from [{$replacement->from}] to [{$replacement->to}]");
         $package->addReplacement($replacement->path, $replacement->type, $replacement->from, $replacement->to);
     }
     foreach ($this->_releases as $release) {
         $this->log('adding new release');
         $package->addRelease();
         foreach ($release->install as $install) {
             $this->log("installing [{$install->name}] as [{$install->as}]");
             $package->addInstallAs($install->name, $install->as);
         }
     }
     $notes = preg_replace("/^( {4}|\t)+/m", '', (string) $this->_notes);
     $package->setNotes($notes);
     $package->setLicense($this->_license->license, $this->_license->uri);
     $package->generateContents();
     $e = $package->writePackageFile();
//.........这里部分代码省略.........
开发者ID:robbinhan,项目名称:Phing_d51PearPkg2Task,代码行数:101,代码来源:d51PearPkg2Task.php


注:本文中的PEAR_PackageFileManager2::addGroupPackageDepWithChannel方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。