Jump to main content Jump to doc navigation

Новое в MODX 2.4 это возможность определять зависимости пакетов в Транспортных пакетах. Если они установлены, пользователь не сможет установить пакет, пока все зависимости не будут выполнены.

Добавление пакетных зависимостей в вашу сборку

Пакетные зависимости добавляются к атрибутам Пакета, которые уже используются для указания файла лицензии license, readme и журнала изменений changelog, обычно добавляются в конец вашего скрипта сборки. Если вы используете другой способ создания пакетов, вам может потребоваться свериться с этой документацией, чтобы узнать, поддерживает ли она эти атрибуты и как вы можете определить там зависимости.

$builder->setPackageAttributes(array(
    'license' => file_get_contents($sources['docs'].'license.txt'),
    'readme' => file_get_contents($sources['docs'].'readme.txt'),
    'changelog' => file_get_contents($sources['docs'].'changelog.txt'),
    'setup-options' => array(
        'source' => $sources['build'].'setup.options.php',
    ),
));

Чтобы добавить зависимости пакетов, просто добавьте опцию requires, указав массив имен пакетов и минимальные требования к версии.

Например, для указания необходимости пакета FormIt версии 2.2 или выше:

$builder->setPackageAttributes(array(
    'license' => file_get_contents($sources['docs'].'license.txt'),
    'readme' => file_get_contents($sources['docs'].'readme.txt'),
    'changelog' => file_get_contents($sources['docs'].'changelog.txt'),
    'setup-options' => array(
        'source' => $sources['build'].'setup.options.php',
    ),
    'requires' => array(
        'formit' => '>=2.2.0',
    )
));

Вы можете указать больше пакетов в списке, просто добавив дополнительные элементы в этот массив. Вы также можете добавить проверки для modx и php, чтобы потребовать конкретную версию MODX или PHP.

Имейте в виду, что эти зависимости пакетов работают только в MODX 2.4 и выше. Если вы собираетесь поддерживать более старые версии, вы можете добавить дополнительную проверку в Резольвер или добавить инструкции в свою документацию.

Есть разные способы указать номера версий, каждый из которых имеет разное значение. Вы также можете добавить несколько ограничений, разделив их запятыми.

Токен Что это значит Пример строки для указания версии
~ Требуется как минимум указанная версия, до следующей значимой версии ~1.0 translates to >=1.0,<2.0
~1.3.0 translates to >=1.3.0,<1.4.0
n.* Подстановочный знак для определенной части строки версии 1.* translates to >=1.0,<2.0
<, >, ! По крайней мере, эта версия, максимум эта версия или не эта версия
* Любая версия подойдет