Как загрузить локальную библиотеку (aar) как часть зависимости в Bintray
У меня есть 3 транзитивно зависимых проекта для загрузки в bintray из Gradle, проекты 1 и 2 - это jar, а проект 3 - это aar, который использует другой локальный aar, который мы не можем поместить в публичный репозиторий.
Я загрузил проекты 1 и 2 в bintray, но застрял в том, как идти о третьем проекте. У меня есть возможность выдать третью библиотеку нашему клиенту для включения в там проект, но я не могу нажать на bintray, потому что третий проект зависит от этой библиотеки.
Есть ли способ подтолкнуть его к bintray, не добавляя третий проект в качестве зависимости, пока проект запрашивает стороннюю библиотеку.
2 ответа
Следуя предложению Radix, я смог перенести 3-й проект в bintray, я перешел на сборку, а также изменил некоторые конфигурации.
`configurations {
provided
}
sourceSets {
main { compileClasspath += configurations.provided }
}
dependencies {
provided '...'
}`
и пользователь может легко вытащить из хранилища.
Bintray не ограничивается артефактами OSS (или даже публичными). Вы можете иметь частный репозиторий на Bintray с вашим личным aar.
Что касается общедоступного aar, который зависит от частного, и можно ли удалить зависимость, то это сводится к вопросу, является ли зависимость для частного aar действительно обязательной? Будет ли что-то сломаться с ошибками NoClassDefFound, если приватный файл не будет в пути к классам? Если да, то ответ отрицательный - вы не можете распространять общедоступные статьи без зависимости. Если это на самом деле не обязательно, вам нужно отредактировать метаданные общедоступного aar, удалив зависимость, и вы готовы к работе.