From 4195941a1ea73982d031695e9d22d26aed74b090 Mon Sep 17 00:00:00 2001 From: Matt Robinson Date: Thu, 22 Dec 2022 13:55:01 -0600 Subject: [PATCH 1/6] Validate extension safety only on dynamic frameworks # Summary Only validate the dynamic frameworks (those with `apple_common.AppleDynamicFramework`) when calling the `partials.extension_safe_validation_partial` partial. This mimics the `rules_apple` approach more correctly: https://github.com/bazelbuild/rules_apple/blob/eb5c03a606b103e9f8b72de954103eb00cf127f7/apple/internal/ios_rules.bzl#L1049-L1053 --- rules/internal/framework_middleman.bzl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rules/internal/framework_middleman.bzl b/rules/internal/framework_middleman.bzl index 24f1cf6b0..db2aec5e0 100644 --- a/rules/internal/framework_middleman.bzl +++ b/rules/internal/framework_middleman.bzl @@ -34,11 +34,12 @@ load( def _framework_middleman(ctx): resource_providers = [] objc_providers = [] + dynamic_frameworks = [] dynamic_framework_providers = [] apple_embeddable_infos = [] cc_providers = [] - def _collect_providers(lib_dep): + def _process_dep(lib_dep): if AppleEmbeddableInfo in lib_dep: apple_embeddable_infos.append(lib_dep[AppleEmbeddableInfo]) @@ -53,15 +54,16 @@ def _framework_middleman(ctx): if apple_common.Objc in lib_dep: objc_providers.append(lib_dep[apple_common.Objc]) if apple_common.AppleDynamicFramework in lib_dep: + dynamic_frameworks.append(lib_dep) dynamic_framework_providers.append(lib_dep[apple_common.AppleDynamicFramework]) for dep in ctx.attr.framework_deps: - _collect_providers(dep) + _process_dep(dep) # Loop AvoidDepsInfo here as well if AvoidDepsInfo in dep: for lib_dep in dep[AvoidDepsInfo].libraries: - _collect_providers(lib_dep) + _process_dep(lib_dep) # Here we only need to loop a subset of the keys objc_provider_fields = objc_provider_utils.merge_objc_providers_dict(providers = objc_providers, merge_keys = [ @@ -108,9 +110,7 @@ def _framework_middleman(ctx): partials.extension_safe_validation_partial( is_extension_safe = ctx.attr.extension_safe, rule_label = ctx.label, - # Pass 'ctx.attr.framework_deps' once 'partials.extension_safe_validation_partial' - # is populated on from 'apple_framework_packaging' implementation. - targets_to_validate = ctx.attr.framework_deps, + targets_to_validate = dynamic_frameworks, ), ) From d4717d8bf6ddf9dea1d37c6f23b8398819241fa7 Mon Sep 17 00:00:00 2001 From: Matt Robinson Date: Fri, 23 Dec 2022 09:09:41 -0600 Subject: [PATCH 2/6] Update `rules_apple` to `2.0.0` Update `rules_apple` to https://github.com/bazelbuild/rules_apple/releases/tag/2.0.0: - Handle https://github.com/bazelbuild/rules_apple/commit/c23720d831587b7f72c2245ebafaf0124a2240bc by adding `cc_info` param to `framework_provider_partial` call. - Handle https://github.com/bazelbuild/rules_apple/commit/51d6273a11d25f3fd9e086e131f1e93167e00360 by removing `bin_root_path`/`rule_label` param to `debug_symbols_partial` call. - Handle https://github.com/bazelbuild/rules_apple/commit/a4de2228f1432ccf651a91370b145f26ad441abd by removing the `apple_xcframework.framework_type` param. --- rules/framework.bzl | 3 +-- rules/repositories.bzl | 4 ++-- tests/ios/frameworks/dynamic/BUILD.bazel | 1 - 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/rules/framework.bzl b/rules/framework.bzl index 8b0c21f69..ac49f0731 100644 --- a/rules/framework.bzl +++ b/rules/framework.bzl @@ -691,7 +691,6 @@ def _bundle_dynamic_framework(ctx, is_extension_safe, avoid_deps): ), partials.debug_symbols_partial( actions = actions, - bin_root_path = bin_root_path, bundle_extension = bundle_extension, bundle_name = bundle_name, debug_dependencies = dep_frameworks, @@ -700,7 +699,6 @@ def _bundle_dynamic_framework(ctx, is_extension_safe, avoid_deps): dsym_info_plist_template = apple_mac_toolchain_info.dsym_info_plist_template, executable_name = executable_name, platform_prerequisites = platform_prerequisites, - rule_label = label, ), partials.embedded_bundles_partial( frameworks = [archive_for_embedding], @@ -722,6 +720,7 @@ def _bundle_dynamic_framework(ctx, is_extension_safe, avoid_deps): binary_artifact = binary_artifact, bundle_name = bundle_name, bundle_only = False, + cc_info = link_result.cc_info, objc_provider = link_result.objc, rule_label = label, ), diff --git a/rules/repositories.bzl b/rules/repositories.bzl index 528413220..90b1df050 100644 --- a/rules/repositories.bzl +++ b/rules/repositories.bzl @@ -62,10 +62,10 @@ def rules_ios_dependencies(): _maybe( github_repo, name = "build_bazel_rules_apple", - ref = "f99c3cb7e472ecd68b81ea8dab97609a4b75db06", + ref = "c628b0e4b3261b4627bcd4e9f91e75b4e5eb0e1a", project = "bazelbuild", repo = "rules_apple", - sha256 = "5e82a98a591efda772a5ee96ed17bcad38338aafeba6055daab04a5d6c13ea50", + sha256 = "495ffc13769b81e401d108a47925885c43f9dfccfbb229d4418d509c6cea14be", ) _maybe( diff --git a/tests/ios/frameworks/dynamic/BUILD.bazel b/tests/ios/frameworks/dynamic/BUILD.bazel index 298154169..5c30ea9c9 100644 --- a/tests/ios/frameworks/dynamic/BUILD.bazel +++ b/tests/ios/frameworks/dynamic/BUILD.bazel @@ -35,7 +35,6 @@ apple_xcframework( name = "iOSSwiftXCFramework", bundle_id = "com.google.example", bundle_name = "c", - framework_type = ["dynamic"], infoplists = [ "Info.plist", ], From 03d7453b69bbe4fae37768eda59970c0f36a62d2 Mon Sep 17 00:00:00 2001 From: Matt Robinson Date: Fri, 23 Dec 2022 10:02:33 -0600 Subject: [PATCH 3/6] Update to `rules_swift` `1.5.0` --- rules/repositories.bzl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rules/repositories.bzl b/rules/repositories.bzl index 90b1df050..7c4f48be2 100644 --- a/rules/repositories.bzl +++ b/rules/repositories.bzl @@ -53,10 +53,10 @@ def rules_ios_dependencies(): _maybe( github_repo, name = "build_bazel_rules_swift", - project = "bazel-ios", - ref = "a25aed4e75893a55c1c98524201451c05f66ab89", + project = "bazelbuild", + ref = "cb64a41e3a4c93f67abdfcc0d5f18aa04f02f5b0", repo = "rules_swift", - sha256 = "9f13f4be00dfd6a37d9338e49ebbc337445361134a4bcc668658b96fdbdeaae4", + sha256 = "200a35c2c84096f155a5c6092bac2abf1b2149fbeb3eb730a2923997db079a83", ) _maybe( From c997703ddbdbfbdb252c8f6f75675828a1ae6a13 Mon Sep 17 00:00:00 2001 From: Matt Robinson Date: Fri, 23 Dec 2022 11:01:17 -0600 Subject: [PATCH 4/6] Rename `NestedHeaders/` to `Nested/` This works around https://github.com/bazelbuild/rules_apple/issues/1797. --- tests/ios/unit-test/test-imports-app/BUILD.bazel | 2 +- .../{NestedHeaders => Nested}/BUILD.bazel | 2 +- .../Headers/NestedHeadersShared.h | 0 .../Headers/com/foo/protos/common/A.h | 0 .../Headers/com/foo/protos/common/B.h | 0 .../Headers/com/foo/protos/common/C.h | 0 .../Headers/com/google/protobuf/D.h | 0 .../Headers/src/main/java/com/foo/shared/i18n/E.h | 0 .../Headers/src/main/java/com/foo/shared/i18n/F.h | 0 .../Headers/src/main/java/com/foo/shared/i18n/G.h | 0 .../Headers/src/main/java/com/foo/shared/i18n/H.h | 0 .../Headers/src/main/java/com/foo/shared/i18n/I.h | 0 .../Modules/module.modulemap | 0 .../ios/NestedHeaders.framework/NestedHeaders | Bin .../project.pbxproj | 4 ++-- .../project.pbxproj | 4 ++-- 16 files changed, 6 insertions(+), 6 deletions(-) rename tests/ios/unit-test/test-imports-app/frameworks/{NestedHeaders => Nested}/BUILD.bazel (90%) rename tests/ios/unit-test/test-imports-app/frameworks/{NestedHeaders => Nested}/ios/NestedHeaders.framework/Headers/NestedHeadersShared.h (100%) rename tests/ios/unit-test/test-imports-app/frameworks/{NestedHeaders => Nested}/ios/NestedHeaders.framework/Headers/com/foo/protos/common/A.h (100%) rename tests/ios/unit-test/test-imports-app/frameworks/{NestedHeaders => Nested}/ios/NestedHeaders.framework/Headers/com/foo/protos/common/B.h (100%) rename tests/ios/unit-test/test-imports-app/frameworks/{NestedHeaders => Nested}/ios/NestedHeaders.framework/Headers/com/foo/protos/common/C.h (100%) rename tests/ios/unit-test/test-imports-app/frameworks/{NestedHeaders => Nested}/ios/NestedHeaders.framework/Headers/com/google/protobuf/D.h (100%) rename tests/ios/unit-test/test-imports-app/frameworks/{NestedHeaders => Nested}/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/E.h (100%) rename tests/ios/unit-test/test-imports-app/frameworks/{NestedHeaders => Nested}/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/F.h (100%) rename tests/ios/unit-test/test-imports-app/frameworks/{NestedHeaders => Nested}/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/G.h (100%) rename tests/ios/unit-test/test-imports-app/frameworks/{NestedHeaders => Nested}/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/H.h (100%) rename tests/ios/unit-test/test-imports-app/frameworks/{NestedHeaders => Nested}/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/I.h (100%) rename tests/ios/unit-test/test-imports-app/frameworks/{NestedHeaders => Nested}/ios/NestedHeaders.framework/Modules/module.modulemap (100%) rename tests/ios/unit-test/test-imports-app/frameworks/{NestedHeaders => Nested}/ios/NestedHeaders.framework/NestedHeaders (100%) diff --git a/tests/ios/unit-test/test-imports-app/BUILD.bazel b/tests/ios/unit-test/test-imports-app/BUILD.bazel index 850964341..3c447aecf 100644 --- a/tests/ios/unit-test/test-imports-app/BUILD.bazel +++ b/tests/ios/unit-test/test-imports-app/BUILD.bazel @@ -12,7 +12,7 @@ apple_framework( visibility = ["//visibility:public"], deps = [ "//tests/ios/unit-test/test-imports-app/frameworks/Basic", - "//tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders", + "//tests/ios/unit-test/test-imports-app/frameworks/Nested", ], ) diff --git a/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/BUILD.bazel b/tests/ios/unit-test/test-imports-app/frameworks/Nested/BUILD.bazel similarity index 90% rename from tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/BUILD.bazel rename to tests/ios/unit-test/test-imports-app/frameworks/Nested/BUILD.bazel index 31aaefc43..76ab89599 100644 --- a/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/BUILD.bazel +++ b/tests/ios/unit-test/test-imports-app/frameworks/Nested/BUILD.bazel @@ -1,7 +1,7 @@ load("//rules:framework.bzl", "apple_framework") apple_framework( - name = "NestedHeaders", + name = "Nested", objc_copts = ["-fmodules-disable-diagnostic-validation"], platforms = {"ios": "12.0"}, vendored_static_frameworks = ["ios/NestedHeaders.framework"], diff --git a/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/NestedHeadersShared.h b/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/NestedHeadersShared.h similarity index 100% rename from tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/NestedHeadersShared.h rename to tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/NestedHeadersShared.h diff --git a/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/com/foo/protos/common/A.h b/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/com/foo/protos/common/A.h similarity index 100% rename from tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/com/foo/protos/common/A.h rename to tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/com/foo/protos/common/A.h diff --git a/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/com/foo/protos/common/B.h b/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/com/foo/protos/common/B.h similarity index 100% rename from tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/com/foo/protos/common/B.h rename to tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/com/foo/protos/common/B.h diff --git a/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/com/foo/protos/common/C.h b/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/com/foo/protos/common/C.h similarity index 100% rename from tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/com/foo/protos/common/C.h rename to tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/com/foo/protos/common/C.h diff --git a/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/com/google/protobuf/D.h b/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/com/google/protobuf/D.h similarity index 100% rename from tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/com/google/protobuf/D.h rename to tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/com/google/protobuf/D.h diff --git a/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/E.h b/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/E.h similarity index 100% rename from tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/E.h rename to tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/E.h diff --git a/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/F.h b/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/F.h similarity index 100% rename from tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/F.h rename to tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/F.h diff --git a/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/G.h b/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/G.h similarity index 100% rename from tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/G.h rename to tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/G.h diff --git a/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/H.h b/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/H.h similarity index 100% rename from tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/H.h rename to tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/H.h diff --git a/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/I.h b/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/I.h similarity index 100% rename from tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/I.h rename to tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Headers/src/main/java/com/foo/shared/i18n/I.h diff --git a/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Modules/module.modulemap b/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Modules/module.modulemap similarity index 100% rename from tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/Modules/module.modulemap rename to tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/Modules/module.modulemap diff --git a/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/NestedHeaders b/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/NestedHeaders similarity index 100% rename from tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios/NestedHeaders.framework/NestedHeaders rename to tests/ios/unit-test/test-imports-app/frameworks/Nested/ios/NestedHeaders.framework/NestedHeaders diff --git a/tests/ios/xcodeproj/Test-Imports-App-Project.xcodeproj/project.pbxproj b/tests/ios/xcodeproj/Test-Imports-App-Project.xcodeproj/project.pbxproj index ee2143af2..c3bfa28fd 100755 --- a/tests/ios/xcodeproj/Test-Imports-App-Project.xcodeproj/project.pbxproj +++ b/tests/ios/xcodeproj/Test-Imports-App-Project.xcodeproj/project.pbxproj @@ -380,7 +380,7 @@ BAZEL_SWIFTMODULEFILES_TO_COPY = "bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_App.swiftmodule bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_App.swiftdoc bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_App.swiftsourceinfo"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; HEADER_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT\""; INFOPLIST_FILE = ""; @@ -405,7 +405,7 @@ BAZEL_SWIFTMODULEFILES_TO_COPY = "bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_App.swiftmodule bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_App.swiftdoc bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_App.swiftsourceinfo"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; HEADER_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT\""; INFOPLIST_FILE = ""; diff --git a/tests/macos/xcodeproj/Test-Target-With-Test-Host-Project.xcodeproj/project.pbxproj b/tests/macos/xcodeproj/Test-Target-With-Test-Host-Project.xcodeproj/project.pbxproj index 89f4f1e31..c933ab5e1 100755 --- a/tests/macos/xcodeproj/Test-Target-With-Test-Host-Project.xcodeproj/project.pbxproj +++ b/tests/macos/xcodeproj/Test-Target-With-Test-Host-Project.xcodeproj/project.pbxproj @@ -441,7 +441,7 @@ BAZEL_SWIFTMODULEFILES_TO_COPY = "bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_App.swiftmodule bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_App.swiftdoc bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_App.swiftsourceinfo"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; HEADER_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT\""; INFOPLIST_FILE = ""; @@ -514,7 +514,7 @@ BAZEL_SWIFTMODULEFILES_TO_COPY = "bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_App.swiftmodule bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_App.swiftdoc bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_App.swiftsourceinfo"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/NestedHeaders/ios\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; HEADER_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT\""; INFOPLIST_FILE = ""; From 4fc86307b930358cbd6913665eacb06261efcc0a Mon Sep 17 00:00:00 2001 From: Matt Robinson Date: Mon, 9 Jan 2023 09:37:00 -0700 Subject: [PATCH 5/6] Handle `ObjcProvider.module_map` removal Handle https://github.com/bazelbuild/rules_apple/pull/1552/files or https://github.com/bazelbuild/rules_apple/commit/5d7d31d739a05bd3fd64b24b7ae56c13cd8453e2 by self-identifying the `modulemap` file(s) since the forwarding of them in `ObjcProvider` was removed. --- rules/apple_patched.bzl | 24 +++++++++++++++---- .../unit-test/test-imports-app/BUILD.bazel | 5 ++-- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/rules/apple_patched.bzl b/rules/apple_patched.bzl index 97cfe82dd..9f80e39fe 100644 --- a/rules/apple_patched.bzl +++ b/rules/apple_patched.bzl @@ -5,6 +5,10 @@ load( apple_dynamic_framework_import_original = "apple_dynamic_framework_import", apple_static_framework_import_original = "apple_static_framework_import", ) +load( + "@build_bazel_rules_apple//apple/internal:framework_import_support.bzl", + "framework_import_support", +) load("@build_bazel_rules_apple//apple:providers.bzl", "AppleFrameworkImportInfo") load("@build_bazel_rules_swift//swift/internal:providers.bzl", "SwiftUsageInfo") load("//rules/framework:vfs_overlay.bzl", "make_vfsoverlay") @@ -30,6 +34,7 @@ def apple_dynamic_framework_import(name, **kwargs): _apple_framework_import_modulemap( name = name, legacy_target = legacy_target_label, + framework_imports = kwargs.get("framework_imports", []), visibility = visibility, tags = tags, ) @@ -53,6 +58,7 @@ def apple_static_framework_import(name, **kwargs): _apple_framework_import_modulemap( name = name, legacy_target = legacy_target_label, + framework_imports = kwargs.get("framework_imports", []), visibility = visibility, tags = tags, ) @@ -66,7 +72,7 @@ def _find_imported_framework_name(outputs): return fw_name return None -def _get_framework_info_providers(ctx, old_cc_info, old_objc_provider): +def _get_framework_info_providers(ctx, old_cc_info, modulemap_list): virtualize_frameworks = feature_names.virtualize_frameworks in ctx.features if not virtualize_frameworks: return [] @@ -81,7 +87,6 @@ def _get_framework_info_providers(ctx, old_cc_info, old_objc_provider): if not imported_framework_name: return [] - modulemap_list = old_objc_provider.module_map.to_list() vfs = make_vfsoverlay( ctx, hdrs = hdrs_list, @@ -112,15 +117,22 @@ def _apple_framework_import_modulemap_impl(ctx): objc_provider = legacy_target[apple_common.Objc] old_cc_info = legacy_target[CcInfo] + # Pull the `.modulemap` files out of the `framework_imports` since the + # propagation of this was removed from `ObjcProvider`. + framework_imports_by_category = framework_import_support.classify_file_imports( + ctx.var, + ctx.files.framework_imports, + ) + # Merge providers new_cc_info = cc_common.merge_cc_infos( cc_infos = [ old_cc_info, - CcInfo(compilation_context = cc_common.create_compilation_context(headers = objc_provider.module_map)), + CcInfo(compilation_context = cc_common.create_compilation_context(headers = depset(framework_imports_by_category.module_map_imports))), ], ) - additional_providers = _get_framework_info_providers(ctx, old_cc_info, objc_provider) + additional_providers = _get_framework_info_providers(ctx, old_cc_info, framework_imports_by_category.module_map_imports) # Seems that there is no way to iterate on the existing providers, so what is possible instead # is to list here the keys to all of them (you can see the keys for the existing providers of a @@ -138,6 +150,10 @@ _apple_framework_import_modulemap = rule( mandatory = True, doc = "The legacy target to patch", ), + "framework_imports": attr.label_list( + allow_files = True, + doc = "The list of files under a `.framework` directory for `legacy_target`.", + ), "_cc_toolchain": attr.label( default = Label("@bazel_tools//tools/cpp:current_cc_toolchain"), doc = """\ diff --git a/tests/ios/unit-test/test-imports-app/BUILD.bazel b/tests/ios/unit-test/test-imports-app/BUILD.bazel index 3c447aecf..cd752faf0 100644 --- a/tests/ios/unit-test/test-imports-app/BUILD.bazel +++ b/tests/ios/unit-test/test-imports-app/BUILD.bazel @@ -61,9 +61,10 @@ apple_framework_packaging( "xcodeproj-ignore-as-target", ], transitive_deps = [ - "@TensorFlowLiteC//:TensorFlowLiteC", - "@TensorFlowLiteC//:TensorFlowLiteCCoreML", + ":SomeFramework", "@GoogleMobileAdsSDK//:GoogleMobileAds", + "@TensorFlowLiteC", + "@TensorFlowLiteC//:TensorFlowLiteCCoreML", ], visibility = ["//visibility:public"], deps = [ From d740c4ee962f9f614ab99ccacf52f71ba6c43a66 Mon Sep 17 00:00:00 2001 From: Matt Robinson Date: Mon, 9 Jan 2023 11:54:22 -0700 Subject: [PATCH 6/6] Regen Xcode project --- tests/ios/unit-test/test-imports-app/BUILD.bazel | 9 +-------- .../Test-Imports-App-Project.xcodeproj/project.pbxproj | 4 ++-- .../project.pbxproj | 4 ++-- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/tests/ios/unit-test/test-imports-app/BUILD.bazel b/tests/ios/unit-test/test-imports-app/BUILD.bazel index cd752faf0..4784d83dc 100644 --- a/tests/ios/unit-test/test-imports-app/BUILD.bazel +++ b/tests/ios/unit-test/test-imports-app/BUILD.bazel @@ -90,14 +90,7 @@ ios_unit_test( visibility = ["//visibility:public"], deps = [ ":TestImports-App_framework_unlinked", - ] + select({ - # It isn't seeing the `deps` attribute when using - # apple_framework_packaging directly - "@build_bazel_rules_ios//:virtualize_frameworks": [ - ":SomeFramework", - ], - "//conditions:default": [], - }), + ], ) make_tests() diff --git a/tests/ios/xcodeproj/Test-Imports-App-Project.xcodeproj/project.pbxproj b/tests/ios/xcodeproj/Test-Imports-App-Project.xcodeproj/project.pbxproj index c3bfa28fd..10235f987 100755 --- a/tests/ios/xcodeproj/Test-Imports-App-Project.xcodeproj/project.pbxproj +++ b/tests/ios/xcodeproj/Test-Imports-App-Project.xcodeproj/project.pbxproj @@ -356,7 +356,7 @@ BAZEL_SWIFTMODULEFILES_TO_COPY = "bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_Unit_Tests.swiftmodule bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_Unit_Tests.swiftdoc bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_Unit_Tests.swiftsourceinfo"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; HEADER_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT\""; IPHONEOS_DEPLOYMENT_TARGET = 12.0; @@ -430,7 +430,7 @@ BAZEL_SWIFTMODULEFILES_TO_COPY = "bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_Unit_Tests.swiftmodule bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_Unit_Tests.swiftdoc bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_Unit_Tests.swiftsourceinfo"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; HEADER_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT\""; IPHONEOS_DEPLOYMENT_TARGET = 12.0; diff --git a/tests/macos/xcodeproj/Test-Target-With-Test-Host-Project.xcodeproj/project.pbxproj b/tests/macos/xcodeproj/Test-Target-With-Test-Host-Project.xcodeproj/project.pbxproj index c933ab5e1..7674a7637 100755 --- a/tests/macos/xcodeproj/Test-Target-With-Test-Host-Project.xcodeproj/project.pbxproj +++ b/tests/macos/xcodeproj/Test-Target-With-Test-Host-Project.xcodeproj/project.pbxproj @@ -417,7 +417,7 @@ BAZEL_SWIFTMODULEFILES_TO_COPY = "bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_Unit_Tests.swiftmodule bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_Unit_Tests.swiftdoc bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_Unit_Tests.swiftsourceinfo"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; HEADER_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT\""; IPHONEOS_DEPLOYMENT_TARGET = 12.0; @@ -466,7 +466,7 @@ BAZEL_SWIFTMODULEFILES_TO_COPY = "bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_Unit_Tests.swiftmodule bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_Unit_Tests.swiftdoc bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-41567f1bc2e5/bin/tests/ios/unit-test/test-imports-app/TestImports_Unit_Tests.swiftsourceinfo"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/ios-x86_64-min12.0-applebin_ios-ios_x86_64-dbg-ST-11376cdf8928/bin/tests/ios/unit-test/test-imports-app/SomeFramework\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Basic/ios\" \"$BAZEL_WORKSPACE_ROOT/tests/ios/unit-test/test-imports-app/frameworks/Nested/ios\" \"$BAZEL_WORKSPACE_ROOT/external/GoogleMobileAdsSDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_x86_64-simulator\" \"$BAZEL_WORKSPACE_ROOT/external/TensorFlowLiteC/Frameworks\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; HEADER_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT\""; IPHONEOS_DEPLOYMENT_TARGET = 12.0;