pod lib lint --include-podspecs игнорирует зависимость от subpe c другого модуля - PullRequest
0 голосов
/ 13 июля 2020

У меня есть два модуля (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?

...