0

我正在使用shadowJarGradle (4.2.1) 的插件来构建所谓的fatJaror uberJar. 这可以按预期工作,但我想在构建完成后添加一些操作。更准确地说,我想让生成的文件可执行(以Unixie 而言chmod +x),然后将其复制到某个目录。我用谷歌搜索了很多,我知道这两项任务都是可能的。我想知道我是否应该编写一个运行shadowJar然后执行我想要的脚本(任务),或者我应该更改它shadowJar本身以嵌入我需要的操作。

4

1 回答 1

0

我认为决定这种情况的一个很好的标准是问问自己新功能是否真的是shoadowJar. 如果答案是否定的,那么(如您所提到的)在此之上运行另一个任务会更好。通过这样做,您可以shadowJar通过将其与其他任务组合来在更多不同的场景中重用它。如果您将新任务定义为依赖于shadowJar,那么您将确定您仍然可以shadowJar单独调用任务,而调用新任务将始终触发shadowJar. 您的新任务将是这样的:

task afterShadowJar (dependesOn: 'shadowJar') {
    // manipulate file permissions, etc.
}
于 2017-12-21T12:57:15.393 回答