2015-07-15 2 views
0

Вот проблема, с которой я сталкиваюсь.Альтернативное имя Gradle для build.gradle и условных обозначений для вложенных модулей

В Eclipse/STS, когда я открываю несколько build.gradle, я не могу сказать, какие файлы они принадлежат, не глядя на путь. (Это так же, как pom.xml в Maven.)

Есть ли способ, чтобы сказать что-то вроде ниже:

top-project 
     build.gradle 
     module-1 
      module-1.gradle 
     module-2 
      module-2.gradle 
     . 
     . 
     module-n 
      module-n.gradle 

В вышеприведенном модульно-1 и т.д. являются только именами суба-модулей, как в одном реальном примере жизни это может быть acme-schema или acme-web

  1. Как Gradle строить работу?
  2. Что еще более важно - как затмение справляется с этим во время apply eclipse/Build Model?

ответ

0

Это довольно распространенное требование для многопроектных сборок. Это действительно должно быть в руководстве пользователя. Во всяком случае, вы можете увидеть пример в one of my open source projects. Все, что вам нужно сделать, это добавить что-то вроде следующего в settings.gradle файл в корневом каталоге проекта:

// Change names of build files in sub-projects for easier navigation in IDEs 
// and text editors. 
renameChildBuildFiles(rootProject) 

void renameChildBuildFiles(parentProject) { 
    for (p in parentProject.children) { 
     p.buildFileName = (p.name - "my-app-") + ".gradle" 
    } 
} 

Этот конкретный бит кода использует имена каталогов из подпроектов в качестве базовых имен файлы сборки, предполагая, что все каталоги подпроектов имеют префикс «my-app-».

Вы можете использовать любое правило, которое вам нравится при настройке имен файлов файлов подпроектов. Вам не обязательно использовать этот.

+0

Отличная идея. Попробует. Как и имя Lazybones. – bhantol