2016-03-21 6 views
1

Gemäß dem Phing-Benutzerhandbuch bietet PropertyTask ein fallback-Attribut zur Angabe eines "Fallback-Projektbereichs", falls keine Referenz gefunden werden kann.Phing PropertyTask - Was ist ein Fallback-Projektumfang?

Ich habe versucht, dies zu laufen, aber es ist offensichtlich falsch:

<property name="test1" value="ok" /> 
<property name="test2" refid="nonExistentRef" fallback="test1" /> 
<echo>${test2}</echo> 

Ergebnis:

Fatal error: Uncaught TypeError: Argument 1 passed to Reference::getReferencedObject() must be an instance of Project, string given, called in [...] classes/phing/tasks/system/PropertyTask.php on line 339 [...]

Können Sie mich mit einem Arbeitsnutzungs Beispiel nennen?

Antwort

0

Fallback erwarten ein Projekt Instanz, und ich denke, dass es nicht aus Build-Datei übergeben werden kann.

Haben Sie versucht, mit:

<property name="test1" value="ok" /> 
<property name="test2" refid="test1" /> 
<echo>${test2}</echo> 

Ausgang:

[echo] ok 
+0

sein könnte. Es ist ein Rätsel. Warum sollte es ein "Fallback" -Attribut geben, wenn es nicht verwendet werden soll? Ein verbleibendes Fossil einer früheren Version vielleicht? – Kontrollfreak

+0

Ich weiß es nicht, aber schauen Sie Linien 250 (Definition von SetFallback) & 339 der PropertyTask-Klasse https://github.com/phingofficial/phing/blob/master/classes/phing/tasks/system/PropertyTask.php#L250 und https://github.com/phingofficial/phing/blob/master/classes/phing/types/Reference.php#L65 um zu sehen, dass es nicht möglich ist, eine Zeichenkette in * Project * zu schreiben – corretge