2012-02-23 43 views
0

可能重複:
How to search for a string in files with Ant (make sure certain string isn't found in source files)如何檢查源代碼被禁止的話extGWT

我工作的一個項目,一個小團隊(〜5個開發者),我們想確保單詞列表不會出現在我們的源代碼中。該代碼是一個extGWT項目,我們正在使用ANT構建腳本來構建和部署我們的項目。我們有一個文本文件,其中包含不良詞彙的列表。構建將發生在Linux機器上,因此我可以訪問find和grep等。如果發現了一個不好的單詞,我可以讓構建失敗,然後我們可以搜索源代碼來查找壞詞所在的位置。任何暗示讓這個工作將是一個巨大的幫助。

+1

我想起一個老搭檔編碼誰只會命名他的發誓變量。 – 2012-02-23 20:18:52

+0

可能的重複:http://stackoverflow.com/q/4302019 – 2012-02-23 20:30:07

+0

我打算建議任何想在代碼中發誓的人都會想辦法解決這個問題。然後我想,如果這個項目只有5個人,你可以相信他們不要試圖繞過這個檢查。然後我想,如果這個項目只有5個人,那麼你可以相信他們不會首先發誓。 – yshavit 2012-02-23 20:33:53

回答

2

感謝我收到的所有意見,我能夠解決我的問題,我想我會把我的完整解決方案放在這裏供將來參考。

<target name="badword-search" description="search for bad words"> 
     <echo>Doing badword-serach</echo> 
     <property name="src.dir" value="src" /> 
     <property name="search.string" value="\b(word1|word2|word3)\b" /> 

     <fileset id="existing" dir="${src.dir}"> 
      <patternset id="files"> 
       <!-- includes/excludes for your source here --> 
      </patternset> 
     </fileset> 

     <fileset id="matches" dir="${src.dir}"> 
      <patternset refid="files" /> 
      <containsregexp expression="${search.string}" casesensitive="false" /> 
     </fileset> 

     <fail message="Found badword in one or more files in '${src.dir}'"> 
      <condition> 
       <resourcecount when="greater" count="0" refid="matches" /> 
      </condition> 
     </fail> 
    </target>