Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error: redefinition of module when building Swift library importing objc_library #310

Open
thedavidharris opened this issue Sep 12, 2019 · 15 comments

Comments

@thedavidharris
Copy link

I'm trying to build RxSwift/RxCocoa (from https://github.com/ReactiveX/RxSwift) with Bazel, and getting some errors I can't quite figure out when trying to import the objc_library target for the RxCocoaRuntime into RxCocoa. I think I've got it structured right, but it looks like it's defining multiple modulemaps for RxSwift along the way, potentially due the the cross-language imports?

load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library")


swift_library(
    name = "RxRelay",
    module_name = "RxRelay",
    srcs = glob([
        "Sources/RxRelay/**/*.swift"
    ]),
    deps = [":RxSwift"],
    visibility = ["//visibility:public"],
)

swift_library(
    name = "RxCocoa",
    module_name = "RxCocoa",
    srcs = glob([
        "Sources/RxCocoa/**/*.swift"
    ]),
    deps = [":RxSwift", ":RxRelay", ":RxCocoaRuntime"],
    visibility = ["//visibility:public"],
)

objc_library(
    name = "RxCocoaRuntime",
    module_name = "RxCocoaRuntime",
    srcs = glob([
        "Sources/RxCocoaRuntime/**/*.m"
    ]),
    hdrs = glob([
        "Sources/RxCocoaRuntime/include/*.h"
    ]),
    deps = [":RxSwift"],
    visibility = ["//visibility:public"],
)

swift_library(
    name = "RxSwift",
    module_name = "RxSwift",
    srcs = glob([
        "Sources/RxSwift/**/*.swift"
    ]),
    visibility = ["//visibility:public"],
)

Full error output:

ERROR: /Users/dharr419/workspace/libraries/RxSwift/BUILD:15:1: Compiling Swift module RxCocoa failed (Exit 1)/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.mod
ulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1
:8: note: previously defined here
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: note: previously defined here
module "RxSwift" {
       ^
<unknown>:0: error: could not build Objective-C module 'SwiftShims'
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: note: previously defined here
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: note: previously defined here
module "RxSwift" {
       ^
<unknown>:0: error: could not build Objective-C module 'SwiftShims'
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: note: previously defined here
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: note: previously defined here
module "RxSwift" {
       ^
<unknown>:0: error: could not build Objective-C module 'SwiftShims'
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: note: previously defined here
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: note: previously defined here
module "RxSwift" {
       ^
<unknown>:0: error: could not build Objective-C module 'SwiftShims'
Target //:RxCocoa failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 42.837s, Critical Path: 18.90s
INFO: 203 processes: 203 darwin-sandbox.
FAILED: Build did NOT complete successfully

dharr419 at MGC12XF2SWJGH6 in ~/workspace/libraries/RxSwift on master [?]
$ bazel 'build' '//:RxCocoa' --apple_platform_type=ios
INFO: Analyzed target //:RxCocoa (1 packages loaded, 7 targets configured).
INFO: Found 1 target...
ERROR: /Users/dharr419/workspace/libraries/RxSwift/BUILD:15:1: Compiling Swift module RxCocoa failed (Exit 1)
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.mod
ulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: note: previously defined here
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: note: previously defined here
module "RxSwift" {
       ^
<unknown>:0: error: could not build Objective-C module 'SwiftShims'
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: note: previously defined here
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: note: previously defined here
module "RxSwift" {
       ^
<unknown>:0: error: could not build Objective-C module 'SwiftShims'
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: note: previously defined here
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: note: previously defined here
module "RxSwift" {
       ^
<unknown>:0: error: could not build Objective-C module 'SwiftShims'
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: note: previously defined here
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: error: redefinition of module 'RxSwift'
module "RxSwift" {
       ^
/private/var/tmp/_bazel_dharr419/1deac4b84aa52cf673763db2d3d00eb1/execroot/__main__/bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap:1:8: note: previously defined here
module "RxSwift" {
       ^
<unknown>:0: error: could not build Objective-C module 'SwiftShims'
Target //:RxCocoa failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 0.709s, Critical Path: 0.53s
INFO: 4 processes: 4 darwin-sandbox.
FAILED: Build did NOT complete successfully

The module map in question just reads:

module "RxSwift" {
  header "../RxSwift-Swift.h"
}
@allevato
Copy link
Member

The really puzzling thing here is that the compiler is seeing the module map as an input from two different configurations: bazel-out/apl-ios_x86_64-fastbuild and bazel-out/darwin-fastbuild. I'm not sure why that would happen; the compilation rules don't do any configuration transitions of their own.

You say --apple_platform_type=ios in your command line, but I wonder if that's not enough? What happens if you also add --ios_multi_cpus=x86_64?

If that doesn't change anything, can you run bazel aquery :RxCocoa --apple_platform_type=ios and paste the output here?

@thedavidharris
Copy link
Author

That didn't work either.

action 'Writing file RxCocoa.output_file_map.json'
  Mnemonic: FileWrite
  Target: //:RxCocoa
  Configuration: darwin-fastbuild
  ActionKey: dd0fcfb69431d43449cda1e979275b96
  Inputs: []
  Outputs: [bazel-out/darwin-fastbuild/bin/RxCocoa.output_file_map.json]

action 'Writing file RxCocoa.modulemaps/module.modulemap'
  Mnemonic: FileWrite
  Target: //:RxCocoa
  Configuration: darwin-fastbuild
  ActionKey: db27ad4790500e0042c6d0366ed8d171
  Inputs: []
  Outputs: [bazel-out/darwin-fastbuild/bin/RxCocoa.modulemaps/module.modulemap]

action 'Compiling Swift module RxCocoa'
  Mnemonic: SwiftCompile
  Target: //:RxCocoa
  Configuration: darwin-fastbuild
  ActionKey: 364987a62260352bc242463285022e51
  Inputs: [Sources/RxCocoa/BehaviorRelay+Driver.swift, Sources/RxCocoa/Binder.swift, Sources/RxCocoa/ControlEvent+Driver.swift, Sources/RxCocoa/ControlEvent+Signal.swift, Sources/RxCocoa/ControlEvent.swift, Sources/RxCocoa/ControlProperty+Driver.swift, Sources/RxCocoa/ControlProperty.swift, Sources/RxCocoa/ControlTarget.swift, Sources/RxCocoa/DelegateProxy.swift, Sources/RxCocoa/DelegateProxyType.swift, Sources/RxCocoa/Deprecated.swift, Sources/RxCocoa/DispatchQueue+Extensions.swift, Sources/RxCocoa/Driver+Subscription.swift, Sources/RxCocoa/Driver.swift, Sources/RxCocoa/ItemEvents.swift, Sources/RxCocoa/KVORepresentable+CoreGraphics.swift, Sources/RxCocoa/KVORepresentable+Swift.swift, Sources/RxCocoa/KVORepresentable.swift, Sources/RxCocoa/KeyPathBinder.swift, Sources/RxCocoa/Logging.swift, Sources/RxCocoa/NSButton+Rx.swift, Sources/RxCocoa/NSControl+Rx.swift, Sources/RxCocoa/NSImageView+Rx.swift, Sources/RxCocoa/NSLayoutConstraint+Rx.swift, Sources/RxCocoa/NSObject+Rx+KVORepresentable.swift, Sources/RxCocoa/NSObject+Rx+RawRepresentable.swift, Sources/RxCocoa/NSObject+Rx.swift, Sources/RxCocoa/NSSlider+Rx.swift, Sources/RxCocoa/NSTextField+Rx.swift, Sources/RxCocoa/NSTextStorage+Rx.swift, Sources/RxCocoa/NSTextView+Rx.swift, Sources/RxCocoa/NSView+Rx.swift, Sources/RxCocoa/NotificationCenter+Rx.swift, Sources/RxCocoa/Observable+Bind.swift, Sources/RxCocoa/ObservableConvertibleType+Driver.swift, Sources/RxCocoa/ObservableConvertibleType+SharedSequence.swift, Sources/RxCocoa/ObservableConvertibleType+Signal.swift, Sources/RxCocoa/PublishRelay+Signal.swift, Sources/RxCocoa/RxCocoa.swift, Sources/RxCocoa/RxCocoaObjCRuntimeError+Extensions.swift, Sources/RxCocoa/RxCollectionViewDataSourcePrefetchingProxy.swift, Sources/RxCocoa/RxCollectionViewDataSourceProxy.swift, Sources/RxCocoa/RxCollectionViewDataSourceType.swift, Sources/RxCocoa/RxCollectionViewDelegateProxy.swift, Sources/RxCocoa/RxCollectionViewReactiveArrayDataSource.swift, Sources/RxCocoa/RxNavigationControllerDelegateProxy.swift, Sources/RxCocoa/RxPickerViewAdapter.swift, Sources/RxCocoa/RxPickerViewDataSourceProxy.swift, Sources/RxCocoa/RxPickerViewDataSourceType.swift, Sources/RxCocoa/RxPickerViewDelegateProxy.swift, Sources/RxCocoa/RxScrollViewDelegateProxy.swift, Sources/RxCocoa/RxSearchBarDelegateProxy.swift, Sources/RxCocoa/RxSearchControllerDelegateProxy.swift, Sources/RxCocoa/RxTabBarControllerDelegateProxy.swift, Sources/RxCocoa/RxTabBarDelegateProxy.swift, Sources/RxCocoa/RxTableViewDataSourcePrefetchingProxy.swift, Sources/RxCocoa/RxTableViewDataSourceProxy.swift, Sources/RxCocoa/RxTableViewDataSourceType.swift, Sources/RxCocoa/RxTableViewDelegateProxy.swift, Sources/RxCocoa/RxTableViewReactiveArrayDataSource.swift, Sources/RxCocoa/RxTarget.swift, Sources/RxCocoa/RxTextStorageDelegateProxy.swift, Sources/RxCocoa/RxTextViewDelegateProxy.swift, Sources/RxCocoa/RxWebViewDelegateProxy.swift, Sources/RxCocoa/SchedulerType+SharedSequence.swift, Sources/RxCocoa/SectionedViewDataSourceType.swift, Sources/RxCocoa/SharedSequence+Operators+arity.swift, Sources/RxCocoa/SharedSequence+Operators.swift, Sources/RxCocoa/SharedSequence.swift, Sources/RxCocoa/Signal+Subscription.swift, Sources/RxCocoa/Signal.swift, Sources/RxCocoa/TextInput.swift, Sources/RxCocoa/UIActivityIndicatorView+Rx.swift, Sources/RxCocoa/UIAlertAction+Rx.swift, Sources/RxCocoa/UIApplication+Rx.swift, Sources/RxCocoa/UIBarButtonItem+Rx.swift, Sources/RxCocoa/UIButton+Rx.swift, Sources/RxCocoa/UICollectionView+Rx.swift, Sources/RxCocoa/UIControl+Rx.swift, Sources/RxCocoa/UIDatePicker+Rx.swift, Sources/RxCocoa/UIGestureRecognizer+Rx.swift, Sources/RxCocoa/UIImageView+Rx.swift, Sources/RxCocoa/UILabel+Rx.swift, Sources/RxCocoa/UINavigationController+Rx.swift, Sources/RxCocoa/UINavigationItem+Rx.swift, Sources/RxCocoa/UIPageControl+Rx.swift, Sources/RxCocoa/UIPickerView+Rx.swift, Sources/RxCocoa/UIProgressView+Rx.swift, Sources/RxCocoa/UIRefreshControl+Rx.swift, Sources/RxCocoa/UIScrollView+Rx.swift, Sources/RxCocoa/UISearchBar+Rx.swift, Sources/RxCocoa/UISearchController+Rx.swift, Sources/RxCocoa/UISegmentedControl+Rx.swift, Sources/RxCocoa/UISlider+Rx.swift, Sources/RxCocoa/UIStepper+Rx.swift, Sources/RxCocoa/UISwitch+Rx.swift, Sources/RxCocoa/UITabBar+Rx.swift, Sources/RxCocoa/UITabBarController+Rx.swift, Sources/RxCocoa/UITabBarItem+Rx.swift, Sources/RxCocoa/UITableView+Rx.swift, Sources/RxCocoa/UITextField+Rx.swift, Sources/RxCocoa/UITextView+Rx.swift, Sources/RxCocoa/UIView+Rx.swift, Sources/RxCocoa/UIViewController+Rx.swift, Sources/RxCocoa/UIWebView+Rx.swift, Sources/RxCocoa/URLSession+Rx.swift, Sources/RxCocoaRuntime/include/RxCocoaRuntime.h, Sources/RxCocoaRuntime/include/_RX.h, Sources/RxCocoaRuntime/include/_RXDelegateProxy.h, Sources/RxCocoaRuntime/include/_RXKVOObserver.h, Sources/RxCocoaRuntime/include/_RXObjCRuntime.h, bazel-out/apl-ios_x86_64-fastbuild/bin/RxCocoaRuntime.modulemaps/module.modulemap, bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift-Swift.h, bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap, bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa.output_file_map.json, bazel-out/darwin-fastbuild/bin/RxRelay-Swift.h, bazel-out/darwin-fastbuild/bin/RxRelay.modulemaps/module.modulemap, bazel-out/darwin-fastbuild/bin/RxRelay.swiftmodule, bazel-out/darwin-fastbuild/bin/RxSwift-Swift.h, bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap, bazel-out/darwin-fastbuild/bin/RxSwift.swiftmodule, bazel-out/host/bin/external/build_bazel_rules_swift/tools/worker/worker, external/local_config_cc/cc_wrapper.sh, external/local_config_cc/libtool, external/local_config_cc/make_hashed_objlist.py, external/local_config_cc/wrapped_ar, external/local_config_cc/wrapped_clang, external/local_config_cc/wrapped_clang_pp, external/local_config_cc/xcrunwrapper.sh]
  Outputs: [bazel-out/darwin-fastbuild/bin/RxCocoa-Swift.h, bazel-out/darwin-fastbuild/bin/RxCocoa.swiftdeps, bazel-out/darwin-fastbuild/bin/RxCocoa.swiftdoc, bazel-out/darwin-fastbuild/bin/RxCocoa.swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/BehaviorRelay+Driver.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/BehaviorRelay+Driver.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Binder.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Binder.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlEvent+Driver.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlEvent+Driver.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlEvent+Signal.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlEvent+Signal.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlEvent.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlEvent.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlProperty+Driver.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlProperty+Driver.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlProperty.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlProperty.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlTarget.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlTarget.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/DelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/DelegateProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/DelegateProxyType.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/DelegateProxyType.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Deprecated.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Deprecated.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/DispatchQueue+Extensions.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/DispatchQueue+Extensions.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Driver+Subscription.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Driver+Subscription.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Driver.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Driver.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ItemEvents.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ItemEvents.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KVORepresentable+CoreGraphics.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KVORepresentable+CoreGraphics.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KVORepresentable+Swift.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KVORepresentable+Swift.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KVORepresentable.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KVORepresentable.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KeyPathBinder.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KeyPathBinder.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Logging.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Logging.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSButton+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSButton+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSControl+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSControl+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSImageView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSImageView+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSLayoutConstraint+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSLayoutConstraint+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSObject+Rx+KVORepresentable.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSObject+Rx+KVORepresentable.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSObject+Rx+RawRepresentable.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSObject+Rx+RawRepresentable.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSObject+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSObject+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSSlider+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSSlider+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSTextField+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSTextField+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSTextStorage+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSTextStorage+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSTextView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSTextView+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSView+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NotificationCenter+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NotificationCenter+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Observable+Bind.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Observable+Bind.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ObservableConvertibleType+Driver.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ObservableConvertibleType+Driver.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ObservableConvertibleType+SharedSequence.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ObservableConvertibleType+SharedSequence.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ObservableConvertibleType+Signal.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ObservableConvertibleType+Signal.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/PublishRelay+Signal.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/PublishRelay+Signal.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCocoa.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCocoa.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCocoaObjCRuntimeError+Extensions.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCocoaObjCRuntimeError+Extensions.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDataSourcePrefetchingProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDataSourcePrefetchingProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDataSourceProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDataSourceProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDataSourceType.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDataSourceType.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDelegateProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewReactiveArrayDataSource.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewReactiveArrayDataSource.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxNavigationControllerDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxNavigationControllerDelegateProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewAdapter.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewAdapter.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewDataSourceProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewDataSourceProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewDataSourceType.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewDataSourceType.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewDelegateProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxScrollViewDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxScrollViewDelegateProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxSearchBarDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxSearchBarDelegateProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxSearchControllerDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxSearchControllerDelegateProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTabBarControllerDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTabBarControllerDelegateProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTabBarDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTabBarDelegateProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDataSourcePrefetchingProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDataSourcePrefetchingProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDataSourceProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDataSourceProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDataSourceType.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDataSourceType.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDelegateProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewReactiveArrayDataSource.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewReactiveArrayDataSource.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTarget.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTarget.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTextStorageDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTextStorageDelegateProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTextViewDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTextViewDelegateProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxWebViewDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxWebViewDelegateProxy.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SchedulerType+SharedSequence.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SchedulerType+SharedSequence.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SectionedViewDataSourceType.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SectionedViewDataSourceType.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SharedSequence+Operators+arity.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SharedSequence+Operators+arity.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SharedSequence+Operators.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SharedSequence+Operators.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SharedSequence.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SharedSequence.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Signal+Subscription.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Signal+Subscription.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Signal.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Signal.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/TextInput.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/TextInput.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIActivityIndicatorView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIActivityIndicatorView+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIAlertAction+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIAlertAction+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIApplication+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIApplication+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIBarButtonItem+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIBarButtonItem+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIButton+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIButton+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UICollectionView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UICollectionView+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIControl+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIControl+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIDatePicker+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIDatePicker+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIGestureRecognizer+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIGestureRecognizer+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIImageView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIImageView+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UILabel+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UILabel+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UINavigationController+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UINavigationController+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UINavigationItem+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UINavigationItem+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIPageControl+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIPageControl+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIPickerView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIPickerView+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIProgressView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIProgressView+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIRefreshControl+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIRefreshControl+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIScrollView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIScrollView+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISearchBar+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISearchBar+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISearchController+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISearchController+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISegmentedControl+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISegmentedControl+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISlider+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISlider+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIStepper+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIStepper+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISwitch+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISwitch+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITabBar+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITabBar+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITabBarController+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITabBarController+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITabBarItem+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITabBarItem+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITableView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITableView+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITextField+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITextField+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITextView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITextView+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIView+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIViewController+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIViewController+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIWebView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIWebView+Rx.swift.partial_swiftmodule, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/URLSession+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/URLSession+Rx.swift.partial_swiftmodule]
  Environment: [APPLE_SDK_PLATFORM=iPhoneSimulator, APPLE_SDK_VERSION_OVERRIDE=13.0, XCODE_VERSION_OVERRIDE=11.0.0.11A419c]
  Command Line: (exec bazel-out/host/bin/external/build_bazel_rules_swift/tools/worker/worker \
    swiftc \
    '-Xwrapped-swift=-ephemeral-module-cache' \
    '-Xwrapped-swift=-debug-prefix-pwd-is-dot' \
    -emit-object \
    -output-file-map \
    bazel-out/darwin-fastbuild/bin/RxCocoa.output_file_map.json \
    -emit-module-path \
    bazel-out/darwin-fastbuild/bin/RxCocoa.swiftmodule \
    -module-name \
    RxCocoa \
    -Onone \
    -DDEBUG \
    -Xfrontend \
    -serialize-debugging-options \
    -enable-testing \
    -gline-tables-only \
    -Xfrontend \
    -color-diagnostics \
    -enable-batch-mode \
    -Xcc \
    -iquotebazel-out/darwin-fastbuild/bin \
    -Ibazel-out/darwin-fastbuild/bin \
    -Ibazel-out/darwin-fastbuild/bin \
    -Ibazel-out/apl-ios_x86_64-fastbuild/bin \
    -Ibazel-out/darwin-fastbuild/bin \
    -Ibazel-out/apl-ios_x86_64-fastbuild/bin \
    -Xcc \
    -iquote. \
    -Xcc \
    '-fmodule-map-file=bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap' \
    -Xcc \
    '-fmodule-map-file=bazel-out/darwin-fastbuild/bin/RxRelay.modulemaps/module.modulemap' \
    -Xcc \
    '-fmodule-map-file=bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap' \
    -Xcc \
    '-fmodule-map-file=bazel-out/apl-ios_x86_64-fastbuild/bin/RxCocoaRuntime.modulemaps/module.modulemap' \
    -target \
    x86_64-apple-ios13.0-simulator \
    -sdk \
    __BAZEL_XCODE_SDKROOT__ \
    -F \
    __BAZEL_XCODE_DEVELOPER_DIR__/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks \
    -parse-as-library \
    -Xcc \
    -O0 \
    -Xcc \
    '-DDEBUG=1' \
    Sources/RxCocoa/BehaviorRelay+Driver.swift \
    Sources/RxCocoa/Binder.swift \
    Sources/RxCocoa/ControlEvent+Driver.swift \
    Sources/RxCocoa/ControlEvent+Signal.swift \
    Sources/RxCocoa/ControlEvent.swift \
    Sources/RxCocoa/ControlProperty+Driver.swift \
    Sources/RxCocoa/ControlProperty.swift \
    Sources/RxCocoa/ControlTarget.swift \
    Sources/RxCocoa/DelegateProxy.swift \
    Sources/RxCocoa/DelegateProxyType.swift \
    Sources/RxCocoa/Deprecated.swift \
    Sources/RxCocoa/DispatchQueue+Extensions.swift \
    Sources/RxCocoa/Driver+Subscription.swift \
    Sources/RxCocoa/Driver.swift \
    Sources/RxCocoa/ItemEvents.swift \
    Sources/RxCocoa/KVORepresentable+CoreGraphics.swift \
    Sources/RxCocoa/KVORepresentable+Swift.swift \
    Sources/RxCocoa/KVORepresentable.swift \
    Sources/RxCocoa/KeyPathBinder.swift \
    Sources/RxCocoa/Logging.swift \
    Sources/RxCocoa/NSButton+Rx.swift \
    Sources/RxCocoa/NSControl+Rx.swift \
    Sources/RxCocoa/NSImageView+Rx.swift \
    Sources/RxCocoa/NSLayoutConstraint+Rx.swift \
    Sources/RxCocoa/NSObject+Rx+KVORepresentable.swift \
    Sources/RxCocoa/NSObject+Rx+RawRepresentable.swift \
    Sources/RxCocoa/NSObject+Rx.swift \
    Sources/RxCocoa/NSSlider+Rx.swift \
    Sources/RxCocoa/NSTextField+Rx.swift \
    Sources/RxCocoa/NSTextStorage+Rx.swift \
    Sources/RxCocoa/NSTextView+Rx.swift \
    Sources/RxCocoa/NSView+Rx.swift \
    Sources/RxCocoa/NotificationCenter+Rx.swift \
    Sources/RxCocoa/Observable+Bind.swift \
    Sources/RxCocoa/ObservableConvertibleType+Driver.swift \
    Sources/RxCocoa/ObservableConvertibleType+SharedSequence.swift \
    Sources/RxCocoa/ObservableConvertibleType+Signal.swift \
    Sources/RxCocoa/PublishRelay+Signal.swift \
    Sources/RxCocoa/RxCocoa.swift \
    Sources/RxCocoa/RxCocoaObjCRuntimeError+Extensions.swift \
    Sources/RxCocoa/RxCollectionViewDataSourcePrefetchingProxy.swift \
    Sources/RxCocoa/RxCollectionViewDataSourceProxy.swift \
    Sources/RxCocoa/RxCollectionViewDataSourceType.swift \
    Sources/RxCocoa/RxCollectionViewDelegateProxy.swift \
    Sources/RxCocoa/RxCollectionViewReactiveArrayDataSource.swift \
    Sources/RxCocoa/RxNavigationControllerDelegateProxy.swift \
    Sources/RxCocoa/RxPickerViewAdapter.swift \
    Sources/RxCocoa/RxPickerViewDataSourceProxy.swift \
    Sources/RxCocoa/RxPickerViewDataSourceType.swift \
    Sources/RxCocoa/RxPickerViewDelegateProxy.swift \
    Sources/RxCocoa/RxScrollViewDelegateProxy.swift \
    Sources/RxCocoa/RxSearchBarDelegateProxy.swift \
    Sources/RxCocoa/RxSearchControllerDelegateProxy.swift \
    Sources/RxCocoa/RxTabBarControllerDelegateProxy.swift \
    Sources/RxCocoa/RxTabBarDelegateProxy.swift \
    Sources/RxCocoa/RxTableViewDataSourcePrefetchingProxy.swift \
    Sources/RxCocoa/RxTableViewDataSourceProxy.swift \
    Sources/RxCocoa/RxTableViewDataSourceType.swift \
    Sources/RxCocoa/RxTableViewDelegateProxy.swift \
    Sources/RxCocoa/RxTableViewReactiveArrayDataSource.swift \
    Sources/RxCocoa/RxTarget.swift \
    Sources/RxCocoa/RxTextStorageDelegateProxy.swift \
    Sources/RxCocoa/RxTextViewDelegateProxy.swift \
    Sources/RxCocoa/RxWebViewDelegateProxy.swift \
    Sources/RxCocoa/SchedulerType+SharedSequence.swift \
    Sources/RxCocoa/SectionedViewDataSourceType.swift \
    Sources/RxCocoa/SharedSequence+Operators+arity.swift \
    Sources/RxCocoa/SharedSequence+Operators.swift \
    Sources/RxCocoa/SharedSequence.swift \
    Sources/RxCocoa/Signal+Subscription.swift \
    Sources/RxCocoa/Signal.swift \
    Sources/RxCocoa/TextInput.swift \
    Sources/RxCocoa/UIActivityIndicatorView+Rx.swift \
    Sources/RxCocoa/UIAlertAction+Rx.swift \
    Sources/RxCocoa/UIApplication+Rx.swift \
    Sources/RxCocoa/UIBarButtonItem+Rx.swift \
    Sources/RxCocoa/UIButton+Rx.swift \
    Sources/RxCocoa/UICollectionView+Rx.swift \
    Sources/RxCocoa/UIControl+Rx.swift \
    Sources/RxCocoa/UIDatePicker+Rx.swift \
    Sources/RxCocoa/UIGestureRecognizer+Rx.swift \
    Sources/RxCocoa/UIImageView+Rx.swift \
    Sources/RxCocoa/UILabel+Rx.swift \
    Sources/RxCocoa/UINavigationController+Rx.swift \
    Sources/RxCocoa/UINavigationItem+Rx.swift \
    Sources/RxCocoa/UIPageControl+Rx.swift \
    Sources/RxCocoa/UIPickerView+Rx.swift \
    Sources/RxCocoa/UIProgressView+Rx.swift \
    Sources/RxCocoa/UIRefreshControl+Rx.swift \
    Sources/RxCocoa/UIScrollView+Rx.swift \
    Sources/RxCocoa/UISearchBar+Rx.swift \
    Sources/RxCocoa/UISearchController+Rx.swift \
    Sources/RxCocoa/UISegmentedControl+Rx.swift \
    Sources/RxCocoa/UISlider+Rx.swift \
    Sources/RxCocoa/UIStepper+Rx.swift \
    Sources/RxCocoa/UISwitch+Rx.swift \
    Sources/RxCocoa/UITabBar+Rx.swift \
    Sources/RxCocoa/UITabBarController+Rx.swift \
    Sources/RxCocoa/UITabBarItem+Rx.swift \
    Sources/RxCocoa/UITableView+Rx.swift \
    Sources/RxCocoa/UITextField+Rx.swift \
    Sources/RxCocoa/UITextView+Rx.swift \
    Sources/RxCocoa/UIView+Rx.swift \
    Sources/RxCocoa/UIViewController+Rx.swift \
    Sources/RxCocoa/UIWebView+Rx.swift \
    Sources/RxCocoa/URLSession+Rx.swift \
    -emit-objc-header-path \
    bazel-out/darwin-fastbuild/bin/RxCocoa-Swift.h)
  ExecutionInfo: {requires-darwin: '', supports-workers: 1}

action 'Linking libRxCocoa.a'
  Mnemonic: SwiftArchive
  Target: //:RxCocoa
  Configuration: darwin-fastbuild
  ActionKey: 311d0cee3837457314a78971d2db6660
  Inputs: [bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/BehaviorRelay+Driver.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Binder.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlEvent+Driver.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlEvent+Signal.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlEvent.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlProperty+Driver.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlProperty.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlTarget.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/DelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/DelegateProxyType.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Deprecated.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/DispatchQueue+Extensions.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Driver+Subscription.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Driver.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ItemEvents.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KVORepresentable+CoreGraphics.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KVORepresentable+Swift.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KVORepresentable.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KeyPathBinder.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Logging.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSButton+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSControl+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSImageView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSLayoutConstraint+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSObject+Rx+KVORepresentable.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSObject+Rx+RawRepresentable.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSObject+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSSlider+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSTextField+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSTextStorage+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSTextView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NotificationCenter+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Observable+Bind.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ObservableConvertibleType+Driver.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ObservableConvertibleType+SharedSequence.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ObservableConvertibleType+Signal.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/PublishRelay+Signal.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCocoa.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCocoaObjCRuntimeError+Extensions.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDataSourcePrefetchingProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDataSourceProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDataSourceType.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewReactiveArrayDataSource.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxNavigationControllerDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewAdapter.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewDataSourceProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewDataSourceType.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxScrollViewDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxSearchBarDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxSearchControllerDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTabBarControllerDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTabBarDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDataSourcePrefetchingProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDataSourceProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDataSourceType.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewReactiveArrayDataSource.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTarget.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTextStorageDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTextViewDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxWebViewDelegateProxy.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SchedulerType+SharedSequence.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SectionedViewDataSourceType.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SharedSequence+Operators+arity.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SharedSequence+Operators.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SharedSequence.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Signal+Subscription.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Signal.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/TextInput.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIActivityIndicatorView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIAlertAction+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIApplication+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIBarButtonItem+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIButton+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UICollectionView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIControl+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIDatePicker+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIGestureRecognizer+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIImageView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UILabel+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UINavigationController+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UINavigationItem+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIPageControl+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIPickerView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIProgressView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIRefreshControl+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIScrollView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISearchBar+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISearchController+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISegmentedControl+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISlider+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIStepper+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISwitch+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITabBar+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITabBarController+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITabBarItem+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITableView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITextField+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITextView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIViewController+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIWebView+Rx.swift.o, bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/URLSession+Rx.swift.o, external/local_config_cc/cc_wrapper.sh, external/local_config_cc/libtool, external/local_config_cc/make_hashed_objlist.py, external/local_config_cc/wrapped_ar, external/local_config_cc/wrapped_clang, external/local_config_cc/wrapped_clang_pp, external/local_config_cc/xcrunwrapper.sh]
  Outputs: [bazel-out/darwin-fastbuild/bin/libRxCocoa.a]
  Environment: [APPLE_SDK_PLATFORM=MacOSX, APPLE_SDK_VERSION_OVERRIDE=10.15, XCODE_VERSION_OVERRIDE=11.0.0.11A419c]
  Command Line: (exec external/local_config_cc/wrapped_ar \
    rcS \
    bazel-out/darwin-fastbuild/bin/libRxCocoa.a \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/BehaviorRelay+Driver.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Binder.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlEvent+Driver.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlEvent+Signal.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlEvent.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlProperty+Driver.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlProperty.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ControlTarget.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/DelegateProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/DelegateProxyType.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Deprecated.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/DispatchQueue+Extensions.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Driver+Subscription.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Driver.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ItemEvents.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KVORepresentable+CoreGraphics.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KVORepresentable+Swift.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KVORepresentable.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/KeyPathBinder.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Logging.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSButton+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSControl+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSImageView+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSLayoutConstraint+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSObject+Rx+KVORepresentable.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSObject+Rx+RawRepresentable.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSObject+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSSlider+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSTextField+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSTextStorage+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSTextView+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NSView+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/NotificationCenter+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Observable+Bind.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ObservableConvertibleType+Driver.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ObservableConvertibleType+SharedSequence.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/ObservableConvertibleType+Signal.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/PublishRelay+Signal.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCocoa.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCocoaObjCRuntimeError+Extensions.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDataSourcePrefetchingProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDataSourceProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDataSourceType.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewDelegateProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxCollectionViewReactiveArrayDataSource.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxNavigationControllerDelegateProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewAdapter.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewDataSourceProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewDataSourceType.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxPickerViewDelegateProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxScrollViewDelegateProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxSearchBarDelegateProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxSearchControllerDelegateProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTabBarControllerDelegateProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTabBarDelegateProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDataSourcePrefetchingProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDataSourceProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDataSourceType.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewDelegateProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTableViewReactiveArrayDataSource.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTarget.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTextStorageDelegateProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxTextViewDelegateProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/RxWebViewDelegateProxy.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SchedulerType+SharedSequence.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SectionedViewDataSourceType.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SharedSequence+Operators+arity.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SharedSequence+Operators.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/SharedSequence.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Signal+Subscription.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/Signal.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/TextInput.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIActivityIndicatorView+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIAlertAction+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIApplication+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIBarButtonItem+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIButton+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UICollectionView+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIControl+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIDatePicker+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIGestureRecognizer+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIImageView+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UILabel+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UINavigationController+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UINavigationItem+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIPageControl+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIPickerView+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIProgressView+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIRefreshControl+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIScrollView+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISearchBar+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISearchController+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISegmentedControl+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISlider+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIStepper+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UISwitch+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITabBar+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITabBarController+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITabBarItem+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITableView+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITextField+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UITextView+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIView+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIViewController+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/UIWebView+Rx.swift.o \
    bazel-out/darwin-fastbuild/bin/RxCocoa_objs/Sources/RxCocoa/URLSession+Rx.swift.o)
  ExecutionInfo: {requires-darwin: ''}

It is kinda puzzling.

@allevato
Copy link
Member

    -Xcc \
    '-fmodule-map-file=bazel-out/darwin-fastbuild/bin/RxSwift.modulemaps/module.modulemap' \
    -Xcc \
    '-fmodule-map-file=bazel-out/apl-ios_x86_64-fastbuild/bin/RxSwift.modulemaps/module.modulemap' \

🤔

That's just bizarre.

The only thing I can imagine that's going on here is that :RxCocoa has two paths to :RxSwift: one that's a direct dependency and one that passes through the objc_library, and somehow the one that passes through the objc_library is causing the configuration to change. Then, since the files are seen as different, they're not getting deduped as they're propagated up the graph.

We have a number of mixed language dependencies internally and have never seen this bug, so I'm not sure what's different in external Bazel currently that could be causing this. @keith, have you ever seen anything like this?

@sergiocampama
Copy link
Contributor

objc_library does have a configuration transition, while swift_library does not, so that's how this could be happening.

In order to make this work, usually an apple_binary at the top level sets the configuration transition on deps in a way that makes swift_library and objc_library match. But in this case, since you're building a swift_library directly, there's nothing setting the configuration transition for the swift_library -> swift_library dependency, so it gets the top level configuration (i.e. darwin) and then the swift_library -> objc_library -> swift_library inserting a configuration transition to the value set by --apple_platform_type (i.e. ios).

The objc_library configuration transition sets values that are not exposed into command line flags, so making the configurations match on the command line level won't work for now (and probably never will).

I'd recommend wrapping these targets into an ios_application target that will take care of everything for you, and only building that.

@thedavidharris
Copy link
Author

I'd recommend wrapping these targets into an ios_application target that will take care of everything for you, and only building that.

Tried that and... totally different set of errors now

ios_application(
    name = "ios-app",
    bundle_id = "Empty.RxCocoa",
    families = [
        "iphone",
    ],
    infoplists = [":RxExample/RxExample/Info-iOS.plist"],
    visibility = ["//visibility:public"],
    deps = [":RxCocoa"],
    minimum_os_version = "11.0",
)

bazel build ios-app --apple_platform_type=ios --ios_multi_cpus=x86_64

Errors are mostly like/related to:

[1mSources/RxCocoa/DelegateProxy.swift:23:48: �[0m�[0;1;31merror: �[0m�[1muse of unresolved identifier 'Selector'
�[0m        private var _sentMessageForSelector = [Selector: MessageDispatcher]()
�[0;1;32m                                               ^~~~~~~~
�[0m�[1mSources/RxCocoa/DelegateProxy.swift:24:50: �[0m�[0;1;31merror: �[0m�[1muse of unresolved identifier 'Selector'
�[0m        private var _methodInvokedForSelector = [Selector: MessageDispatcher]()
�[0;1;32m                                                 ^~~~~~~~
�[0m�[1mSources/RxCocoa/DelegateProxy.swift:90:43: �[0m�[0;1;31merror: �[0m�[1muse of undeclared type 'Selector'
�[0m        open func sentMessage(_ selector: Selector) -> Observable<[Any]> {
�[0;1;32m                                          ^~~~~~~~
�[0m�[1mSources/RxCocoa/DelegateProxy.swift:147:45: �[0m�[0;1;31merror: �[0m�[1muse of undeclared type 'Selector'
�[0m        open func methodInvoked(_ selector: Selector) -> Observable<[Any]> {
�[0;1;32m                                            ^~~~~~~~
�[0m�[1mSources/RxCocoa/DelegateProxy.swift:162:64: �[0m�[0;1;31merror: �[0m�[1muse of undeclared type 'Selector'
�[0m        fileprivate func checkSelectorIsObservable(_ selector: Selector) {
�[0;1;32m                                                               ^~~~~~~~
�[0m�[1mSources/RxCocoa/DelegateProxy.swift:184:53: �[0m�[0;1;31merror: �[0m�[1muse of undeclared type 'Selector'
�[0m        open override func _sentMessage(_ selector: Selector, withArguments arguments: [Any]) {

It's not out of the question I've got the targets set up incorrectly but I believe I've mirrored the Swift package and the Podspec correctly as examples.

@sergiocampama
Copy link
Contributor

That looks like an issue with how the targets are set up, and something outside my area of expertise, but at least there are no duplicate interfaces any more :)

@thedavidharris
Copy link
Author

That looks like an issue with how the targets are set up, and something outside my area of expertise, but at least there are no duplicate interfaces any more :)

Yeah, will look into it a bit. The worrying thing to be is that if you just remove the dependency on RxCocoaRuntime for RxCocoa, you get the exact same output as if you try to import it into the ios_application target. Selector is just something in the Objective-C runtime, so I'm not quite sure the way around it.

@thedavidharris
Copy link
Author

So, found a different way to build this (just following Podspec defs and forgetting the objc_library altogether) so going to close, although the objc_library -> swift_library conversion is a bit weird and I can see us running into that again down the road. Hopefully can come up with a clearer example if that's the case.

@thedavidharris
Copy link
Author

thedavidharris commented Sep 12, 2019

Here's the final resolution:

ios_static_framework(
    name = "RxCocoaStaticFramework",
    deps = [":RxCocoa"],
    minimum_os_version = "11.0"
)

swift_library(
    name = "RxCocoa",
    module_name = "RxCocoa",
    srcs = glob([
        carthage_path + "RxSwift/" + "Sources/RxCocoa/**/*.swift"
    ]),
    deps = [":RxSwift", ":RxRelay", ":RxCocoaRuntime"],
    visibility = ["//visibility:public"],
    copts = ["-DSWIFT_PACKAGE"]
)

objc_library(
    name = "RxCocoaRuntime",
    module_name = "RxCocoaRuntime",
    srcs = glob([
        carthage_path + "RxSwift/" + "Sources/RxCocoaRuntime/**/*.m"
    ]),
    hdrs = glob([
        carthage_path + "RxSwift/" + "Sources/RxCocoaRuntime/include/*.h"
    ]),
    deps = [":RxSwift"],
    visibility = ["//visibility:public"],
)

swift_library(
    name = "RxSwift",
    module_name = "RxSwift",
    srcs = glob([
        carthage_path + "RxSwift/" + "Sources/RxSwift/**/*.swift"
    ]),
    visibility = ["//visibility:public"],
)

That builds everything correctly if you build the ios_static_framework; however, it doesn't feel super ideal so I'm wondering what a best practice around this would be. We have numbers of modules that we'd like to run/test independently outside of having to jump right to ios_static_framework, and it feels like giving the platform directive should be enough info to apply the right configuration? Although I'm just getting into this, so I've got some source reading to do.

Appreciate all the help with this, we're just starting our Bazel journeys

@keith
Copy link
Member

keith commented Sep 12, 2019

We haven't hit this case before because we don't have any objc_library targets but this definitely makes sense to me. In our experience you're definitely best off only ever explicitly building ios_* targets because otherwise you won't get the right transitions as Sergio mentioned. I think overall this would be fine if you build your other targets that are setup like this:

ios_unit_test -> swift_library -> this RxSwift target. Then you explicitly build the ios_unit_test target.

@esam091
Copy link

esam091 commented Oct 1, 2019

I am facing the same problem. Is there anything that can be done to solve this? I would like to contribute if there are some guidances.

@thedavidharris
Copy link
Author

thedavidharris commented Oct 1, 2019

Had some other devs take a look and this seems to work? I'm not quite sure what's different but @esam091 if you give it a try, might do the trick

load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library")

swift_library(
    name = "RxRelay",
    srcs = glob([
        "Sources/RxRelay/**/*.swift"
    ]),
    deps = [":RxSwift"],
    visibility = ["//visibility:public"],
)

swift_library(
    name = "RxCocoa",
    module_name = "RxCocoa",
    srcs = glob([
        "Sources/RxCocoa/**/*.swift"
    ]),
    deps = [":RxSwift", ":RxRelay", ":RxCocoaRuntime"],
    visibility = ["//visibility:public"],
    copts = ["-DSWIFT_PACKAGE"]
)

objc_library(
    name = "RxCocoaRuntime",
    module_name = "RxCocoaRuntime",
    srcs = glob([
        "Sources/RxCocoaRuntime/**/*.m"
    ]),
    hdrs = glob([
        "Sources/RxCocoaRuntime/include/*.h"
    ]),
    visibility = ["//visibility:public"],
)

swift_library(
    name = "RxSwift",
    srcs = glob([
        "Sources/RxSwift/**/*.swift"
    ]),
    visibility = ["//visibility:public"],
)

@esam091
Copy link

esam091 commented Oct 2, 2019

I haven't tried that yet, but I finally found a solution that works. For every swift_library you're going to use, you wrap it first in a objc_library.

# Foo/BUILD
objc_library(
  name = 'Foo',
  deps = ['swift'],
  visibility = ['//visibility:public']
)

swift_library(
  name = 'swift',
  srcs = glob(['**/*.swift])
)

# App/BUILD
swift_library(
  name = 'app',
  srcs = glob(['**/*.swift']),
  deps = ['//Foo']
)

The trick is to prevent a Swift module appears twice both in apl-ios_x86_64-fastbuild and darwin-fastbuild, objc_library will convert the paths from darwin-fastbuild to apl-ios_x86_64-fastbuild. It's not a pretty solution, but it works for now 😅.

@thii
Copy link
Member

thii commented Dec 2, 2019

objc_library does have a configuration transition, while swift_library does not, so that's how this could be happening.

@sergiocampama What is needed to make swift_library to have a configuration transition? Wrapping every swift_library target in a objc_library target could make this work for now, but it makes the dependency graph twice more complex.

@allevato
Copy link
Member

allevato commented Dec 2, 2019

What is needed to make swift_library to have a configuration transition?

I don't think that's the approach we want; instead, it would be nice if objc_library didn't have a weird transition that applied flags that can't be set manually from the command line. Since swift_library is written in Starlark, it may not even be possible to duplicate that transition since some prerequisites may not be exposed outside of native Bazel.

Our advice here is still the same—building libraries as standalone targets is not recommended for platforms like Apple's where the libraries themselves can be cross-platform but building them correctly needs to specify a particular platform/OS version. The recommended approach is to use a unit test or application target to apply the right transition throughout the dependency tree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants