2015-02-10 44 views
10

我想創建一個獨立的Gradle插件項目,如Gradle documentation中所述。我想使用IntelliJ代碼完成GroovyGradle。由於沒有專門的嚮導來創建Gradle插件項目,我必須手動完成。
我已經設法通過以下方式在IDE中添加Groovy SDK (binary)文件/其他設置/默認項目結構如截圖所示。如何在IntelliJ中設置Gradle插件項目?

IntelliJ/Project Structure

首先我創建了一個新的搖籃項目中也包含了搖籃包裝。然後我創建了一個名爲MyExamplePlugin.groovy的Groovy腳本,遵循sdk-manager-plugin的項目結構;請注意我是否該項目不符合所需的設置。

. 
├── MyExamplePlugin.iml 
├── build.gradle 
├── gradle 
│   └── wrapper 
│    ├── gradle-wrapper.jar 
│    └── gradle-wrapper.properties 
├── gradlew 
├── gradlew.bat 
├── plugin 
│   └── src 
│    └── main 
│     ├── groovy 
│     │   └── com 
│     │    └── example 
│     │     └── MyExamplePlugin.groovy 
│     └── resources 
│      └── META-INF 
│       └── gradle-plugins 
│        └── myexample.properties 
└── settings.gradle 

然後,我開始實施類:

import org.gradle.api.Plugin 
import org.gradle.api.Project 

class MyExamplePlugin implements Plugin<Project> { 
    // ... 
} 

的問題是,org.gradle.api.*無法找到。

回答

18

進入一個新的空文件夾,然後鍵入:

gradle init --type groovy-library 

然後編輯生成的build.gradle文件,並添加:

compile gradleApi() 

要的依賴,以及:

apply plugin: 'idea' 

到頂部附近的插件。

然後運行:

./gradlew idea 

而在的IntelliJ打開生成的項目

+1

人們使用的「觀念」插件很多,它真的爲你做些什麼?我一直在使用Gradle和IntelliJ一段時間 - 從未使用它。只是好奇。我只是運行包裝任務,然後用IntelliJ打開build.gradle文件。 – cjstehno 2015-02-10 16:49:42

+1

這對我來說更像是一種習慣性的東西......我發現老版本的Idea與gradle項目有點垃圾......後來的版本似乎好多了:-) – 2015-02-10 16:52:06

+0

@tim_yates不錯,謝謝。我還找到了[gradle init -type'的文檔](https://gradle.org/docs/current/userguide/build_init_plugin.html)。如果可以傳遞所需的**插件和包名**,以便生成的文件可以開始使用,那將很方便。 - 順便說一句:這是[後續問題](http://stackoverflow.com/questions/28439997/how-to-add-a-function-to-android-defaultconfig-with-a-gradle-plugin)如果你可以幫助。 – JJD 2015-02-11 09:20:39

相關問題