Заинтересован, если кто-то знает способ эффективного добавления sh взаимозависимых модулей в транк CocoaPods с момента обновления CDN Repo.
Допустим, у меня есть 2 модуля в monorepo: pod1 и pod2 , где pod1 указан как зависимость для pod2 .
Сценарий в моем конвейере CI увеличивает версии модулей и зависимости в соответствующих файлах spe c.
pod1.podspe c:
...
s.version = 1.0.1
pod2.podspe c:
...
s.version = 1.4.4
s.dependency 'pod1', '1.0.1'
Сценарий затем толкает модули в Trunk один за другим:
pod push pod1.podspec
успешно передает в Trunk новую версию (1.0.1) pod push pod2.podspec
- не проходит проверку и ошибки например, с помощью
-> pod2 (1.4.4)
- ERROR | [iOS] unknown: Encountered an unknown error (CocoaPods could not find compatible versions for pod "pod1":
In Podfile:
pod2 was resolved to 1.4.4, which depends on
pod1 (= 1.0.1)
Если я подожду 5 минут, а затем снова запущу pod push pod2.podspec
, это будет успешно.
Похоже, что объекты в CDN Repo имеют TTL ~ 5 минут
Можно было бы заставить скрипт развертывания ждать 5 минут после каждого pu pu sh, но это неоптимально, особенно для монорепос со многими взаимозависимыми модулями. Я думал об ослаблении требования к версии, например, s.dependency 'pod1', '~> 1.0.1'
, но это не всегда приемлемый вариант.
Мне не удалось найти много информации об этом, поэтому я хотел узнать, есть ли у кого-нибудь пришли к лучшим решениям этой проблемы.