[英]How to execute gradle task during project import in Intellij Idea
讓我們假設我的build.gradle
文件包含任務generateSources
,顧名思義,它會生成額外的 java 文件。 這很容易,以確保generateSources
之前執行compileJava
: compileJava.dependsOn generateSources
。 我怎樣才能確保generateSources
導入項目進入時的IntelliJ IDEA以及被稱為?
這可以通過id("org.jetbrains.gradle.plugin.idea-ext")
插件( https://github.com/JetBrains/gradle-idea-ext-plugin )來完成。
請參閱 Gradle 源中的示例代碼: https : //github.com/gradle/gradle/blob/135fb4751faf2736c231636e8a2a92d47706a3b9/buildSrc/subprojects/ide/src/main/kotlin/org/gradle/gradlebuild/ide/IdePlugin4.
詳細說明@vladimir-sitnikov 的回答:我將idea-ext
-plugin 添加到我的根項目中:
apply plugin: 'org.jetbrains.gradle.plugin.idea-ext'
// ...
buildscript {
dependencies {
classpath "org.jetbrains.gradle.plugin.idea-ext:org.jetbrains.gradle.plugin.idea-ext.gradle.plugin:0.7"
}
}
因為沒有它我無法在我的子項目中使用它,但現在它的工作方式如下:
idea.project.settings.taskTriggers {
beforeSync tasks.getByName("generateSources")
}
僅將插件添加到子項目中並沒有做到。
注意:插件的文檔是有限的,但在“ DSL spec v. 0.2 ”中有說明
beforeSync
- 在每個 Gradle 項目同步之前。 不會在初始導入時執行
沒有嘗試過,但它適用於現有項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.