bazel-xcode / PodToBUILD

An easy way to integrate CocoaPods into Bazel
Apache License 2.0
323 stars 69 forks source link

Header visibility issue for the added Cocoapods dependency #180

Open sanju-naik opened 3 years ago

sanju-naik commented 3 years ago

I tried Integrating CocoaPods dependency using PodToBuild, added new_pod_repository rule to my Workspace file as mentioned in the ReadMe section.

When I run bazel build, getting this header visibility error

ERROR: /Users/sanju/TestProjects/BazelDemoApp/BUILD:13:14: in swift_library rule //:BazelDemoAppTarget: target '@Alamofire//:Alamofire' is not visible from target '//:BazelDemoAppTarget'. Check the visibility declaration of the former target if you think the dependency is legitimate ERROR: Analysis of target '//:BazelDemoApp' failed; build aborted: Analysis of target '//:BazelDemoAppTarget' failed INFO: Elapsed time: 8.222s

Then I checked into the BUILD.bazel file generated by PodToBuild [for the Pod I am integrating]. It doesn't mention visibility so the pod package has become private.

I got it working by manually adding below line to the Build.bazel file of the cocoapod.

package(default_visibility = ["//visibility:public"])

But I believe this should be taken care of by the PodToBuild plugin. Am I missing any config or parameter while setting up new_pod_repository? Any help on this would be appreciated. Thanks in advance.