AE
Size: a a a
AE
VN
VN
KL
VN
KL
KL
VN
AE
VN
VN
AE
В
examples?src/
main/...
examples/...примеров правильно настроить зависимости на основную либу?AM
examples?src/
main/...
examples/...примеров правильно настроить зависимости на основную либу?examples в корне, либо отдельная репа с примерами.implementation project(':lib'). Проще всего менеджить, но пользователь не сможет собрать пример отдельно от либы без модификаций.settings.gradle. В качестве зависимости указываются мавен-координаты. При разработке можно использовать composite builds, подменяя мавен-координаты локальным проектом. Удобно, но а) сразу надо настраивать публикацию, хотя mavenLocal хватит, и б) надо, собственно, composite build раздуплить, благо идея его поддерживает нынче.AM
В
examples в корне, либо отдельная репа с примерами.implementation project(':lib'). Проще всего менеджить, но пользователь не сможет собрать пример отдельно от либы без модификаций.settings.gradle. В качестве зависимости указываются мавен-координаты. При разработке можно использовать composite builds, подменяя мавен-координаты локальным проектом. Удобно, но а) сразу надо настраивать публикацию, хотя mavenLocal хватит, и б) надо, собственно, composite build раздуплить, благо идея его поддерживает нынче.либа собирается как модуль одного проекта, соседствующий с модулем либыAM
либа собирается как модуль одного проекта, соседствующий с модулем либыmycoolproject/settings.gradle:
build.gradle
settings.gradle
lib/
build.gradle
examples/
example1/
build.gradle
example2/
build.gradle
include ':lib', ':examples:example1', ':examples:example2'
example1/build.gradle: depencencies { implementation project(':lib') }AM
mycoolproject/settings.gradle:
build.gradle
settings.gradle
lib/
build.gradle
examples/
build.gradle
settings.gradle
example1/
build.gradle
example2/
build.gradle
include ':lib', папка examples никак не фигурирует тут.'org.example:mylib:1.0'
examples/settings.gradle: include ':example1', ':example2'
example1/build.gradle: depencencies { implementation 'org.example:mylib:1.0' }AM
if (new File(rootDir, '../settings.gradle').exists()) {
includeBuild('..') {
dependencySubstitution {
substitute module('org.example:mylib') with project(':lib')
}
}
} AM