2016-07-29 4 views
0

のGradleスクリプトファイルをコピーする際にgradleをフィルタリングする方法は?トークンは "TEL-" で始まり、 "-Tel" で終わる場合V2

copy { 
    from 'src/com/comcast/telescope/Telescope.java' 
    into 'dist/com/comcast/telescope' 
include '**/*.java' 
} 

Antスクリプト

 <copy file="${src.dir}/com/comcast/telescope/Telescope.java" toFile="${dist.dir}/com/comcast/telescope/Telescope.java"> 
     <filterset begintoken="Tel-" endtoken="-Tel"> 
      <filter token="IntVer" value="${Interface-Version}" /> 
     </filterset> 

でトークンを置き換える私はコピーする上部を得ましたファイルをコピーするときにファイルをフィルタリングすることに固執しています。誰か助けてくれますか?

答えて

1

CopySpecfilterへの電話を追加する必要があります。

元Antスクリプトに基づいて、あなたが必要とする:

import org.apache.tools.ant.filters.ReplaceTokens 

copy { 
    from 'src/com/comcast/telescope/Telescope.java' 
    into 'dist/com/comcast/telescope' 
    include '**/*.java' 
    filter(ReplaceTokens, beginToken:'Tel-', endToken:'-Tel', tokens: [IntVer: interfaceVersion]) 
} 

をこれは、それがsrc/com/comcast/telescopeからdist/com/comcast/telescope

にコピーされたとしてinterfaceVersionの値でTelescope.javaでリテラルテキストTel-IntVer-Telを置き換えるためにReplaceTokensを使用してください。私の例では、gradle.propertiesext block.のようにinterfaceVersionプロパティをどこかに設定する必要があることに注意してください。最後に、includeは1つのファイルのみがコピーされるので、不必要である。

関連する問題