2015-02-10 6 views
10

Я хочу создать автономный проект плагина Gradle, как описано в Gradle documentation. Я хотел бы использовать IntelliJ с завершением кода для Groovy и Gradle. Поскольку нет специального мастера для создания проекта плагина Gradle, я должен сделать это вручную.
Мне уже удалось добавить Groovy SDK (binary) в IDE через: Файл/Другие настройки/Структура проекта по умолчанию, как показано на скриншоте.Как настроить проект плагина Gradle в IntelliJ?

IntelliJ/Project Structure

Для начала я создал новый проект Gradle, который также содержит обертку Gradle. Затем я создаю скрипт Groovy с именем MyExamplePlugin.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 некоторое время - никогда не использовал его. Просто любопытно. Я просто запускаю задачу оболочки, а затем открываю файл build.gradle с помощью IntelliJ. – cjstehno

+1

Это скорее обычная вещь со мной ... Я нашел более старые версии Idea, чтобы быть немного мусором с проектом градиента ... Более поздние версии кажутся намного лучше :-) –

+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

Смежные вопросы