Как изменить исполнение dir в Phing?

Может быть, я чего-то не получаю, но я нигде не мог найти, как изменить каталог выполнения для конкретной цели.

Вот мои настройки:

project
│   composer.json
│   build.xml
└───htdocs
│   phpunit.xml
├───app
│   │   bootstrap.php
│   │   ...

я бегу phing из папки проекта, но из-за специфики в начальной загрузке phpunit, мне нужно getcwd() в bootstrap.php для разрешения htdocs,

В настоящее время я пытался добавить exec с cd внутри — но это не похоже на работу.

<target name="phpunit" description="Run unit tests" depends="install">
<!-- move to app root before running tests -->
<exec logoutput="true" command="cd ${app}" />
<phpunit haltonfailure="false"haltonerror="false"printsummary="true"codecoverage="true">
<formatter type="xml" todir="${project.basedir}/build/logs"/>
</phpunit>
<!-- Move back to project root -->
<exec logoutput="true" command="cd ${project.basedir}" />
</target>

Есть ли такая концепция в Phing (чтобы изменить текущий каталог)? Или есть другое возможное решение, чтобы изменить как getcwd() работает внутри начальной загрузки phpunit?

1

Решение

Вы можете попробовать выполнить phing из htdocs с помощью

 phing -f ../build.xml phpunit

Посмотрите на этот пример build.xml:

<project name="Test" basedir="." default="list">
<target name="list">
<getcwd />
</target>

<adhoc-task name="getcwd"><![CDATA[
class GetcwdTask extends Task {
function main() {
print(getcwd());
}
}
]]></adhoc-task>
</project>
1

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

Других решений пока нет …

По вопросам рекламы [email protected]