В моем скрипте Gradle (версия 0.8) у меня есть локальный репозиторий ivy, который я использую для публикации библиотеки, и я не могу заставить Gradle игнорировать ее кеш.
Я получаю доступ к местному репозиторию плюща.на основании рекомендации в руководстве Gradle.Вот соответствующий код (с некоторыми переименованными переменными).
dependencies{
// [several remote dependencies]
// ...
compile('myorg:mylib:0.1.0')
}
def ivy_repo = new org.apache.ivy.plugins.resolver.FileSystemResolver()
ivy_repo.name = 'ivy-repo'
ivy_repo.addIvyPattern local_repository + '/ivy/[organisation]/'+
'[module]-ivy-[revision].xml'
ivy_repo.addArtifactPattern local_repository + '/ivy/[organisation]/'+
'[module]-[revision](-[classifier]).[ext]'
ivy_repo.descriptor = 'optional'
ivy_repo.checkmodified = true
repositories{
// [several remote repositories]
// ...
add(ivy_repo)
}
Моя проблема в том, что когда я запускаю свой сценарий, когда локальные библиотеки разрешаются, последующие вызовы сценария сборки используют ~ /.gradle / cache / myorg: mylib /, а не местоположение моего локального хранилища плюща.В руководстве по Gradle есть только несколько строк, в которых упоминается, что локальные репозитории по умолчанию не должны использовать кеш, но теперь я нашел способ фактически указать, что мой репозиторий является «стандартным» и локальным и, следовательно, не должен использовать кеш.
Я пытался установить ivy_repo.local = true или использовать compile ('myorg: mylib: 0.1.0') {change = true}, но ни один из них не работает
Я не хочу использовать репозиторий flatDir, потому что локальная библиотека имеет зависимости, которые я хочу, чтобы мой проект нашел (и я использую файл ivy, связанный с локальной библиотекой, чтобы сделать это сейчас, и этоПохоже, что репозиторий flatDir игнорирует файлы такого типа ... или, может, я что-то там не так делал?)
Кто-нибудь знает решение?Или, может быть, лучший способ выполнить мою задачу с Gradle?