如何在 phing 属性 中收集自定义 phing 任务的输出?
How to collect output of a custom phing task in a phing property?
背景
我从这个开放式问题开始
然后尝试使用 phing 的本机实用程序解决它,但卡住了 - How to return a value from a phing target?
现在我正在尝试 编写自定义 Phing 任务,按照 https://www.phing.info/docs/guide/trunk/ch06s06.html。我尝试在其中回显文件列表,目的是在从构建 xml -
调用任务时以某种方式在 属性 中收集相同的文件
<addedfiles message="Hello World" outputProperty="output"/>
但我发现构建 xml 文件的调用不支持 outputProperty
属性。
任何关于如何执行此操作或其他两个问题的指示都会有很大帮助。
哦,很简单。我们可以像这样在自定义任务 class 中设置 属性 -
$this->getProject()->setNewProperty('output', "hello world");
它可以在构建 xml 中访问,在任务调用之后,就像这样 -
<addedfiles message="Hello World" />
<echo>See ${output}</echo>
您可以通过这样做改进您的解决方案
private $outputProperty;
public function setOutputProperty($str)
{
$this->outputProperty = $str;
}
然后,当你捕捉到输出时
$this->getProject()->setNewProperty($this->outputProperty, "hello world");
背景
我从这个开放式问题开始
然后尝试使用 phing 的本机实用程序解决它,但卡住了 - How to return a value from a phing target?
现在我正在尝试 编写自定义 Phing 任务,按照 https://www.phing.info/docs/guide/trunk/ch06s06.html。我尝试在其中回显文件列表,目的是在从构建 xml -
调用任务时以某种方式在 属性 中收集相同的文件<addedfiles message="Hello World" outputProperty="output"/>
但我发现构建 xml 文件的调用不支持 outputProperty
属性。
任何关于如何执行此操作或其他两个问题的指示都会有很大帮助。
哦,很简单。我们可以像这样在自定义任务 class 中设置 属性 -
$this->getProject()->setNewProperty('output', "hello world");
它可以在构建 xml 中访问,在任务调用之后,就像这样 -
<addedfiles message="Hello World" />
<echo>See ${output}</echo>
您可以通过这样做改进您的解决方案
private $outputProperty;
public function setOutputProperty($str)
{
$this->outputProperty = $str;
}
然后,当你捕捉到输出时
$this->getProject()->setNewProperty($this->outputProperty, "hello world");