Я работаю над пакетом OSGi, используя bndtools в Eclipse. Я только что добавил новый пакет (журналирование apache commons) в репозиторий cnf/localrepo
, и теперь наш CI-сервер не выполняет сборку:
[Gradle] - Launching build.
[workspace] $ gradle build
:mybundle : Cannot find /error/com.springsource.org.apache.commons.logging;version=0 Not found in [bnd-cache, Release, Local, Bndtools Hub, /var/lib/jenkins/jobs/myapp/workspace/cnf/nonosgi-repo r/w=true]
Error : com.springsource.org.apache.commons.logging;version=0 Not found in [bnd-cache, Release, Local, Bndtools Hub, /var/lib/jenkins/jobs/myapp/workspace/cnf/nonosgi-repo r/w=true]
Названия проектов слегка запутаны для простоты.
Мне кажется, что плагин gradle не обновляет индекс репозитория - если один из моих товарищей по команде обновляет нашу vcs без обновления в Eclipse, он получает ту же ошибку.
Я знаю, что у bndtools есть плагин org.osgi.impl.bundle.repoindex.cli, но я недостаточно знаю о bndtools или gradle, чтобы применить его к своему проекту. Я также чувствую, что либо (а) плагин gradle должен обновлять репозитории самостоятельно, либо (б) я неправильно использую репозитории.
Можно ли добавить в build.gradle задачу, которая обновляет индексы перед сборкой?
Должны ли мы вместо этого переместить все наши зависимости в онлайн-репозиторий, чтобы bnd не управлял индексами?