使gradle在每次设置时执行finalizedBy任务(多次)
我在以下情况下遇到问题: 为了在一行中运行不同的本机testplugin,我动态地创建一些任务来为每个插件适当地准备环境,然后为托管依赖项的每个testplugin创建一个使gradle在每次设置时执行finalizedBy任务(多次),gradle,android-ndk,gradle-task,Gradle,Android Ndk,Gradle Task,我在以下情况下遇到问题: 为了在一行中运行不同的本机testplugin,我动态地创建一些任务来为每个插件适当地准备环境,然后为托管依赖项的每个testplugin创建一个plugin\u任务 要在设备上启动测试,插件任务由connectedAndroidTest完成 例如,调用gradle plugin\u name\u 1工作正常,它为环境做好准备并开始测试 tasks.register("allTests"){} name_list.each { test_name -> d
plugin\u任务
要在设备上启动测试,插件任务由connectedAndroidTest完成
例如,调用gradle plugin\u name\u 1
工作正常,它为环境做好准备并开始测试
tasks.register("allTests"){}
name_list.each { test_name ->
def prepare_dir = tasks.register("${test_name}_Prepare_Dir") {...}
def copy_files = tasks.register("${test_name}_Copy_Files") {...}
def plugin_task = tasks.register(test_name){
dependsOn prepare_dir
dependsOn copy_files
finalizedBy connectedAndroidTest
}
allTests.configure {
dependsOn pluginTask
}
}
现在,当我尝试运行allTests任务时,问题出现了:
然后,gradle正确地操作所有动态创建的任务“prepare_dir”、“copy_files”,为每个插件执行这些任务
但是,connectedAndroidTest将只在所有测试的最后执行,因此只运行一次。但我需要在每个插件任务的每一端执行此任务
gradle的行为是正确的,因为它认为所有插件任务都应该通过connectedAndroidTest完成,因此将其放在图表的末尾
有没有可能让gradle多次执行此任务?
我很高兴能得到帮助
将connectedAndroidTest任务包装到动态创建的任务中,并让plugin_任务依赖于它们,这是没有帮助的。另外,“重新运行任务”参数也没有效果。Gradle不是这样工作的。每个任务将在每次Gradle调用中执行1次或0次。如果要多次执行同一任务(使用不同的任务输入),则需要多个任务实例,而不是一个 格拉德尔不是这样工作的。每个任务将在每次Gradle调用中执行1次或0次。如果要多次执行同一任务(使用不同的任务输入),则需要多个任务实例,而不是一个