Подтвердить что ты не робот

Gradle имя подпроекта, отличное от имени папки

У меня есть несколько подпроектов, которые являются частью многопроектной сборки (плоская иерархия). Я хочу, чтобы имя на них было отличным от имени своей папки. Однако в include (setting.gradle) он должен иметь имя папки, иначе он не найдет его (то же самое для проекта компиляции (': ProjectName')).

Если я пытаюсь установить project.name, он сообщает мне, что доступен только для чтения. Причина в том, что мы конвертируем из Ant и хотели бы сохранить одно и то же имя для Eclipse IDE. Поскольку артефакты идут, мы используем jar.artifactName для установки любого имени, которое мы хотим.

Спасибо,

4b9b3361

Ответ 1

Имена проектов могут быть изменены только в settings.gradle. Например:

include "foo" // or `includeFlat`, doesn't matter

// always good to nail down the root project name, because
// the root directory name may be different in some envs (e.g. CI)
// hence the following even makes sense for single-project builds
rootProject.name = "bar" 

// change subproject name
project(":foo").name = "foofoo"

В качестве альтернативы вы можете использовать желаемое имя проекта в операторе include, а затем перенастроить каталог проекта:

include "foofoo"

project(":foofoo").projectDir = file("foo")

Чтобы дать некоторый фон, единственная разница между include и includeFlat заключается в том, что они используют разные значения по умолчанию для проекта projectDir. В противном случае они одинаковы.

Для получения дополнительной информации см. Settings в Gradle Справочник по языку сборки.