【发布时间】:2014-08-05 12:59:24
【问题描述】:
我有一个简单的 Gradle 构建脚本来编译和打包(类似于应用程序插件)我的 Java 应用程序。我唯一没有完成的是在一个简单的 .properties 文件中替换当前版本号。
我创建了一个文件“src/main/resources/app-info.properties”,其中包含一行“application.version = @version@”。不,每当文件复制到构建文件夹时,我都想替换此版本字符串(认为这发生在构建任务期间)。
我已经尝试过使用 ant ReplaceTokens 的简单解决方案。这个替换了版本,但也破坏了我在资源中的 .png 文件..
那么有没有一种简单的解决方案可以在构建任务(或处理复制到构建文件夹的任何任务)期间仅替换单个文件中的令牌?
感谢您的帮助! 本
====== 根据 Opal 的评论编辑 =====
根据提示,我添加了以下内容:
import org.apache.tools.ant.filters.ReplaceTokens
// ...
build {
from('src/main/resources') {
include '*.properties'
filter(ReplaceTokens, tokens: [version : project.version])
}
}
抛出此错误:
在根项目上找不到参数 [src/main/resources, build_vbjud9ah7v3pj5e7c5bkm490b$_run_closure6_closure12@43ead1a8] 的方法 from()
好像我做错了任务?
====== 编辑完整性,添加基于 Opals 建议的解决方案 =====
谢谢大佬,以下是可行的解决方案!
processResources {
from('src/main/resources') {
include '*.properties'
filter(ReplaceTokens, tokens: [version : project.version])
}
}
【问题讨论】: