如何正确替换Gradle'jar'任务?

ghi*_*hik 6 gradle

我试图强迫Gradle以我自己的方式创建jar.我编写了自己的Gradle任务(单独的类)来执行此操作,现在我想jar用它替换默认任务,以便:

  • 存档总是使用我的新任务生成,而且永远不会使用旧jar任务生成
  • 我的新任务与其他任务的关系与默认jar任务相同 - 它取决于classes任务,build任务使用它等.
  • 我希望我的任务不被调用UP-TO-DATE(就像默认的那样jar)

我正在努力做到这一点,我在实现这一点上遇到了很多麻烦.例如,我无法强制build任务始终使用我的新任务.

如果有人能用简短的方法支持我,我将非常感激.

Pet*_*ser 4

这应该有效:

jar {
    // reset actions
    actions = []
    // add your action that performs the work based
    // on the configuration (e.g. 'source') of this task
    doLast { ... }
}
Run Code Online (Sandbox Code Playgroud)

  • 如果您使用“--info”运行,Gradle 会告诉您为什么它认为该任务不是最新的。 (2认同)