2014-09-19 92 views
0

由於Gradle eclipse插件創建了一個絕對路徑爲$ HOME的.classpath文件,我不希望人們將其提交給VCS。我已經有了一個鉤子來拒絕提交文本爲「dontCommit」的提交。我想爲生成的.classpath XML文件添加註釋。如何給Gradle的eclipse任務的類路徑添加評論

我已經在我的eclipse.classpath.withXml關閉,但沒有成功嘗試這些:

def root = it.asNode() 
root.children()[0].appendNode(org.w3c.dom.Node.COMMENT_NODE, "dontCommit") 

它使用在枚舉的元素名稱,例如,<8>dontCommit</8>的COMMENT_NODE的位置。

it.asString() =~ "/(<classpath>)/<classpath> <!-- dontCommit -->/" 

這很醜陋(使用XML上的正則表達式)並且不起作用;可能該字符串沒有映射回XML。 (不能怪這個......)

root.children()[0].appendNode("<!--", "dontCommit") 

這產生了<<!-->dontCommit</<!-->,即無效的XML。

http://groovy.codehaus.org/api/groovy/util/Node.html#plus%28groovy.lang.Closure%29說我可以使用Closure和builder樣式表示法,但是當我使用mkp前綴時,出現編譯器錯誤。

root.children()[0].plus { 
    mkp.comment("dontCommit") 
} 

得到No such property: mkp for class: org.gradle.api.internal.xml.XmlTransformer$XmlProviderImpl

root.classpathentry.add(0, { 
    mkp.comment("dontCommit) 
}) 

編譯但似乎並沒有做任何事情。

如何添加該評論?

回答

0

我找到了一個解決辦法:月食方便地忽略未知的標籤,這樣我就可以在一個虛擬節點添加我的標誌是這樣的:

it.asNode().appendNode("eclipse-ignore-this", "dontCommit") 

(添加檢查,這樣的標記還不存在不膨脹該文件沒有理由。)

相關問題