Как загрузить локальную библиотеку (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, удалив зависимость, и вы готовы к работе.

Другие вопросы по тегам