IntelliJ IDEA с несколькими подпроектами gradle

Я работаю над несколькими Gradle проектами с внутренними и внешними зависимостями, и до сих пор я рад, что благодаря управлению зависимостями Gradle я могу изменить проект библиотеки, не затрагивая каждое приложение, использующее библиотеку.

Когда мне нужно изменить проект библиотеки и протестировать его с использованием проекта приложения, который его использует, мне нужно сделать следующее:

  • Изменить проект библиотеки и зафиксировать SCM
  • Trigger CI для создания проекта библиотеки и переместите его в мой репозиторий Gradle
  • Обновить проект приложения build.properties для ссылки на новую версию проекта библиотеки
  • Повторите вышеуказанные шаги, пока все не будет работать, и нет ошибки

Итак, теперь это стало довольно сложным. Могу ли я настроить IntelliJ IDEA, чтобы

  • Все мои проекты Gradle находятся в одном окне, например, снимок экрана ниже, который импортируется Twitter Finagle с использованием pom.xml. К сожалению, плагин IntelliJ JetGradle, похоже, не понимает подпроекты Gradle.

Finagle subprojects

  • Когда build.properties зависимостями являются мои подпроекты, читайте зависимость от локального моментального снимка, в противном случае загружайте их из репозитория Gradle

Спасибо.

Ответ 1

Если вы хотите открыть все проекты в одном окне IDEA, вам нужно будет объединить их в многопроектную сборку, по крайней мере до тех пор, пока IDEA 13 не появится на рынке. Перед IDEA 13 лучше использовать интеграцию Gradle IDEA. После создания многопроектной сборки все, что вам нужно сделать, это добавить allprojects { apply plugin: "idea" } в корневую сборку script, запустить gradle (cleanIdea) idea, а затем открыть сгенерированный проект IDEA.

Ответ 2

В настоящее время в IntelliJ IDEA 2019.2 вы можете добавить подпроекты gradle, например, так

  1. Откройте окно инструментов Gradle через "Вид"> "Окна инструментов"> меню "Gradle"
  2. Нажмите кнопку "Link Gradle Project" (знак плюс)Link Gradle Project button
  3. Выберите файл build.gradle, соответствующий подпроекту
  4. Перейдите в Файл> Структура проекта> Модули> NameOfSubproject
  5. Перейдите к main/java и нажмите "Пометить как: источники" enter image description here
  6. Пометить основные/ресурсы как Ресурсы
  7. Перезапустите IntelliJ IDEA

Источники подпроекта будут распознаваться IntelliJ, и вы можете использовать действие Navigate Class для классов в подпроекте.