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