cvs: peardoc /en/pyrus/extending packagefile.xml
[email protected] ("Greg Beaver")
| Newsgroups | php.pear.doc |
|---|---|
| Message-ID | <cvscellog1247152759@cvsserver> |
cellog Thu Jul 9 15:19:19 2009 UTC
Modified files:
/peardoc/en/pyrus/extending packagefile.xml
Log:
complete docs on managing dependencies
http://cvs.php.net/viewvc.cgi/peardoc/en/pyrus/extending/packagefile.xml?r1=1.1&r2=1.2&diff_format=u
Index: peardoc/en/pyrus/extending/packagefile.xml
diff -u peardoc/en/pyrus/extending/packagefile.xml:1.1 peardoc/en/pyrus/extending/packagefile.xml:1.2
--- peardoc/en/pyrus/extending/packagefile.xml:1.1 Thu Jul 9 04:53:24 2009
+++ peardoc/en/pyrus/extending/packagefile.xml Thu Jul 9 15:19:18 2009
@@ -369,7 +369,58 @@
Finally, setting dependencies can be accomplished in several ways.
</para>
<para>
- This document is a work in progress.
+ <programlisting role="php">
+ <![CDATA[
+<?php
+// setting minimum PHP version required:
+$package->dependencies['required']->php = '5.3.0';
+$package->dependencies['required']->php->min = '5.3.0';
+$package->dependencies['required']->php->min('5.3.0');
+
+// setting minimum PEAR Installer/Pyrus version required:
+$package->dependencies['required']->pearinstaller = '2.0.0a1';
+$package->dependencies['required']->pearinstaller->min = '2.0.0a1';
+$package->dependencies['required']->pearinstaller->min('2.0.0a1');
+
+// setting excluded versions (all deps supporting the <exclude> tag use this syntax):
+$package->dependencies['required']->php->exclude = '5.2.0';
+$package->dependencies['required']->php->exclude('5.2.0')->exclude('5.2.10');
+$package->dependencies['required']->php->exclude('5.2.0', '5.2.10');
+
+// setting OS/architecture requirements:
+$package->dependencies['required']->os['windows'] = true; // Windows required
+$package->dependencies['required']->arch['386'] = false; // Conflicts with 386 architecture
+
+// saying "this package must be installed" to the installer
+$package->dependencies['required']->package['pear2.php.net/Packagename']->save();
+
+// saying "this package must not be installed"
+$package->dependencies['required']->package['pear2.php.net/Packagename']->conflicts();
+
+// setting up complex versioning requirements
+$package->dependencies['optional']->package['pear2.php.net/Packagename']
+ ->min('1.2.0')
+ ->max('1.3.0')
+ ->recommended('1.2.3')
+ ->exclude('1.3.0', '1.2.2');
+
+// depending on a PECL package
+$package->dependencies['required']->package['pecl.php.net/lua']
+ ->providesextension('lua');
+
+// optionally depending on a core PHP extension
+$package->dependencies['optional']->extension['PDO']->save();
+
+// setting up a dependency group "remotefeatures"
+$package->dependencies['group']->remotefeatures->hint('Remote management capabilities');
+// add dependencies to the group
+$package->dependencies['group']->remotefeatures
+ ->package['pear2.php.net/Foo']->save();
+$package->dependencies['group']->remotefeatures
+ ->extension['curl']->save();
+?>
+ ]]>
+ </programlisting>
</para>
</section>
<section xml:id="pyrus.extending.packagefile.files">