簡體   English   中英

使用 Ant 或 Phing 在屬性中存儲值

[英]Store a Value in a Property with Ant or Phing

使用 Ant 或 Phing,我需要將文件的內容加載到屬性中,對該屬性的值運行正則表達式,然后將該正則表達式的結果存儲在另一個屬性中。 最好的方法是什么?

我可以輕松地將文件加載到屬性中(使用 Phing),如下所示:

<loadfile file="myfile.txt" property="my.file" />

而且我知道如何更新文件,但我似乎無法弄清楚如何在該屬性上運行正則表達式,並將結果存儲在新屬性中以備將來使用。

任何幫助將不勝感激!

更新

我一直在修補它,這將起作用。 讓我知道是否有簡化的方法,下面的代碼將文件加載到屬性中,然后將其減少到僅包含title標簽的行。 然后,它在該行上運行一個正則表達式,並將該標記的內容存儲在 my.prop 中。

<loadfile file="../index.html" property="my.prop">
  <filterchain>
     <linecontainsregexp>
        <regexp pattern="&lt;title>" />
    </linecontainsregexp>

    <replaceregexp>
        <regexp pattern="[\s\S]+<title>(.+?)</title>" replace="$1" />
    </replaceregexp>
  </filterchain>
</loadfile>

更新 2

實際上,我最終使用了一個adhoc任務來創建自己的任務。 工作完美!

您可以從 ant 目標運行任意命令,如下所示:

<exec executable="bash">
   <arg line="script.sh"/>
</exec>

例如,您可以將正則表達式的結果存儲在 tmp 文件中,然后以與初始屬性相同的方式將其加載到另一個屬性中。

在 Phing 中,您可以使用“php”任務處理加載文件的屬性的內容。 請參閱: http://www.phing.info/docs/guide/stable/chapters/appendixes/AppendixB-CoreTasks.html#PhpEvalTask

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM