我在構建中使用了一堆gradle插件。其中許多插件反過來使用其他插件。我想找出執行特定任務的插件。有沒有核心的Gradle任務來發現這一點?謝謝。gradle:如何找出執行特定任務的插件?
1
A
回答
0
沒有核心任務會告訴你哪個插件負責哪個任務。你可以看到所有可用任務運行:
gradle tasks
但也有在日誌中有一些提示。如果您運行帶有--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)
它會告訴你用這個插件(gradle release)依賴註冊的任務。
0
你也許可以打印每個插件類的名稱和各項任務,並希望包會給你一個提示
如:
task printStuff {
doLast {
plugins.all { Plugin plugin ->
println "Plugin: ${plugin.class.name}"
}
tasks.all { Task task ->
println "Task: ${task.class.name} (name=${task.name})"
}
}
}
相關問題
- 1. 如何執行gradle任務
- 2. 如何找到創建一些特定輸出的Gradle任務?
- 3. 如何過濾和執行特定的Gradle任務?
- 4. 如何在Gradle中執行任務?
- 5. Gradle中的自定義任務/插件
- 6. 執行匿名Gradle任務
- 7. Gradle總是執行任務
- 8. Gradle任務配置與任務執行
- 9. 執行gradle這個建設任務的自定義任務
- 10. 如何在Gradle中並行運行特定任務
- 11. 執行Grails服務的Gradle任務
- 12. gradle:我如何列出某個插件引入的任務
- 13. 如何觸發Gradle上的最小任務運行apt插件
- 14. 如何按特定順序製作Gradle運行任務?
- 15. Gradle:使自定義插件的任務先運行
- 16. Gradle多項目任務執行行爲
- 17. Gradle build:執行失敗的任務':app:lint'
- 18. Gradle:執行失敗的任務':Project:processDebugManifest'
- 19. 執行android zipalign的Gradle任務
- 20. 執行Gradle任務的項目路徑
- 21. 創建可執行任務的gradle
- 22. Gradle沒有執行我的任務
- 23. 任務':compileJava'的執行失敗。 Gradle
- 24. 安卓服務在特定的插件上持續執行任務
- 25. gradle產出:執行任務「類型:執行」如果我取消註釋行,之後它的任務與空間
- 26. 如何運行取決於測試任務的定製gradle插件
- 27. gradle測試任務如何運行特定的junit測試套件?
- 28. 只在定義的屬性上執行Gradle運行任務
- 29. Gradle:如何移動任務的輸出?
- 30. Android Studio卡住執行Gradle任務