В моем сценарии Gradle (версия 0.8) у меня есть локальный репозиторий плюща, который я использую для публикации библиотеки, и я не могу заставить Gradle игнорировать его кеш.В 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/кэш/MyOrg: MyLib /, а не местоположение моего локального репозитория плюща. В руководстве Gradle есть только несколько строк, в которых указано, что локальные репозитории по умолчанию не должны использовать кеш, но я нашел способ фактически указать, что мой репозиторий является «по умолчанию» и локальным, и поэтому не должен использовать кеш.
Я пробовал настройку ivy_repo.local = true или с помощью компиляции ('myorg: mylib: 0.1.0') {change = true}, но ни одна из них не работает.
Я не хочу использовать репозиторий flatDir, потому что у локальной библиотеки есть зависимости, которые я хочу, чтобы мой проект находил (и я использую файл ivy, связанный с локальной библиотекой, чтобы сделать это сейчас, и кажется, что репозиторий flatDir игнорирует такие файлы ... или, может быть, я что-то делал там не так?)
Кто-нибудь знает решение? Или, может быть, лучший способ выполнить мою задачу с Gradle?
Спасибо! Кажется, это трюк. Один маленький вопрос: я заметил, что, хотя теперь используется правильный путь класса, библиотеки все еще копируются в кеш. Какая причина, по которой диспетчер кэширования должен копировать файлы, если для useOrigin установлено значение «true»? –