У меня есть следующая структура каталогов:
D:\PROJECT
+---javaGradleProject1
+---javaGradleProject2
+---javaGradleProject3
\---AndroidProject
| build.gradle
| settings.gradle
\---AndroidModule
build.gradle
Модуль Android зависит от всех проектов java gradle, которые находятся на том же уровне в корневом каталоге, что и AndroidProject.
В AndroidProject/settings.gradle у меня есть:
include ':AndroidModule'
include 'javaGradleProject1'
project(':javaGradleProject1').projectDir = new File(rootDir, '../javaGradleProject1')
include 'javaGradleProject2'
project(':javaGradleProject2').projectDir = new File(rootDir, '../javaGradleProject2')
include 'javaGradleProject2'
project(':javaGradleProject2').projectDir = new File(rootDir, '../javaGradleProject2')
И затем в AndroidProject/AndroidModule/build.gradle у меня есть зависимости, установленные следующим образом:
compile project(':javaGradleProject1')
compile project(':javaGradleProject2')
compile project(':javaGradleProject3')
Эта структура зависимости отлично работает и строит проект, когда я вызываю
gradle build
на AndroidProject/build.gradle.
Но когда я пытаюсь синхронизировать мой IntelliJ с текущими настройками зависимостей gradle, я получаю
Error: Unable to find module with Gradle path ':javaGradleProject1'
Error: Unable to find module with Gradle path ':javaGradleProject2'
Error: Unable to find module with Gradle path ':javaGradleProject3'
и из-за этого мой проект не может быть запущен из Run Configurations (он вообще не компилируется в среде IDE). Я пытался добавить эти зависимости вручную, нажав F4 и зависимостей модулей, но после синхронизации все мои изменения перезаписаны (на самом деле IntelliJ просто удаляет его).
Что-то не так в моей структуре gradle?
Я тестировал его на IntelliJ IDEA 14.1.4 и Android Studio 1.3.