Gradle脚本
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>我得到了复制文件的最上面部分,但是在复制文件时,我不得不对文件进行过滤。有人能帮我吗?
发布于 2016-07-29 20:57:42
您需要在您的filter中添加对CopySpec的调用。
根据原始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])
}这使用ReplaceTokens将Telescope.java中的文字文本Tel-IntVer-Tel替换为从src/com/comcast/telescope复制到dist/com/comcast/telescope的interfaceVersion值。
请注意,在我的示例中,您需要在某个地方设置interfaceVersion属性,比如在gradle.properties中或在区块。中,最后,我认为include是不必要的,因为只有一个文件正在被复制,从而产生:
import org.apache.tools.ant.filters.ReplaceTokens
copy {
from 'src/com/comcast/telescope/Telescope.java'
into 'dist/com/comcast/telescope'
filter(ReplaceTokens, beginToken:'Tel-', endToken:'-Tel', tokens: [IntVer: interfaceVersion])
}https://stackoverflow.com/questions/38666868
复制相似问题