Ответ 1
Спасибо Питеру Нидерризеру. Я решил опубликовать свой собственный ответ из-за дополнительной информации.
Чтобы настроить глобальный каталог сборки, вам нужно добавить эти строки в ~/.gradle/init.gradle:
gradle.projectsLoaded {
rootProject.allprojects {
buildDir = "/path/to/build/${rootProject.name}/${project.name}"
}
}
Хорошая опция иметь глобальный каталог build
на диске RAM.
Если вы являетесь пользователем macOS (OS X), вы можете сделать это с помощью
diskutil erasevolume HFS+ 'RAMDiskName' `hdiutil attach -nomount ram://XXXXXX`
где XXXXXX
- количество 512-байтовых блоков (например, это 262114 для 128 МБ RAM-диска)
И строка buildDir
будет:
buildDir = "/Volumes/RAMDiskName/${rootProject.name}/${project.name}"
Также вы можете расширить конфигурацию до:
- получить глобальный путь сборки из переменной окружения или вернуться в каталог
build
внутри каталога проекта; - включить группу проектов в путь, это делает путь более уникальным, особенно если у вас несколько проектов с тем же именем.
~/.gradle/init.gradle
def configProject(p, buildDir) {
p.buildDir = "${buildDir}/${p.name}"
p.subprojects { s ->
configProject(s, "${p.buildDir}")
}
}
def buildDir = System.env.GRADLE_GLOBAL_BUILD_PATH
if (!buildDir?.trim()) {
buildDir = "build"
}
gradle.projectsLoaded {
if (ext.has("group")) {
buildDir += "/${ext.group}"
}
configProject(rootProject, buildDir)
}
И в проекте settings.gradle:
gradle.ext.group = 'com.example.yourproject'
Также вы можете использовать этот параметр в проекте build.gradle для установки группы проектов, но это необязательно:
allprojects {
...
group gradle.ext.group
}