Я работаю над плагином CakePHP 2.x, который использует Composer для зависания пакета. Теперь я пытаюсь использовать Friends of Cake's Travis package для автоматического запуска моих модульных тестов всякий раз, когда обновляется репозиторий плагина.Как выполнить автозагрузку пакетов Composer в CakePHP 2 Интеграция с Travis
Насколько я могу судить, это не включает файл автозагрузки Composer, необходимый для загрузки в файлы моего поставщика. В результате мои тесты терпят неудачу, поскольку класс, определенный в пакете сторонних поставщиков, отсутствует.
Как описано в CakePHP 2's advanced installation Я пытаюсь добавить следующее bootstrap.php
: -
require APP . 'Vendor' . DS . 'autoload.php';
Я попытался сделать это, чтобы добавить bootstrap.php
через before_script
моего .travis.yml
файла: -
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'
).
Где находится Composer autoload.php
файл при установке CakePHP с помощью Travis? Как я могу обеспечить загрузку моего стороннего пакета, когда мои тесты запускаются удаленно на Travis CI?
Я предполагаю, что он использует каталог поставщика композитору по умолчанию, который является ' ./vendor/autoload.php' (поставщик нижнего регистра, верхний каталог). В Cake 2 все файлы поставщиков, которые находятся в структуре приложения под Vendor, и первый бит в [docs] (http://book.cakephp.org/2.0/en/installation/advanced-installation.html#installing-cakephp -with-composer) о файле компоновщика изменяет каталог поставщика композитора, который установщик FOC travis не делает для вас. Возможно, вы сможете отредактировать каталог до того, что ожидает Cake, добавив 'comper config vendor-dir 'Vendor /" 'в ваш блок before_script. – jeremyharris