当前位置: 首页 > 知识库问答 >
问题:

Gradle插件任务排序

羊城
2023-03-14

我有什么?

C:\tmp\gradle-fun>gradle run
:compileJava
:processResources UP-TO-DATE
:classes
:run
Hello MainApp !!
BUILD SUCCESSFUL

现在我想知道在run任务执行之前是否可以使用clean task(常见的构建任务)来清理构建目录。

这背后是有原因的,我想确保每次gradle都应该编译java文件,并且所有.class文件都应该被刷新(这是一些要求)

我试过什么?

apply plugin: 'application'
mainClassName = "MainApp"
sourceSets.main.java.srcDirs = ['.'] 
task exec(dependsOn: ['clean', 'run'])
C:\tmp\gradle-fun>gradle run
:clean
:compileJava
:processResources UP-TO-DATE
:classes
:run
Hello MainApp !!
:exec
BUILD SUCCESSFUL

我想知道什么?

有没有什么方法可以避免编写包装器任务,并做一些梯度魔术来达到要求?

共有1个答案

印曜灿
2023-03-14

只需让run任务依赖于clean即可。这将确保您的项目在每次运行之前都被清理。如果您想在用例方面更加具体,可以简单地清除compileJava任务。

run.dependsOn 'cleanCompileJava'

编辑:若要避免在运行“添加”之前删除类,请执行以下操作:

classes.mustRunAfter 'cleanCompileJava'
 类似资料:
  • 请注意:虽然我在这里特别提到了两个Gradle插件,但这完全是一个关于理解Gradle中任务依赖性的问题,不需要任何关于单个插件的知识(我认为)! 我有一个项目将使用两个Gradle插件: < Li > Gradle Shadow插件,它将生成一个自包含的“fat jar”(基本上是一个包含我的所有类以及我的所有可传递依赖项的类的大jar,这样我就可以运行< code>java -jar myap

  • 我最近开始实现Gradle发布插件。我已经经历了https://github.com/researchgate/gradle-release#custom-释放步骤。 该插件正在将SNAPSHOT版本更新为发布版本,将当前SNAPSHOT版本更新为下一个版本。gradle发布任务也在执行编译、构建步骤。我在Jenkins中自动执行了此操作。我尝试了“构建任务 = []" 但构建任务仍已执行。我找不

  • 任务:react native gradle plugin:compileKotlin失败的“compileJava”任务(当前目标为1.8)和“compileKotlin”任务(当前目标为11)jvm目标兼容性应设置为相同的Java版本。1个可执行任务:1个已执行 失败:构建失败,但有一个异常。 错误:任务执行失败:反应本机gradle插件:compileKotlin 无法查询任务:react

  • 我正在尝试创建一个自定义任务/插件(两者都拒绝工作),用于我的gradle构建脚本。 我正在使用groovy插件,希望在单独的文件中声明任务/插件,而不是在我的构建中。格拉德尔。 我的项目树如下所示: 我试图做的是在中创建我的任务/插件类,然后在。 让我举一个小例子。 TestTask。groovy: build.gradle 当我尝试使用我的gradle.build(清洁,构建等)做任何事情时,

  • 我想从JaCoCo中排除一些类别,但排除似乎不起作用。 例如,我想排除所有以Dao结尾的Java类(例如com.company.emplyedao)。 我已经尝试了以下代码,但当我将其推送到sonar/use JacoTestReport时,它仍然显示出来。 我将它与Android结合使用。发生了什么事?

  • 我正在使用Eclipse Buildship插件在我的项目上执行Gradle任务。知道如何在运行构建任务时排除测试任务吗?在Gradle STS插件中,我曾经将程序参数更新为'-x test',它跳过了测试任务。当我在Buildship上尝试同样的方法时,得到了下面的错误。