gradle:我如何找到实现特定任务的插件?

gradle:我如何找到实现特定任务的插件?,gradle,Gradle,我有一堆gradle插件在我的构建中使用。这些插件中的许多反过来又使用其他插件。我想找出实现特定任务的插件。有没有一个核心的gradle任务来发现这一点?谢谢。没有核心任务可以告诉您哪个插件负责哪个任务。您可以通过运行以下命令查看所有可用任务: gradle任务 不过,日志中有一些提示。如果使用--debug开关运行构建,则可以在解决插件依赖关系后看到正在注册的任务: 10:20:25.847 [DEBUG] [org.gradle.api.internal.artifacts.ivyservi

我有一堆gradle插件在我的构建中使用。这些插件中的许多反过来又使用其他插件。我想找出实现特定任务的插件。有没有一个核心的gradle任务来发现这一点?谢谢。

没有核心任务可以告诉您哪个插件负责哪个任务。您可以通过运行以下命令查看所有可用任务:

gradle任务

不过,日志中有一些提示。如果使用
--debug
开关运行构建,则可以在解决插件依赖关系后看到正在注册的任务:

10:20:25.847 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository] Found artifact 'gradle-release.jar (net.researchgate:gradle-release:2.3.5)' in resolver cache: C:\g\caches\modules-2\files-2.1\net.researchgate\gradle-release\2.3.5\8045af5040f3efa88abbc5879fd51cf1634a2536\gradle-release-2.3.5.jar
10:20:26.041 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.release' (hidden = false)
10:20:26.076 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.createScmAdapter' (hidden = false)
10:20:26.086 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.initScmAdapter' (hidden = false)
10:20:26.086 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.checkCommitNeeded' (hidden = false)
10:20:26.087 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.checkUpdateNeeded' (hidden = false)
10:20:26.088 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.unSnapshotVersion' (hidden = false)
10:20:26.088 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.confirmReleaseVersion' (hidden = false)
10:20:26.089 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.checkSnapshotDependencies' (hidden = false)
10:20:26.091 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.runBuildTasks' (hidden = false)
10:20:26.093 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.preTagCommit' (hidden = false)
10:20:26.094 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.createReleaseTag' (hidden = false)
10:20:26.094 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.updateVersion' (hidden = false)
10:20:26.095 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.commitNewVersion' (hidden = false)
10:20:26.127 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.beforeReleaseBuild' (hidden = false)
10:20:26.128 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.afterReleaseBuild' (hidden = false)

这将告诉您此插件()依赖项注册的任务

您可以打印每个插件和每个任务的类名,希望软件包能给您一个提示

例如:

task printStuff {
    doLast {
        plugins.all { Plugin plugin ->
            println "Plugin: ${plugin.class.name}"
        }
        tasks.all { Task task ->
            println "Task: ${task.class.name} (name=${task.name})"
        }
    }
}