Vielleicht bekomme ich nichts, aber ich konnte nirgends finden, wie man das Ausführungsverzeichnis für ein bestimmtes Ziel ändert.Wie ändert man das Ausführungsverzeichnis in Phing?
Hier ist mein Setup:
project
│ composer.json
│ build.xml
└───htdocs
│ phpunit.xml
├───app
│ │ bootstrap.php
│ │ ...
Ich bin mit phing
aus dem Projektordner, aber aufgrund der Besonderheiten in PHPUnit Bootstrap, ich brauche getcwd()
in bootstrap.php zu htdocs
zu lösen.
Derzeit habe ich versucht, exec
mit cd
im Inneren hinzuzufügen - aber das scheint nicht zu funktionieren.
<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>
Gibt es ein solches Konzept in Phing (um aktuelle Dir zu ändern)? Oder gibt es eine andere mögliche Lösung, um zu ändern, wie getcwd()
im Bootstrap des phpunit funktioniert?
Danke, das ist ein gutes Beispiel für im Großen und Ganzen zu denken und Beheben des Problems durch den Zugriff auf aus einem anderen Blickwinkel :) Upvoted, aber vielleicht weiß jemand tatsächlich, wie man das Switching-Verzeichnis löst, wenn es nötig ist, verschiedene Root-Verzeichnisse für verschiedene Ziele zu haben –
-Doproject.basedir =/any/dir, aber dann getcwd() immer zurück/any/dir – corretge