--- /dev/null
+<?php
+/**
+ * Horde_Element_Module_DevPackage:: generates a development snapshot for the
+ * specified package.
+ *
+ * PHP version 5
+ *
+ * @category Horde
+ * @package Element
+ * @author Gunnar Wrobel <wrobel@pardus.de>
+ * @license http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link http://pear.horde.org/index.php?package=Element
+ */
+
+/**
+ * Horde_Element_Module_DevPackage:: generates a development snapshot for the
+ * specified package.
+ *
+ * Copyright 2010 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (LGPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
+ *
+ * @category Horde
+ * @package Element
+ * @author Gunnar Wrobel <wrobel@pardus.de>
+ * @license http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link http://pear.horde.org/index.php?package=Element
+ */
+class Horde_Element_Module_DevPackage
+implements Horde_Element_Module
+{
+ public function getOptionGroupTitle()
+ {
+ return 'Development Packages';
+ }
+
+ public function getOptionGroupDescription()
+ {
+ return 'This module generates a development snapshot for the specified package';
+ }
+
+ public function getOptionGroupOptions()
+ {
+ return array(
+ new Horde_Argv_Option(
+ '-d',
+ '--devpackage',
+ array(
+ 'action' => 'store_true',
+ 'help' => 'generate a development snapshot'
+ )
+ ),
+ );
+ }
+
+ public function handle(Horde_Element_Config $config)
+ {
+ $options = $config->getOptions();
+ if (!empty($options['devpackage'])) {
+ $this->run($config);
+ }
+ }
+
+ public function run(Horde_Element_Config $config)
+ {
+ $options = $config->getOptions();
+
+ $pear = new PEAR();
+ $pear->setErrorHandling(PEAR_ERROR_DIE);
+
+ $arguments = $config->getArguments();
+ $pkgfile = $arguments[0] . DIRECTORY_SEPARATOR . 'package.xml';
+
+ $pkg = new PEAR_PackageFile(new PEAR_Config());
+ $pf = $pkg->fromPackageFile($pkgfile, PEAR_VALIDATE_NORMAL);
+ $pf->_packageInfo['version']['release'] = $pf->getVersion()
+ . 'dev' . strftime('%Y%m%d%H%M');
+ $gen = $pf->getDefaultGenerator();
+ $tgzfile = $gen->toTgz(new PEAR_Common());
+ }
+}
<file name="Cli.php" role="php" />
</dir> <!-- /lib/Horde/Element/Config -->
<dir name="Module">
+ <file name="DevPackage.php" role="php" />
<file name="Installer.php" role="php" />
<file name="PearPackageXml.php" role="php" />
</dir> <!-- /lib/Horde/Element/Module -->
<install as="Horde/Element/Module.php" name="lib/Horde/Element/Module.php" />
<install as="Horde/Element/Modules.php" name="lib/Horde/Element/Modules.php" />
<install as="Horde/Element/Config/Cli.php" name="lib/Horde/Element/Config/Cli.php" />
+ <install as="Horde/Element/Module/DevPackage.php" name="lib/Horde/Element/Module/DevPackage.php" />
<install as="Horde/Element/Module/Installer.php" name="lib/Horde/Element/Module/Installer.php" />
<install as="Horde/Element/Module/PearPackageXml.php" name="lib/Horde/Element/Module/PearPackageXml.php" />
<install as="horde-element" name="script/horde-element.php" />