我有一个复制任务试图复制在“依赖”任务中提取的文件。目标文件夹包含从属性文件检索的时间戳。
task copyFilesToBuild(type: Copy, dependsOn:unzipExtFile) {
def tmpTimestampFile = file("$buildDir/tmp/timestamp.properties")
if (tmpTimestampFile.exists()) {
stampProp = new Properties()
stampProp.load(new FileInputStream(tmpTimestampFile))
def timestampFromFile=stampProp.getProperty('propfileTimestamp')
def unzippedExtFilesDir = file("$buildDir/tmp/unzipped/static/js/app")
def appBuildDir = file("$buildDir/apptmp/war/app/app_$timestampFromFile/sub")
from unzippedExtFilesDir
into appBuildDir
}
}
第一次在我的构建中(在清理之后),它说“最新”(调试输出说它跳过任务,因为它没有源文件。)
我尝试添加闭包来推迟计算(来自{unzippedExtFilesDir}),并尝试将任务主体放在doFirst中,但都没有任何效果。我还尝试在'from'语句中直接使用dependsOn任务名(unzipExtFile),但也不起作用。
第二次运行构建时,这个任务确实会运行,所以它似乎是配置和执行之间的时间问题,但我没有什么想法了。欢迎提出任何建议。
在任何任务运行之前,代码在配置时读取时间戳。(通过添加println
语句可以看到这一点。)因为此时不存在时间戳文件(特别是在第一次运行时),所以没有配置源位置(from...
),并且由于没有任何可复制的内容,任务被视为最新的。将整个时间戳逻辑放入inte
块(放入{...;appBuildDir}
)应该可以解决这个问题。
我正在使用以下项目结构 子模块包含在设置中。gradle,并在内部版本中配置。根项目的渐变。 我有3个任务要做 (每个子项目都有这个) (这是每个子项目都需要自己工作的打包机制) (这只需要调用一次) 我想能够打电话 $gradle部署 build.gradle
问题内容: 我的复制任务设置如下: 而且我收到以下错误: 我觉得这只是一个语法问题,有什么提示吗? 问题答案: 按组排除: 按模块排除: 按文件名排除: 排除文件: 您可以按组和模块排除,但需要进入这样的配置排除。 然后它将限制复制之前的配置。 并记住确保该目录存在 也许不是排除所有其他文件而是添加jar?
我正在尝试这样做: 到目前为止,我已经尝试了各种教程,包括这个答案中的所有形式,但都不起作用。唯一有效的是调用一个单独的任务,但我想知道为什么我的构造是错误的,为什么我不能在jar或影子Jar任务之后运行一些东西。
我试图将jBPM 5.4集成到现有的servlet中。 servlet在JBoss 7.1中运行良好,但在我添加一个与jBPM相关的API时,由于抛出异常而失败。(我使用了安装中的评估样本作为模板。)我向servlet的doPost()中添加了: 执行此语句后,将引发以下异常: 20:51:06394错误[org.apache.catalina.core.ContainerBase.[jboss.
我正在从事一个spring boot项目,以自动化与gradle的集成测试。我最近开始在一家新企业工作,我的同事们按如下方式运行集成测试:在构建中。gradle文件有一个集成测试任务 启动任务后,应用程序开始在指定端口运行,然后打开postman,导入集合并运行测试。 我的工作是找到一种方法来跳过额外的点击,即自动运行邮递员集合。第一个想法是使用postman-run gradle插件,但由于企业
我在用Gradle。我有两个任务:“A”和“B”。我想让任务“A”调用任务“B”。我怎么能这么做? 是否可以简单地从现有任务中调用另一个任务?