本文整理汇总了PHP中PEAR_PackageFileManager2::setPackage方法的典型用法代码示例。如果您正苦于以下问题:PHP PEAR_PackageFileManager2::setPackage方法的具体用法?PHP PEAR_PackageFileManager2::setPackage怎么用?PHP PEAR_PackageFileManager2::setPackage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PEAR_PackageFileManager2
的用法示例。
在下文中一共展示了PEAR_PackageFileManager2::setPackage方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: main
/**
* Main entrypoint of the task
*/
function main()
{
$pkg = new PEAR_PackageFileManager2();
$e = $pkg->setOptions(array('baseinstalldir' => 'yii', 'packagedirectory' => $this->pkgdir, 'filelistgenerator' => 'file', 'simpleoutput' => true, 'ignore' => array(), 'roles' => array('*' => 'php')));
// PEAR error checking
if (PEAR::isError($e)) {
die($e->getMessage());
}
$pkg->setPackage($this->package);
$pkg->setSummary($this->summary);
$pkg->setDescription($this->pkgdescription);
$pkg->setChannel($this->channel);
$pkg->setReleaseStability($this->state);
$pkg->setAPIStability($this->state);
$pkg->setReleaseVersion($this->version);
$pkg->setAPIVersion($this->version);
$pkg->setLicense($this->license);
$pkg->setNotes($this->notes);
$pkg->setPackageType('php');
$pkg->setPhpDep('5.1.0');
$pkg->setPearinstallerDep('1.4.2');
$pkg->addRelease();
$pkg->addMaintainer('lead', 'qxue', 'Qiang Xue', 'qiang.xue@gmail.com');
$test = $pkg->generateContents();
$e = $pkg->writePackageFile();
if (PEAR::isError($e)) {
echo $e->getMessage();
}
}
示例2: execute
protected function execute($arguments = array(), $options = array())
{
// Remove E_STRICT and E_DEPRECATED from error_reporting
error_reporting(error_reporting() & ~(E_STRICT | E_DEPRECATED));
if (empty($options['channel'])) {
$options['channel'] = opPluginManager::getDefaultPluginChannelServerName();
}
require_once 'PEAR/PackageFileManager2.php';
$pluginName = $arguments['name'];
$pluginDirectory = sfConfig::get('sf_plugins_dir') . '/' . $pluginName . '/';
$info = $this->getPluginManager($options['channel'])->getPluginInfo($pluginName);
if (!$info) {
$info = array('n' => $pluginName, 'c' => $options['channel'], 'l' => 'Apache', 's' => $pluginName, 'd' => $pluginName);
}
$packageXml = new PEAR_PackageFileManager2();
$packageOptions = array('packagedirectory' => $pluginDirectory, 'filelistgenerator' => 'file', 'baseinstalldir' => '/');
$e = $packageXml->setOptions($packageOptions);
if (PEAR::isError($e)) {
echo $e->getMessage();
exit;
}
$packageXml->_options['roles'] = array('*' => 'data');
$maintainers = $this->getPluginManager()->getPluginMaintainer($pluginName);
foreach ($maintainers as $maintainer) {
$packageXml->addMaintainer($maintainer['r'], $maintainer['h'], $maintainer['n'], '');
}
$packageXml->setPackage($pluginName);
$packageXml->setChannel($options['channel']);
$packageXml->setReleaseVersion($arguments['version']);
$packageXml->setReleaseStability($arguments['stability']);
$packageXml->setApiVersion($arguments['version']);
$packageXml->setApiStability($arguments['stability']);
$packageXml->setNotes($arguments['note']);
$packageXml->generateContents();
$packageXml->setPackageType('php');
$packageXml = $this->setDpendencies($packageXml, $pluginDirectory);
if (isset($info['l'])) {
$packageXml->setLicense($info['l']);
}
if (isset($info['s'])) {
$packageXml->setSummary($info['s']);
}
if (isset($info['d'])) {
$packageXml->setDescription($info['d']);
}
$e = $packageXml->writePackageFile();
if (PEAR::isError($e)) {
echo $e->getMessage();
exit;
}
}
示例3: execute
protected function execute($arguments = array(), $options = array())
{
// Remove E_STRICT and E_DEPRECATED from error_reporting
error_reporting(error_reporting() & ~(E_STRICT | E_DEPRECATED));
require_once 'PEAR/PackageFileManager2.php';
$pluginName = $arguments['name'];
$info = $this->getPluginManager()->getPluginInfo($pluginName);
if (!$info) {
$info = array('n' => $pluginName, 'c' => opPluginManager::OPENPNE_PLUGIN_CHANNEL, 'l' => 'Apache', 's' => $pluginName, 'd' => $pluginName);
}
$packageXml = new PEAR_PackageFileManager2();
$options = array('packagedirectory' => sfConfig::get('sf_plugins_dir') . '/' . $pluginName . '/', 'filelistgenerator' => 'file', 'baseinstalldir' => '/');
$e = $packageXml->setOptions($options);
if (PEAR::isError($e)) {
echo $e->getMessage();
exit;
}
$packageXml->_options['roles'] = array('*' => 'data');
$maintainers = $this->getPluginManager()->getPluginMaintainer($pluginName);
foreach ($maintainers as $maintainer) {
$packageXml->addMaintainer($maintainer['r'], $maintainer['h'], $maintainer['n'], '');
}
$packageXml->setPackage($pluginName);
$packageXml->setChannel(opPluginManager::OPENPNE_PLUGIN_CHANNEL);
$packageXml->setReleaseVersion($arguments['version']);
$packageXml->setReleaseStability($arguments['stability']);
$packageXml->setApiVersion($arguments['version']);
$packageXml->setApiStability($arguments['stability']);
$packageXml->setNotes($arguments['note']);
$packageXml->setPhpDep('5.2.3');
$packageXml->setPearinstallerDep('1.4.0');
$packageXml->addPackageDepWithChannel('package', 'symfony', 'pear.symfony-project.com', '1.2.0');
$packageXml->generateContents();
$packageXml->setPackageType('php');
if (isset($info['l'])) {
$packageXml->setLicense($info['l']);
}
if (isset($info['s'])) {
$packageXml->setSummary($info['s']);
}
if (isset($info['d'])) {
$packageXml->setDescription($info['d']);
}
$e = $packageXml->writePackageFile();
if (PEAR::isError($e)) {
echo $e->getMessage();
exit;
}
}
示例4: array
* @author Nathan Fredrikson <nathan@silverorange.com>
* @copyright 2005-2013 silverorange
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
* @link http://pear.php.net/package/Crypt_GPG
*/
require_once 'PEAR/PackageFileManager2.php';
PEAR::setErrorHandling(PEAR_ERROR_DIE);
$apiVersion = '1.6.0';
$apiState = 'beta';
$releaseVersion = '1.6.0b2';
$releaseState = 'beta';
$releaseNotes = "This release adds GnuPG 2.1 support\n" . "Internal API has been refactored.\n\n" . "Fixed Bug #21148: Throw bad-passphrase exception instead of key-not-found exception on decryption";
$description = "This package provides an object oriented interface to GNU Privacy " . "Guard (GnuPG). It requires the GnuPG executable to be on the system.\n\n" . "Though GnuPG can support symmetric-key cryptography, this package is " . "intended only to facilitate public-key cryptography.\n\n" . "This package requires PHP version 5.4.8 or greater.";
$package = new PEAR_PackageFileManager2();
$package->setOptions(array('filelistgenerator' => 'file', 'simpleoutput' => true, 'baseinstalldir' => '/', 'packagedirectory' => './', 'dir_roles' => array('Crypt' => 'php', 'Crypt/GPG' => 'php', 'tests' => 'test', 'data' => 'data'), 'exceptions' => array('LICENSE' => 'doc', 'README.md' => 'doc', 'scripts/crypt-gpg-pinentry' => 'script'), 'ignore' => array('tests/config.php', 'tools/', 'package.php', 'composer.json', '*.tgz'), 'installexceptions' => array('scripts/crypt-gpg-pinentry' => '/')));
$package->setPackage('Crypt_GPG');
$package->setSummary('GNU Privacy Guard (GnuPG)');
$package->setDescription($description);
$package->setChannel('pear.php.net');
$package->setPackageType('php');
$package->setLicense('LGPL', 'http://www.gnu.org/copyleft/lesser.html');
$package->setNotes($releaseNotes);
$package->setReleaseVersion($releaseVersion);
$package->setReleaseStability($releaseState);
$package->setAPIVersion($apiVersion);
$package->setAPIStability($apiState);
$package->addMaintainer('lead', 'gauthierm', 'Mike Gauthier', 'mike@silverorange.com');
$package->addMaintainer('lead', 'nrf', 'Nathan Fredrickson', 'nathan@silverorange.com');
$package->addMaintainer('lead', 'alec', 'Aleksander Machniak', 'alec@alec.pl');
$package->addReplacement('data/pinentry-cli.xml', 'package-info', '@package-version@', 'version');
$package->addReplacement('Crypt/GPG/PinEntry.php', 'package-info', '@package-name@', 'name');
示例5: exit
* @copyright 2008 KUBO Atsuhiro <iteman@users.sourceforge.net>
* @license http://www.opensource.org/licenses/bsd-license.php BSD License (revised)
* @version SVN: $Id$
* @since File available since Release 0.1.0
*/
require_once 'PEAR/PackageFileManager2.php';
require_once 'PEAR.php';
PEAR::staticPushErrorHandling(PEAR_ERROR_CALLBACK, create_function('$error', 'var_dump($error); exit();'));
$releaseVersion = '0.1.0';
$releaseStability = 'beta';
$apiVersion = '0.1.0';
$apiStability = 'beta';
$notes = 'The first beta release of Piece_Unity_Component_Pagination.';
$package = new PEAR_PackageFileManager2();
$package->setOptions(array('filelistgenerator' => 'file', 'changelogoldtonew' => false, 'simpleoutput' => true, 'baseinstalldir' => '/', 'packagefile' => 'package.xml', 'packagedirectory' => '.', 'ignore' => array('package.php')));
$package->setPackage('Piece_Unity_Component_Pagination');
$package->setPackageType('php');
$package->setSummary('A Pagination component');
$package->setDescription('Piece_Unity_Component_Pagination is a Pagination component.
Piece_Unity_Component_Pagination provides a service which creates a pagination HTML fragment by a paginator object in a view. This component can be used with any HTML renderer.');
$package->setChannel('pear.piece-framework.com');
$package->setLicense('BSD License (revised)', 'http://www.opensource.org/licenses/bsd-license.php');
$package->setAPIVersion($apiVersion);
$package->setAPIStability($apiStability);
$package->setReleaseVersion($releaseVersion);
$package->setReleaseStability($releaseStability);
$package->setNotes($notes);
$package->setPhpDep('4.3.0');
$package->setPearinstallerDep('1.4.3');
$package->addPackageDepWithChannel('required', 'Piece_Unity', 'pear.piece-framework.com', '1.5.0');
示例6: explode
list($name, $baseVersion, $state) = explode('-', trim(file_get_contents(dirname(__FILE__) . '/VERSION')));
$changelog = htmlspecialchars(file_get_contents(dirname(__FILE__) . '/CHANGELOG'));
$summary = htmlspecialchars(file_get_contents(dirname(__FILE__) . '/SUMMARY'));
$description = htmlspecialchars(file_get_contents(dirname(__FILE__) . '/DESCRIPTION'));
$maintainers = explode("\n", trim(file_get_contents(dirname(__FILE__) . '/MAINTAINERS')));
$version = $baseVersion . (isset($argv[3]) ? $argv[3] : '');
$dir = dirname(__FILE__);
$apiVersion = $baseVersion;
$apiStability = $state;
$package = new PEAR_PackageFileManager2();
$result = $package->setOptions(array('license' => 'LGPL', 'filelistgenerator' => 'file', 'ignore' => array('package.php', 'package.xml', '*.tgz', 'var', 'setup.override.php', 'common.ini.override'), 'baseinstalldir' => 'limb/' . $name, 'packagedirectory' => './', 'packagefile' => 'package.xml', 'dir_roles' => array('docs' => 'doc', 'examples' => 'doc', 'tests' => 'test'), 'roles' => array('*' => 'php')));
if (PEAR::isError($result)) {
echo $result->getMessage();
exit(1);
}
$package->setPackage($name);
$package->setSummary($summary);
$package->setDescription($description);
$package->setChannel('pear.limb-project.com');
$package->setAPIVersion($apiVersion);
$package->setReleaseVersion($version);
$package->setReleaseStability($state);
$package->setAPIStability($apiStability);
$package->setNotes($changelog);
$package->setPackageType('php');
$package->setLicense('LGPL', 'http://www.gnu.org/copyleft/lesser.txt');
foreach ($maintainers as $line) {
list($role, $nick, $name, $email, $active) = explode(',', $line);
$package->addMaintainer($role, $nick, $name, $email, $active);
}
$package->setPhpDep('5.1.4');
示例7: dirname
<?php
/**
* Generates and updates a package.xml file
* dependencies : PEAR_PackageFileManager 1.6+
* @author Laurent Bachelier <laurent@bachelier.name>
*/
error_reporting(E_ALL);
// no E_STRICT
require_once 'PEAR/PackageFileManager2.php';
PEAR::setErrorHandling(PEAR_ERROR_DIE);
$packagexml = new PEAR_PackageFileManager2();
$packagexml->setOptions(array('baseinstalldir' => '/', 'packagedirectory' => dirname(__FILE__), 'filelistgenerator' => 'file', 'ignore' => array('TODO'), 'exceptions' => array('README' => 'doc', 'LICENSE' => 'doc')));
$packagexml->setPackage('sfEasyGMapPlugin');
$packagexml->setSummary('An easy, object-oriented, PHP abstraction of the Google Maps API');
$packagexml->setDescription('The sfEasyGMap plugin provides helpers and an objet-oriented PHP abstraction to the Google Maps API to ease the process of adding a Google Map and customising it in your symfony projects.');
$packagexml->setChannel('plugins.symfony-project.org');
$packagexml->addMaintainer('lead', 'fabriceb', 'Fabrice Bernhard', 'fabriceb@theodo.fr');
$packagexml->addMaintainer('developer', 'vincentg', 'Vincent Guillon', 'vincentg@theodo.fr');
$packagexml->addMaintainer('developer', 'laurentb', 'Laurent Bachelier', 'laurentb@theodo.fr');
$packagexml->addMaintainer('developer', 'chok', 'Maxime Picaud', 'chokorp@gmail.com');
$packagexml->setLicense('MIT License', 'http://www.symfony-project.org/license');
// This will ADD a changelog entry to an existing package.xml
$packagexml->setAPIVersion('3.1.0');
$packagexml->setReleaseVersion('3.1.0');
$packagexml->setNotes('
* corrected package.xml
* added GMapDirections functionalities
');
$packagexml->setReleaseStability('stable');
$packagexml->setAPIStability('stable');
示例8: array
<?php
require_once 'PEAR/PackageFileManager2.php';
PEAR::setErrorHandling(PEAR_ERROR_DIE);
$api_version = '0.0.0';
$api_state = 'alpha';
$release_version = '0.0.0';
$release_state = 'alpha';
$release_notes = "No release notes.";
$description = <<<DESC
A JWT encoder/decoder.
DESC;
$package = new PEAR_PackageFileManager2();
$package->setOptions(array('filelistgenerator' => 'file', 'simpleoutput' => true, 'baseinstalldir' => '/', 'packagedirectory' => './', 'dir_roles' => array('tests' => 'test'), 'ignore' => array('package.php', '*.tgz')));
$package->setPackage('JWT');
$package->setSummary('A JWT encoder/decoder.');
$package->setDescription($description);
$package->setChannel('pear.php.net');
$package->setPackageType('php');
$package->setLicense('MIT License', 'http://creativecommons.org/licenses/MIT/');
$package->setNotes($release_notes);
$package->setReleaseVersion($release_version);
$package->setReleaseStability($release_state);
$package->setAPIVersion($api_version);
$package->setAPIStability($api_state);
$package->addMaintainer('lead', 'lcfrs', 'Neuman Vong', 'neuman+pear@twilio.com');
$package->addExtensionDep('required', 'json');
$package->addExtensionDep('required', 'hash');
$package->setPhpDep('5.1');
$package->setPearInstallerDep('1.7.0');
$package->generateContents();
示例9: array
* @category Application
* @package VIH
* @author Lars Olesen <lars@legestue.net>
* @since 0.1.0
* @version @package-version@
*/
require_once 'PEAR/PackageFileManager2.php';
$version = '1.0.2';
$notes = '* initial release as PEAR';
$web_dir = 'www';
$ignore = array('makepackage.php', '*.tgz', 'tests/', '.svn/', 'build.xml', 'config.elevforeningen.php');
$postinstall_file = 'elevforeningen.php';
PEAR::setErrorHandling(PEAR_ERROR_DIE);
$pfm = new PEAR_PackageFileManager2();
$pfm->setOptions(array('baseinstalldir' => '/', 'filelistgenerator' => 'file', 'packagedirectory' => dirname(__FILE__) . '/src', 'packagefile' => 'package.xml', 'ignore' => $ignore, 'dir_roles' => array('www' => 'web'), 'simpleoutput' => true, 'addhiddenfiles' => true));
$pfm->setPackage('VIH_Elevforeningen');
$pfm->setSummary('VIH');
$pfm->setDescription('VIH');
$pfm->setUri('http://localhost/');
$pfm->setLicense('LGPL License', 'http://www.gnu.org/licenses/lgpl.html');
$pfm->addMaintainer('lead', 'lsolesen', 'Lars Olesen', 'lars@legestue.net');
$pfm->setPackageType('php');
$pfm->setAPIVersion($version);
$pfm->setReleaseVersion($version);
$pfm->setAPIStability('beta');
$pfm->setReleaseStability('stable');
$pfm->setNotes($notes);
$pfm->addRelease();
$pfm->resetUsesRole();
$pfm->addUsesRole('web', 'Role_Web', 'pearified.com');
$pfm->addPackageDepWithChannel('required', 'Role_Web', 'pearified.com', '1.1.1');
示例10: init
/**
* Initialize PackageFileManager
*
* @param array $cfg
* @return PEAR_PackageFileManager2
*/
function init(array $cfg)
{
extract($cfg);
$package = new \PEAR_PackageFileManager2();
$package->setOptions($options);
$package->setPackage($name);
$package->setSummary($summary);
$package->setNotes($notes);
$package->setDescription($description);
$package->setLicense($license, $licenseUri);
$package->setReleaseVersion($version);
$package->setAPIVersion($apiVersion);
$package->setReleaseStability($stability);
$package->setAPIStability($apiStability);
foreach ($maintainers as $maintainer) {
$package->addMaintainer($maintainer['role'], $maintainer['handle'], $maintainer['name'], $maintainer['email'], $maintainer['active'] ?: 'yes');
}
$package->setPackageType($type);
if (strpos($type, 'ext') !== false) {
$package->setProvidesExtension($name);
if (strpos($type, 'extsrc') !== false && isset($configureOptions)) {
foreach ($configureOptions as $configureOption) {
$package->addConfigureOption($configureOption['name'], $configureOption['prompt'], $configureOption['default']);
}
}
}
$package->setPhpDep($phpDep);
$package->setPearinstallerDep($pearDep);
if (isset($packageDeps)) {
foreach ($packageDeps as $packageDeps) {
$min = $packageDeps['min'] ?: false;
$max = $packageDeps['max'] ?: false;
$recommended = $packageDeps['recommended'] ?: false;
$exclude = $packageDeps['exclude'] ?: false;
$nodefault = $packageDeps['nodefault'] ?: false;
$package->addSubpackageDepWithChannel($packageDeps['type'], $packageDeps['name'], $packageDeps['channel'], $min, $max, $recommended, $exclude, $nodefault);
}
}
$package->setChannel($channel);
return $package;
}
示例11: exit
* @copyright 2006-2008 KUBO Atsuhiro <iteman@users.sourceforge.net>
* @license http://www.opensource.org/licenses/bsd-license.php BSD License (revised)
* @version SVN: $Id$
* @since File available since Release 1.0.0
*/
require_once 'PEAR/PackageFileManager2.php';
require_once 'PEAR.php';
PEAR::staticPushErrorHandling(PEAR_ERROR_CALLBACK, create_function('$error', 'var_dump($error); exit();'));
$releaseVersion = '1.0.0';
$releaseStability = 'stable';
$apiVersion = '1.0.0';
$apiStability = 'stable';
$notes = 'The first release of Piece_Unity_Component_ContentLength.';
$package = new PEAR_PackageFileManager2();
$package->setOptions(array('filelistgenerator' => 'file', 'changelogoldtonew' => false, 'simpleoutput' => true, 'baseinstalldir' => '/', 'packagefile' => 'package.xml', 'packagedirectory' => '.', 'ignore' => array('package.php')));
$package->setPackage('Piece_Unity_Component_ContentLength');
$package->setPackageType('php');
$package->setSummary('An output filter which sends a Content-Legnth header. This filter must be added first.');
$package->setDescription('An output filter which sends a Content-Legnth header. This filter must be added first.');
$package->setChannel('pear.piece-framework.com');
$package->setLicense('BSD License (revised)', 'http://www.opensource.org/licenses/bsd-license.php');
$package->setAPIVersion($apiVersion);
$package->setAPIStability($apiStability);
$package->setReleaseVersion($releaseVersion);
$package->setReleaseStability($releaseStability);
$package->setNotes($notes);
$package->setPhpDep('4.3.0');
$package->setPearinstallerDep('1.4.3');
$package->addPackageDepWithChannel('required', 'Piece_Unity', 'pear.piece-framework.com', '1.0.0');
$package->addMaintainer('lead', 'iteman', 'KUBO Atsuhiro', 'iteman@users.sourceforge.net');
$package->addGlobalReplacement('package-info', '@package_version@', 'version');
示例12: dirname
* </code>
*
* @package PEL
* @author Lars Olesen <lars@legestue.net>
* @version @package-version@
* @license http://www.gnu.org/licenses/gpl.html GNU General Public
*/
require_once 'PEAR/PackageFileManager2.php';
$version = '0.9.2';
$stability = 'beta';
$notes = '* initial release as a PEAR package';
$url = 'http://downloads.sf.net/pel/PEL-' . $version . '.tgz';
PEAR::setErrorHandling(PEAR_ERROR_DIE);
$pfm = new PEAR_PackageFileManager2();
$pfm->setOptions(array('baseinstalldir' => 'PEL', 'filelistgenerator' => 'file', 'packagedirectory' => dirname(__FILE__), 'packagefile' => 'package.xml', 'ignore' => array('makepackagexml.php', '*.tgz', '*.sh', 'test/', 'tutorials/', 'authors.xml'), 'dir_roles' => array('doc' => 'doc', 'examples' => 'doc', 'test' => 'test'), 'exceptions' => array('README' => 'doc', 'AUTHORS' => 'doc', 'COPYING' => 'doc', 'INSTALL' => 'doc', 'NEWS' => 'doc', 'TODO' => 'doc'), 'simpleoutput' => true));
$pfm->setPackage('PEL');
$pfm->setSummary('The PHP Exif Library (PEL) lets you fully manipulate Exif (Exchangeable Image File Format) data.');
$pfm->setDescription('The PHP Exif Library (PEL) lets you fully manipulate Exif (Exchangeable Image File Format) data. This is the data that digital cameras place in their images, such as the date and time, shutter speed, ISO value and so on.
Using PEL, one can fully modify the Exif data, meaning that it can be both read and written. Completely new Exif data can also be added to images. PEL is written completely in PHP and depends on nothing except a standard installation of PHP, version 5. PEL is hosted on SourceForge.');
$pfm->setUri($url);
$pfm->setLicense('GPL License', 'http://www.gnu.org/licenses/gpl.html');
$pfm->addMaintainer('lead', 'mgeisler', 'Martin Geisler', 'mgeisler@mgeisler.net');
$pfm->addMaintainer('helper', 'lsolesen', 'Lars Olesen', 'lars@legestue.net');
$pfm->setPackageType('php');
$pfm->setAPIVersion($version);
$pfm->setReleaseVersion($version);
$pfm->setAPIStability($stability);
$pfm->setReleaseStability($stability);
$pfm->setNotes($notes);
$pfm->addRelease();
示例13: 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;
//.........这里部分代码省略.........
示例14: array
<?php
require_once 'PEAR/PackageFileManager2.php';
$version = '1.0.14';
$notes = <<<EOT
see ChangeLog
EOT;
$description = <<<EOT
This class provides an object oriented interface for
asynchronous server side PHP calls from client side
javascript without the need for a full page request.
EOT;
$package = new PEAR_PackageFileManager2();
PEAR::setErrorHandling(PEAR_ERROR_DIE);
$result = $package->setOptions(array('filelistgenerator' => 'file', 'simpleoutput' => true, 'baseinstalldir' => '/', 'packagedirectory' => './', 'dir_roles' => array('www' => 'data', 'dependencies' => 'data', 'tests' => 'test'), 'exceptions' => array('README.md' => 'doc')));
$package->setPackage('XML_RPCAjax');
$package->setSummary('XML-RPC client implementation using AJAX');
$package->setDescription($description);
$package->setChannel('pear.silverorange.com');
$package->setPackageType('php');
$package->setLicense('LGPL', 'http://www.gnu.org/copyleft/lesser.html');
$package->setReleaseVersion($version);
$package->setReleaseStability('stable');
$package->setAPIVersion('0.0.1');
$package->setAPIStability('stable');
$package->setNotes($notes);
$package->addIgnore('package.php');
$package->addIgnore('deprecated');
$package->addMaintainer('lead', 'nrf', 'Nathan Fredrickson', 'nathan@silverorange.com');
$package->addMaintainer('lead', 'gauthierm', 'Mike Gauthier', 'mike@silverorange.com');
$package->setPhpDep('5.1.5');
示例15: exit
* @license http://www.opensource.org/licenses/bsd-license.php New BSD License
* @version Release: @package_version@
* @since File available since Release 0.1.0
*/
require_once 'PEAR/PackageFileManager2.php';
require_once 'PEAR.php';
PEAR::staticPushErrorHandling(PEAR_ERROR_CALLBACK, create_function('$error', 'var_dump($error); exit();'));
$packageName = 'Stagehand_TestRunner';
$releaseVersion = '2.11.2';
$releaseStability = 'stable';
$apiVersion = '1.1.0';
$apiStability = 'stable';
$notes = "What's New in {$packageName} {$releaseVersion}\n\n Two defect fixes\n\n (Issue #173, #175)\n\n A defect has been fixed that caused a start tag not to be closed when the tag and all attributes are written. And also a defect has been fixed that caused TestDox output to be broken if the same test method names except trailing numbers.";
$package = new PEAR_PackageFileManager2();
$package->setOptions(array('filelistgenerator' => 'file', 'changelogoldtonew' => false, 'simpleoutput' => true, 'baseinstalldir' => '/', 'packagefile' => 'package.xml', 'packagedirectory' => '.', 'dir_roles' => array('bin' => 'script', 'data' => 'php', 'doc' => 'doc', 'examples' => 'doc', 'src' => 'php', 'tests' => 'test'), 'ignore' => array('package.php')));
$package->setPackage($packageName);
$package->setPackageType('php');
$package->setSummary('A test runner for Test Driven Development');
$package->setDescription('Stagehand_TestRunner provides a test runner to run unit tests. Stagehand_TestRunner strongly supports Test Driven Development by various features.');
$package->setChannel('pear.piece-framework.com');
$package->setLicense('New BSD License', 'http://www.opensource.org/licenses/bsd-license.php');
$package->setAPIVersion($apiVersion);
$package->setAPIStability($apiStability);
$package->setReleaseVersion($releaseVersion);
$package->setReleaseStability($releaseStability);
$package->setNotes($notes);
$package->setPhpDep('5.2.0');
$package->setPearinstallerDep('1.4.3');
$package->addPackageDepWithChannel('required', 'Stagehand_AccessControl', 'pear.piece-framework.com', '0.1.0');
$package->addPackageDepWithChannel('required', 'Stagehand_AlterationMonitor', 'pear.piece-framework.com', '1.0.0');
$package->addPackageDepWithChannel('required', 'Stagehand_Autoload', 'pear.piece-framework.com', '0.4.0');