Cal*_*der 5 intellij-idea gradle
当您按下按钮使用 gradle 执行某些操作时,Intellij 会隐藏它运行的 gradle 命令。这使得找出问题所在变得极其困难。我单击“刷新”(不是刷新依赖项),它似乎触发了我所有的兄弟项目和我的项目来构建这是错误的。它绝对没有运行“gradle build”,因为如果它运行,它不会触发我的多项目构建中的所有同级项目。
小智 2
在 gradle 中单击“刷新”会显示如下日志:
2019-10-17 14:58:10,391 [9949323] INFO - xecution.GradleExecutionHelper - Passing command-line args to Gradle Tooling API: -Didea.sync.active=true -Didea.resolveSourceSetDependencies=true --init-script /tmp/ijinit.gradle
Run Code Online (Sandbox Code Playgroud)
这里 IDEA 使用 Gradle Tooling API 并使用gradle init 脚本(在我的机器上的 /tmp/ijinit.gradle 中)。该文件显示更多内容:
$ cat /tmp/ijinit.gradle
...imports etc...
initscript {
dependencies {
classpath files([...list of IDEA jars...])
}
}
apply plugin: JetGradlePlugin
class JetGradlePlugin implements Plugin<Gradle> {
void apply(Gradle gradle) {
def processor = new RegistryProcessor()
gradle.addProjectEvaluationListener(processor)
def projectEvaluationIsNotCalledForIncludedBuilds = GradleVersion.current() >= GradleVersion.version("3.1") &&
GradleVersion.current() < GradleVersion.version("4.0")
if (projectEvaluationIsNotCalledForIncludedBuilds) {
gradle.rootProject {
it.afterEvaluate {
gradle.includedBuilds.each { included ->
// included builds should be configured by now, so calling `configuredBuild` should be safe
def toolingRegistry = (ToolingModelBuilderRegistry)included.configuredBuild.services.get(ToolingModelBuilderRegistry.class)
processor.process(toolingRegistry)
}
}
}
}
}
}
...other overrides...
Run Code Online (Sandbox Code Playgroud)
正如其他人提到的,包含的构建可以在 IDEA Gradle 选项卡中排除,但希望这能回答特定的标题问题。
归档时间: |
|
查看次数: |
1977 次 |
最近记录: |