Я использую композитный репозиторий Gradle, мой settings.gradle
выглядит следующим образом и работает нормально.
include ':app'
def breadcrumb = '../../Android-Lib/BreadcrumbToolbar'
if (file(breadcrumb).exists()) {
includeBuild(breadcrumb) {
dependencySubstitution {
substitute module('ir.ihome:breadcrumb') with project(':breadcrumbtoolbar')
}
}
}
У меня два вопроса. Во-первых, как я могу прочитать путь к библиотеке из файла local.properties? Я хочу проверить этот код для контроля версий, и жесткое кодирование пути не кажется хорошей идеей.
Во-вторых, как я могу сделать использование конкретной библиотеки в моей составной сборке необязательным? Очевидно, что когда я разрабатываю эту конкретную библиотеку, я хочу, чтобы составная сборка была включена, но в других случаях я предпочитаю ее отключать и использовать библиотеку из удаленного репозитория maven. Я знаю, что могу добавить флаг в этот файл для каждой библиотеки и затем изменить флаг, но есть ли лучший способ, например, определение задачи Gradle или передача флагов в командной строке Gradle?