|
Файл описания пакета, package.xml, как становится
понятно из его имени - это XML-файл, который содержит всю информацию о
пакете из PEAR.
В этой главе описываются элементы, которые могут присутствовать в файле
описания пакета, а также обсуждаются способы создания такого файла для
вашего пакета.
Элемент высшего уровня в файле package.xml - это
элемент <package version="1.0">. Допускаются следующие
вложенные элементы:
<name>: Имя пакета.
<summary>: Краткое описание пакета.
<description>: Полное описание пакета.
<license>: Лицензия (PHP License,
LGPL и т.п.). Смотрите FAQ, там есть подробная информация о
допустимых лицензиях в PEAR. Общий смысл - пакет должен быть
свободным ПО согласно условиям OSI и FSF одновременно.
<maintainers>: Информация о создателях пакета.
<release>: Информация о текущем релизе.
<version>: Номер версии релиза.
<state>: Статус релиза.
(Может быть alpha, beta, stable, snaphot, devel)
<date>: Дата релиза.
<notes>: Комментарии к релизу
<filelist>
<file role="xxx">: Имя файла
<dir name="xxx" [role="xxx"]>: Имя поддиректории.
Эта поддиректория может, в свою очередь, содержать элементы
<file role="xxx">.
<changelog>: Changelog(история изменений) пакета.
<release>
<version>: Версия конкретного релиза.
<state>: Статус конкретного релиза.
<date>: Дата конкретного релиза.
<notes>: Комментарии к релизу.
После того, как вы создали ваш файл package.xml, вы можете
проверить его синтаксис с помощью команды
$ pear package-validate package.xml
|
(краткая ее версия - pear pv package.xml).
Пример 10-1. Основы package.xml <?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE package SYSTEM "../package.dtd">
<package version="1.0">
<name>Money_Fast</name>
<summary>Make money fast.</summary>
<description>
This package helps you to make money pretty fast.
</description>
<license>PHP License</license>
<maintainers>
<maintainer>
<user>foo</user>
<name>Joe Foo</name>
<email>foo@example.com</email>
<role>lead</role>
</maintainer>
</maintainers>
<release>
<version>1.0</version>
<date>2002-05-27</date>
<state>stable</state>
<notes>
This is the first release.
</notes>
<filelist>
<dir name="/" baseinstalldir="Money">
<file role="php">Fast.php</file>
</dir>
</filelist>
</release>
</package> |
|
Этот файл package.xml может послужить вам шаблоном,
т.к. он уже содержит все необходимые поля. В большинстве случаев, вам
нужно будет всего лишь поменять текст между тэгами для того, чтобы
использовать этот пример в вашем пакете.
Пример 10-2. Пример вложенных директорий <?xml version="1.0" encoding="ISO-8859-1" ?>
[...]
<release>
<version>1.0</version>
<date>2002-07-23</date>
<state>stable</state>
<notes>
This is the first release.
</notes>
<filelist>
<dir name="/" baseinstalldir="Money">
<file role="php">Fast.php</file>
<dir name="Calculator" role="php">
<file>Calculator.php</file>
<file>Currency.php</file>
<file>Stocks.php</file>
</dir>
<dir name="examples">
<file role="text">README.txt</file>
<file role="php">NASDAQ.php</file>
<file role="php">DAX.php</file>
</dir>
</dir>
</filelist>
</release>
</package> |
|
В этом примере демонстрируется очень удобный прием: когда
в какой-то из ваших директорий содержатся файлы только одного типа,
вы можете использовать атрибут "role" у тэга
<dir> вместо того, чтобы добавлять его у каждого
тэга <file>.
После прочтения данной главы вы должны уметь создавать файл описания
пакета. Если у вас все еще есть вопросы по этому поводу - задавайте их
в листе рассылки.
|