【问题标题】:Adding custom command to gradle script将自定义命令添加到 gradle 脚本
【发布时间】:2017-12-21 12:01:23
【问题描述】:

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

【问题讨论】:

    标签: java gradle shadowjar


    【解决方案1】:

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

    task afterShadowJar (dependesOn: 'shadowJar') {
        // manipulate file permissions, etc.
    }
    

    【讨论】:

    • 那么我将继续创建新任务。我应该把这个新任务放在哪里?在build.gradle?
    • 是的,你可以把它放在已经应用插件的模块的build.gradle中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    • 2015-08-06
    • 2022-01-19
    • 1970-01-01
    • 2022-12-03
    • 2011-10-31
    相关资源
    最近更新 更多