Как автоматически загружать пакеты Composer в интеграцию CakePHP 2 Travis

Я работаю над плагином CakePHP 2.x, который использует Composer для получения зависимости пакета. Я сейчас пытаюсь использовать Friends of Cake’s Пакет Трэвис автоматически запускать мои модульные тесты всякий раз, когда хранилище плагина обновляется.

Насколько я могу судить, это не включает файл автозагрузки Composer, необходимый для загрузки в моих файлах поставщика. В результате мои тесты не пройдены, так как класс, определенный в стороннем пакете, отсутствует.

Как описано в Продвинутая установка CakePHP 2 Я пытаюсь добавить следующее к bootstrap.php: —

require APP . 'Vendor' . DS . 'autoload.php';

Я пытался сделать это через before_script из моего .travis.yml файл для добавления bootstrap.php: —

before_script:
- git clone https://github.com/FriendsOfCake/travis.git --depth 1 ../travis
- ../travis/before_script.sh
- echo "require APP . 'Vendor' . DS . 'autoload.php';" >> ../cakephp/app/Config/bootstrap.php

К сожалению это не удается как файл APP . 'Vendor' . DS . 'autoload.php' не может быть найден. (Я также попытался найти файл в APP . '..' . DS . 'Vendor' . DS . 'autoload.php').

Где композитор autoload.php файл находится при установке CakePHP с использованием Travis? Как я могу убедиться, что мой сторонний пакет загружен, когда мои тесты выполняются удаленно на Travis CI?

3

Решение

Имя каталога по умолчанию для сторонних плагинов: vendor (нижний регистр), CakePHP есть VendorВы можете изменить это в .../app/composer.json

{
"config": {
"vendor-dir": "Vendor" // CakePHP third party plugins dir name
},
"require": {
...
}
}
1

Другие решения

Решение было изменить Vendor папка в require заявление в нижнем регистре vendor в before_script: —

before_script:
- git clone https://github.com/FriendsOfCake/travis.git --depth 1 ../travis
- ../travis/before_script.sh
- echo "require APP . 'vendor' . DS . 'autoload.php';" >> ../cakephp/app/Config/bootstrap.php

После этого CakePHP правильно включает файл автозагрузки Composer.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector