fermoya/cocoapods-catalyst-support

[BUG] Pod is removed from catalyst builds without adding it to `catalyst_configuration`

Closed this issue · 4 comments

Describe the bug
Hey, we're using a local pod that is always removed from the catalyst build even if we don't specify it in catalyst_configuration. The pod has StoreKit in its name and we suspect an over-eager name matching causes this unnecessary removal.

In a previous version of this script, this line was the main offender in the uninstall function:
lines_to_replace = snippet.filter_lines do |line| line.include? "#{key}" end.to_set.to_a
which we remedied locally by requiring an exact match:
lines_to_replace = snippet.filter_lines do |line| line.match "\/#{key}" end.to_set.to_a

I didn't find the relevant part in the new codebase.

We fixed the issue by renaming the local pod but maybe this is something you'd like to take a look at. Thanks in advance!

Podfile
Relevant part:
pod 'MKStoreKit', :path => '../MKStoreKit'

Environment

  • cocoapods-catalyst-support => 0.1.2
  • Ruby version [e.g 2.6.0] => 2.7.2
  • Cocoapods version [e.g 1.10.0] => 1.10.1
  • Xcode version [e.g 12.2] => 12.4

Hi @tamasjager , the line you mention should be in native_target.rb but this is something that should definitely be solved.

So rather than checking if Foo is included in the bash file your fix tries to match /Foo to avoid fake matches like MKFoo, for instance. Is that right?

Yes. In the meantime my colleague made a PR with the same fix #23.

Thanks @tamasjager . I'll release a version shortly, thanks for the fix

version 0.1.3 released 🚀