У меня есть два модуля (PodA и PodB), где PodA зависит от подкласса c PodB.
Оба модуля находятся в одном репозитории и добавлены как модули разработки в один и тот же проект Xcode. Ни один из них пока не выпущен.
podspe c PodA:
s.source_files = 'PodA/**/*.{swift}'
s.dependency 'PodB/Logic'
podspe c PodB:
s.default_subspec = 'UI'
s.subspec "Logic" do |sp|
sp.source_files = 'PodB/Logic/**/*.{swift}'
end
s.subspec "UI" do |sp|
sp.source_files = 'PodB/UI/**/*.{swift}'
sp.dependency 'PodB/Logic'
end
Linting PodA:
$ pod lib lint PodA.podspec --include-podspecs='*.podspec' --no-clean
Поскольку проект приложения включает PodA и PodB со всеми подспецификациями, можно получить доступ к реализации из «PodB / UI», где нет зависимости должен существовать. Это должно быть покрыто запуском pod lib lint.
При линтинге PodA зависимость от 'PodB / Logi c' игнорируется, и вместо этого во время линтинга будет использоваться полный PodB. Следовательно, линтинг проходит успешно, даже если он использует "недоступный" код из 'PodB / UI'.
Примечание: Если я сначала создаю выпуск PodB и запускаю линтинг для PodA, он работает так, как ожидалось, и учитывает подспецификации PodB
Это предполагаемое поведение? Есть ли способ правильно lint PodA, не выпуская предварительно PodB?