2011-12-01 85 views
3

我試圖開發一個巡航控制步驟,它將處理數據庫遷移腳本並應用它們。從Ant任務中獲取對修改列表的引用

我想能夠從SourceControl中獲得修改列表(查看是否需要應用任何新的數據庫更改)。

任何想法,我可以如何實現這一點?我知道這些信息被寫入日誌xml中,但我想知道是否有一種簡單的機制可以從Ant構建器中獲得對此的引用。

我已經研究過編寫一個自定義CC Listener或Builder插件,但都沒有在接口中提供這個。

回答

2

我們有「SVN更新」爲在Ant構建的步驟之一,後來我們用輸出重定向到文件(Ant屬性也可使用):

<exec executable="svn" dir="."> 
    <arg line="up"/> 
    <redirector output="svnup.log" alwayslog="true" append="true"/> 
</exec> 
<property name="svnup.log" value="svnup.log"/> 

此建立文件名爲「svnup .log「,並輸出」svn up「命令。

+0

我想挖掘並利用巡航控制版本的修改集部分的結果。你的解決方案涉及到另外的svn調用,這也會起作用。 –

0

我想我會嘗試編寫自定義插件實現出版商

@Override 
public void publish(Element cruisecontrolLog) throws CruiseControlException {  XMLLogHelper xmlHelper = new XMLLogHelper(cruisecontrolLog); 
    Set<Modification> modifications = xmlHelper.getModifications(); 
    for (Modification modification : modifications) { 
    handleModification(modification);   
    } 
} 

或者另一個想法是使用時間戳標記在SSCM Ant任務與提供給Ant構建的cclastbuildtimestamp物業組合生成自上次構建以來更改的文件列表。