我有一个自定义任务,就像这样:
task hello {
doLast {
println 'Hello, World!'
}
}
现在,我可以在doLast
上设置断点,并且IntelliJ将在此处停止,但是我无法调试gradle核心类,例如:org.gradle.api.internal.project.DefaultProject#task(...)
是否可以在IntelliJ中附加Gradle源以调试Gradle内部类?
答案 0 :(得分:0)
我不知道如何将评论转换为答案,但本质上,@m-ricciuti 是正确的,必须做的是:
implementation(gradleApi())
(在 Kotlin DSL 中)添加到 dependencies
-all
中指定 gradle-wrapper.properties
分布:distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-all.zip
gradlew <task> -Dorg.gradle.debug=true --no-daemon
运行 gradle,它会说“正在启动守护进程”并暂停通过这种方式,您可以在 @TaskAction
方法上设置断点,但是,我仍然无法在 CloseableHttpClient
或 InternalHttpClient
类中设置断点。这基本上是我最感兴趣的,所以如果有人知道更多......请插话!