From e230690b8c3567e9712926b6ec08711462ba0139 Mon Sep 17 00:00:00 2001 From: Amber Dixon Date: Tue, 4 Aug 2020 15:23:17 -0700 Subject: [PATCH 1/4] Add local debug options as a dependency, but only if the local_debug_options_enabled is specified at command line. Make xcode specify this config --- rules/BUILD.bazel | 35 ++++++++++++++++++++++++++ rules/app.bzl | 9 ++++++- rules/library.bzl | 1 + rules/test.bzl | 9 ++++++- tests/macos/xcodeproj/build.sh | 3 ++- tools/xcodeproj_shims/build-wrapper.sh | 2 +- 6 files changed, 55 insertions(+), 4 deletions(-) diff --git a/rules/BUILD.bazel b/rules/BUILD.bazel index 5fbd192ae..65bfb0ef7 100644 --- a/rules/BUILD.bazel +++ b/rules/BUILD.bazel @@ -1,4 +1,39 @@ + +load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") +load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") + + exports_files( glob(["*.bzl"]), visibility = ["//docs:__pkg__"], ) + +genrule( + name = "empty", + outs = ["empty.swift"], + cmd = "touch $(OUTS)", +) + +# A dummy target that enables serialize-debugging-options but only in local development, +# so that swiftmodule paths will refer to paths on the local machine and LLDB will work. +swift_library( + name = "_LocalDebugOptions", + srcs = [":empty"], + copts = [ + "-Xfrontend", + "-serialize-debugging-options", + ], + module_name = "_LocalDebugOptions", + tags = ["no-remote"], + visibility = ["//visibility:public"], +) + + +bool_flag(name = "local_debug_options_enabled", build_setting_default = False) + +config_setting( + name = "local_debug_options", + flag_values = { + ":local_debug_options_enabled": "True", + } +) diff --git a/rules/app.bzl b/rules/app.bzl index 330e6bee5..1c73d4594 100644 --- a/rules/app.bzl +++ b/rules/app.bzl @@ -61,9 +61,16 @@ def ios_application(name, apple_library = apple_library, **kwargs): application_kwargs["launch_storyboard"] = application_kwargs.pop("launch_storyboard", library.launch_screen_storyboard_name) application_kwargs["families"] = application_kwargs.pop("families", ["iphone", "ipad"]) + local_debug_options_for_swift = [] + if library.has_swift_sources: + local_debug_options_for_swift += ["@build_bazel_rules_ios//rules:_LocalDebugOptions"] + rules_apple_ios_application( name = name, - deps = library.deps, + deps = library.deps + select({ + "@build_bazel_rules_ios//rules:local_debug_options": local_debug_options_for_swift, + "//conditions:default": [], + }), infoplists = infoplists, **application_kwargs ) diff --git a/rules/library.bzl b/rules/library.bzl index 1b65c55cf..0444c2db3 100644 --- a/rules/library.bzl +++ b/rules/library.bzl @@ -608,4 +608,5 @@ def apple_library(name, library_tools = {}, export_private_headers = True, names namespace = namespace, linkopts = linkopts, platforms = platforms, + has_swift_sources = (swift_sources and len(swift_sources) > 0), ) diff --git a/rules/test.bzl b/rules/test.bzl index f8b456de2..11cd7c6e6 100644 --- a/rules/test.bzl +++ b/rules/test.bzl @@ -44,8 +44,15 @@ def ios_unit_test(name, apple_library = apple_library, **kwargs): library = apple_library(name = name, namespace_is_module_name = False, platforms = {"ios": unit_test_kwargs.get("minimum_os_version")}, **kwargs) + local_debug_options_for_swift = [] + if library.has_swift_sources and not unit_test_kwargs.get("test_host", None): + local_debug_options_for_swift += ["@build_bazel_rules_ios//rules:_LocalDebugOptions"] + rule( name = name, - deps = library.lib_names, + deps = library.lib_names + select({ + "@build_bazel_rules_ios//rules:local_debug_options": local_debug_options_for_swift, + "//conditions:default": [], + }), **unit_test_kwargs ) diff --git a/tests/macos/xcodeproj/build.sh b/tests/macos/xcodeproj/build.sh index 9f7031d52..1f7c68a61 100755 --- a/tests/macos/xcodeproj/build.sh +++ b/tests/macos/xcodeproj/build.sh @@ -4,4 +4,5 @@ cd $(dirname $0) xcodebuild -project Single-Application-Project-DirectTargetsOnly.xcodeproj -quiet xcodebuild -project Single-Application-Project-AllTargets.xcodeproj -quiet -xcodebuild -project Test-Target-With-Test-Host-Project.xcodeproj -quiet \ No newline at end of file +xcodebuild -project Test-Target-With-Test-Host-Project.xcodeproj -quiet +# TODO: use strings to test that absolute paths and debug-prefix-map are present in the LocalDebug.swiftmodule. Not sure if this is the right palce to do it. We could also grep out the build event text file maybe. \ No newline at end of file diff --git a/tools/xcodeproj_shims/build-wrapper.sh b/tools/xcodeproj_shims/build-wrapper.sh index efa94c349..8c7e4ba08 100755 --- a/tools/xcodeproj_shims/build-wrapper.sh +++ b/tools/xcodeproj_shims/build-wrapper.sh @@ -1,4 +1,4 @@ #!/bin/bash set -euxo pipefail -$BAZEL_PATH build --experimental_execution_log_file=$BAZEL_BUILD_EXECUTION_LOG_FILENAME --build_event_text_file=$BAZEL_BUILD_EVENT_TEXT_FILENAME --build_event_publish_all_actions $1 2>&1 | $BAZEL_OUTPUT_PROCESSOR +$BAZEL_PATH build --experimental_execution_log_file=$BAZEL_BUILD_EXECUTION_LOG_FILENAME --build_event_text_file=$BAZEL_BUILD_EVENT_TEXT_FILENAME --build_event_publish_all_actions $1 --@build_bazel_rules_ios//rules:local_debug_options_enabled 2>&1 | $BAZEL_OUTPUT_PROCESSOR From 2556a0498d4eeeace7ede5a1453584dd0b924091 Mon Sep 17 00:00:00 2001 From: Amber Dixon Date: Tue, 11 Aug 2020 16:05:11 -0700 Subject: [PATCH 2/4] Improvements to debugging, add comments and PR feedback --- .bazelrc | 12 +++++++++++- rules/BUILD.bazel | 1 + rules/test.bzl | 2 +- rules/xcodeproj.bzl | 5 ++++- .../project.pbxproj | 13 +++++++------ tests/macos/xcodeproj/build.sh | 3 +-- tools/xcodeproj_shims/build-wrapper.sh | 4 +++- 7 files changed, 28 insertions(+), 12 deletions(-) diff --git a/.bazelrc b/.bazelrc index 88c135c8e..bdf175fd0 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,9 +1,19 @@ # We can't create a bzl_library for rules-swift because of its visibility, # so circumvent by not using the sandbox build --strategy=Stardoc=standalone + +# Debugging does not work in sandbox mode. Uncomment these lines to turn off sandboxing. +# build --genrule_strategy=standalone +# build --spawn_strategy=standalone + build --verbose_failures # Print the full command line for commands that failed build --test_output=errors # Prints log file output to the console on failure -# By default do not build the tests for sources-with-prebuilt-binaries, +# By default do not build the tests for sources-with-prebuilt-binaries, # because it takes quite some time. They will only run on CI build --deleted_packages tests/ios/frameworks/sources-with-prebuilt-binaries + +# Enable these features to test local and CI builds +# when swiftmodule caching is enabled. +build --features=swift.cacheable_swiftmodules +build --features=swift.use_global_module_cache \ No newline at end of file diff --git a/rules/BUILD.bazel b/rules/BUILD.bazel index 65bfb0ef7..43dd03b90 100644 --- a/rules/BUILD.bazel +++ b/rules/BUILD.bazel @@ -16,6 +16,7 @@ genrule( # A dummy target that enables serialize-debugging-options but only in local development, # so that swiftmodule paths will refer to paths on the local machine and LLDB will work. +# See details here: https://github.com/ios-bazel-users/ios-bazel-users/blob/master/DebuggableRemoteSwift.md swift_library( name = "_LocalDebugOptions", srcs = [":empty"], diff --git a/rules/test.bzl b/rules/test.bzl index 11cd7c6e6..3b09be31f 100644 --- a/rules/test.bzl +++ b/rules/test.bzl @@ -45,7 +45,7 @@ def ios_unit_test(name, apple_library = apple_library, **kwargs): library = apple_library(name = name, namespace_is_module_name = False, platforms = {"ios": unit_test_kwargs.get("minimum_os_version")}, **kwargs) local_debug_options_for_swift = [] - if library.has_swift_sources and not unit_test_kwargs.get("test_host", None): + if library.has_swift_sources and unit_test_kwargs.get("test_host", None) == None: local_debug_options_for_swift += ["@build_bazel_rules_ios//rules:_LocalDebugOptions"] rule( diff --git a/rules/xcodeproj.bzl b/rules/xcodeproj.bzl index 9c71bb341..3e7084e4a 100644 --- a/rules/xcodeproj.bzl +++ b/rules/xcodeproj.bzl @@ -250,6 +250,7 @@ def _xcodeproj_impl(ctx): proj_settings_debug = { "GCC_PREPROCESSOR_DEFINITIONS": "DEBUG", "SWIFT_ACTIVE_COMPILATION_CONDITIONS": "DEBUG", + "BAZEL_DEBUG_SYMBOLS_FLAG": "--compilation_mode=dbg" } proj_settings = { "base": proj_settings_base, @@ -303,7 +304,9 @@ def _xcodeproj_impl(ctx): "CLANG_ENABLE_MODULES": "YES", "CLANG_ENABLE_OBJC_ARC": "YES", } - framework_search_paths = [] + + # Ensure Xcode will resolve references to the XCTest framework. + framework_search_paths = ["$(PLATFORM_DIR)/Developer/Library/Frameworks"] for fi in target_info.framework_includes.to_list(): if fi[0] != "/": fi = "$BAZEL_WORKSPACE_ROOT/%s" % fi diff --git a/tests/macos/xcodeproj/Single-Application-Project-AllTargets.xcodeproj/project.pbxproj b/tests/macos/xcodeproj/Single-Application-Project-AllTargets.xcodeproj/project.pbxproj index 57737f4b0..9ff7a95a0 100755 --- a/tests/macos/xcodeproj/Single-Application-Project-AllTargets.xcodeproj/project.pbxproj +++ b/tests/macos/xcodeproj/Single-Application-Project-AllTargets.xcodeproj/project.pbxproj @@ -284,7 +284,7 @@ BAZEL_BIN_SUBDIR = /tests/macos/xcodeproj; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "\"REQUIRED_DEFINED_FLAG=1\" \"FLAG_WITH_VALUE_ZERO=0\" $(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; MACH_O_TYPE = "$(inherited)"; @@ -301,7 +301,7 @@ BAZEL_BIN_SUBDIR = /rules/test_host_app; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; INFOPLIST_FILE = "$BAZEL_STUBS_DIR/Info-stub.plist"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; @@ -319,7 +319,7 @@ BAZEL_BIN_SUBDIR = /rules/test_host_app; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; INFOPLIST_FILE = "$BAZEL_STUBS_DIR/Info-stub.plist"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; @@ -335,6 +335,7 @@ isa = XCBuildConfiguration; buildSettings = { BAZEL_BUILD_EXEC = "$BAZEL_STUBS_DIR/build-wrapper"; + BAZEL_DEBUG_SYMBOLS_FLAG = "--compilation_mode=dbg"; BAZEL_INSTALLER = $BAZEL_INSTALLERS_DIR/installer; BAZEL_INSTALLERS_DIR = $PROJECT_FILE_PATH/bazelinstallers; BAZEL_OUTPUT_PROCESSOR = "$BAZEL_STUBS_DIR/output-processor.rb"; @@ -389,7 +390,7 @@ BAZEL_BIN_SUBDIR = /tests/macos/xcodeproj; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "\"REQUIRED_DEFINED_FLAG=1\" \"FLAG_WITH_VALUE_ZERO=0\" $(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; MACH_O_TYPE = "$(inherited)"; @@ -406,7 +407,7 @@ BAZEL_BIN_SUBDIR = /tests/macos/xcodeproj; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "\"REQUIRED_DEFINED_FLAG=1\" \"FLAG_WITH_VALUE_ZERO=0\" $(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; MACH_O_TYPE = "$(inherited)"; @@ -423,7 +424,7 @@ BAZEL_BIN_SUBDIR = /tests/macos/xcodeproj; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "\"REQUIRED_DEFINED_FLAG=1\" \"FLAG_WITH_VALUE_ZERO=0\" $(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; MACH_O_TYPE = "$(inherited)"; diff --git a/tests/macos/xcodeproj/build.sh b/tests/macos/xcodeproj/build.sh index 1f7c68a61..9f7031d52 100755 --- a/tests/macos/xcodeproj/build.sh +++ b/tests/macos/xcodeproj/build.sh @@ -4,5 +4,4 @@ cd $(dirname $0) xcodebuild -project Single-Application-Project-DirectTargetsOnly.xcodeproj -quiet xcodebuild -project Single-Application-Project-AllTargets.xcodeproj -quiet -xcodebuild -project Test-Target-With-Test-Host-Project.xcodeproj -quiet -# TODO: use strings to test that absolute paths and debug-prefix-map are present in the LocalDebug.swiftmodule. Not sure if this is the right palce to do it. We could also grep out the build event text file maybe. \ No newline at end of file +xcodebuild -project Test-Target-With-Test-Host-Project.xcodeproj -quiet \ No newline at end of file diff --git a/tools/xcodeproj_shims/build-wrapper.sh b/tools/xcodeproj_shims/build-wrapper.sh index 8c7e4ba08..eea11300d 100755 --- a/tools/xcodeproj_shims/build-wrapper.sh +++ b/tools/xcodeproj_shims/build-wrapper.sh @@ -1,4 +1,6 @@ #!/bin/bash set -euxo pipefail -$BAZEL_PATH build --experimental_execution_log_file=$BAZEL_BUILD_EXECUTION_LOG_FILENAME --build_event_text_file=$BAZEL_BUILD_EVENT_TEXT_FILENAME --build_event_publish_all_actions $1 --@build_bazel_rules_ios//rules:local_debug_options_enabled 2>&1 | $BAZEL_OUTPUT_PROCESSOR +# TODO: If the target is being built from the rules_ios repo, then remove the `@build_bazel_rules_ios` +# prefix to the `local_debug_options_enabled` build flag +$BAZEL_PATH build --experimental_execution_log_file=$BAZEL_BUILD_EXECUTION_LOG_FILENAME --build_event_text_file=$BAZEL_BUILD_EVENT_TEXT_FILENAME --build_event_publish_all_actions $1 --@build_bazel_rules_ios//rules:local_debug_options_enabled $BAZEL_DEBUG_SYMBOLS_FLAG 2>&1 | $BAZEL_OUTPUT_PROCESSOR From 3e82f9b9f7c88d43eeec81e5f5910a79bb3f4249 Mon Sep 17 00:00:00 2001 From: Amber Dixon Date: Tue, 11 Aug 2020 16:09:54 -0700 Subject: [PATCH 3/4] rerun tests, add some more comments --- rules/BUILD.bazel | 19 +++++++++++-------- rules/app.bzl | 9 ++++++--- rules/test.bzl | 6 +++--- rules/xcodeproj.bzl | 2 +- .../project.pbxproj | 13 +++++++------ .../project.pbxproj | 13 +++++++------ .../project.pbxproj | 17 +++++++++-------- 7 files changed, 44 insertions(+), 35 deletions(-) diff --git a/rules/BUILD.bazel b/rules/BUILD.bazel index 43dd03b90..6c5f36f5d 100644 --- a/rules/BUILD.bazel +++ b/rules/BUILD.bazel @@ -1,8 +1,6 @@ - load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") - exports_files( glob(["*.bzl"]), visibility = ["//docs:__pkg__"], @@ -21,20 +19,25 @@ swift_library( name = "_LocalDebugOptions", srcs = [":empty"], copts = [ - "-Xfrontend", - "-serialize-debugging-options", + "-Xfrontend", + "-serialize-debugging-options", ], module_name = "_LocalDebugOptions", - tags = ["no-remote"], + tags = [ + "manual", + "no-remote", + ], visibility = ["//visibility:public"], ) - -bool_flag(name = "local_debug_options_enabled", build_setting_default = False) +bool_flag( + name = "local_debug_options_enabled", + build_setting_default = False, +) config_setting( name = "local_debug_options", flag_values = { ":local_debug_options_enabled": "True", - } + }, ) diff --git a/rules/app.bzl b/rules/app.bzl index 1c73d4594..c1c079071 100644 --- a/rules/app.bzl +++ b/rules/app.bzl @@ -62,14 +62,17 @@ def ios_application(name, apple_library = apple_library, **kwargs): application_kwargs["families"] = application_kwargs.pop("families", ["iphone", "ipad"]) local_debug_options_for_swift = [] + + # A dummy target that enables serialize-debugging-options but only in local development. + # As of Xcode 11.5, LocalDebugOptions is not needed for debugging apps. if library.has_swift_sources: - local_debug_options_for_swift += ["@build_bazel_rules_ios//rules:_LocalDebugOptions"] + local_debug_options_for_swift.append("@build_bazel_rules_ios//rules:_LocalDebugOptions") rules_apple_ios_application( name = name, deps = library.deps + select({ - "@build_bazel_rules_ios//rules:local_debug_options": local_debug_options_for_swift, - "//conditions:default": [], + "@build_bazel_rules_ios//rules:local_debug_options": local_debug_options_for_swift, + "//conditions:default": [], }), infoplists = infoplists, **application_kwargs diff --git a/rules/test.bzl b/rules/test.bzl index 3b09be31f..6a6381150 100644 --- a/rules/test.bzl +++ b/rules/test.bzl @@ -46,13 +46,13 @@ def ios_unit_test(name, apple_library = apple_library, **kwargs): local_debug_options_for_swift = [] if library.has_swift_sources and unit_test_kwargs.get("test_host", None) == None: - local_debug_options_for_swift += ["@build_bazel_rules_ios//rules:_LocalDebugOptions"] + local_debug_options_for_swift.append("@build_bazel_rules_ios//rules:_LocalDebugOptions") rule( name = name, deps = library.lib_names + select({ - "@build_bazel_rules_ios//rules:local_debug_options": local_debug_options_for_swift, - "//conditions:default": [], + "@build_bazel_rules_ios//rules:local_debug_options": local_debug_options_for_swift, + "//conditions:default": [], }), **unit_test_kwargs ) diff --git a/rules/xcodeproj.bzl b/rules/xcodeproj.bzl index 3e7084e4a..d4ff98b7d 100644 --- a/rules/xcodeproj.bzl +++ b/rules/xcodeproj.bzl @@ -250,7 +250,7 @@ def _xcodeproj_impl(ctx): proj_settings_debug = { "GCC_PREPROCESSOR_DEFINITIONS": "DEBUG", "SWIFT_ACTIVE_COMPILATION_CONDITIONS": "DEBUG", - "BAZEL_DEBUG_SYMBOLS_FLAG": "--compilation_mode=dbg" + "BAZEL_DEBUG_SYMBOLS_FLAG": "--compilation_mode=dbg", } proj_settings = { "base": proj_settings_base, diff --git a/tests/ios/xcodeproj/Single-Static-Framework-Project.xcodeproj/project.pbxproj b/tests/ios/xcodeproj/Single-Static-Framework-Project.xcodeproj/project.pbxproj index 71fce96c1..4fb1544d3 100755 --- a/tests/ios/xcodeproj/Single-Static-Framework-Project.xcodeproj/project.pbxproj +++ b/tests/ios/xcodeproj/Single-Static-Framework-Project.xcodeproj/project.pbxproj @@ -270,7 +270,7 @@ BAZEL_BIN_SUBDIR = /tests/ios/frameworks/objc; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; MACH_O_TYPE = "$(inherited)"; @@ -284,6 +284,7 @@ isa = XCBuildConfiguration; buildSettings = { BAZEL_BUILD_EXEC = "$BAZEL_STUBS_DIR/build-wrapper"; + BAZEL_DEBUG_SYMBOLS_FLAG = "--compilation_mode=dbg"; BAZEL_INSTALLER = $BAZEL_INSTALLERS_DIR/installer; BAZEL_INSTALLERS_DIR = $PROJECT_FILE_PATH/bazelinstallers; BAZEL_OUTPUT_PROCESSOR = "$BAZEL_STUBS_DIR/output-processor.rb"; @@ -313,7 +314,7 @@ BAZEL_BIN_SUBDIR = /tests/ios/frameworks/objc; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-cecbe3cb5ea2880cd67bf87ed1de59490130c0d897af2739d7b0f3dd10b40f24/bin/tests/ios/frameworks/objc/ObjcFramework\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-cecbe3cb5ea2880cd67bf87ed1de59490130c0d897af2739d7b0f3dd10b40f24/bin/tests/ios/frameworks/objc/ObjcFramework\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 13.2; MACH_O_TYPE = "$(inherited)"; @@ -329,7 +330,7 @@ BAZEL_BIN_SUBDIR = /tests/ios/frameworks/objc; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; MACH_O_TYPE = "$(inherited)"; @@ -370,7 +371,7 @@ BAZEL_BIN_SUBDIR = /tests/ios/frameworks/objc; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-cecbe3cb5ea2880cd67bf87ed1de59490130c0d897af2739d7b0f3dd10b40f24/bin/tests/ios/frameworks/objc/ObjcFramework\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-b6e49002cb7dafa9fcd24b0dd76f1c63efbe73d59588c29fc9a7b41408f04f90/bin/tests/ios/frameworks/objc/ObjcFrameworkTestLib\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-cecbe3cb5ea2880cd67bf87ed1de59490130c0d897af2739d7b0f3dd10b40f24/bin/tests/ios/frameworks/objc/ObjcFramework\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-b6e49002cb7dafa9fcd24b0dd76f1c63efbe73d59588c29fc9a7b41408f04f90/bin/tests/ios/frameworks/objc/ObjcFrameworkTestLib\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; MACH_O_TYPE = "$(inherited)"; @@ -387,7 +388,7 @@ BAZEL_BIN_SUBDIR = /tests/ios/frameworks/objc; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-cecbe3cb5ea2880cd67bf87ed1de59490130c0d897af2739d7b0f3dd10b40f24/bin/tests/ios/frameworks/objc/ObjcFramework\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-b6e49002cb7dafa9fcd24b0dd76f1c63efbe73d59588c29fc9a7b41408f04f90/bin/tests/ios/frameworks/objc/ObjcFrameworkTestLib\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-cecbe3cb5ea2880cd67bf87ed1de59490130c0d897af2739d7b0f3dd10b40f24/bin/tests/ios/frameworks/objc/ObjcFramework\" \"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-b6e49002cb7dafa9fcd24b0dd76f1c63efbe73d59588c29fc9a7b41408f04f90/bin/tests/ios/frameworks/objc/ObjcFrameworkTestLib\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; MACH_O_TYPE = "$(inherited)"; @@ -404,7 +405,7 @@ BAZEL_BIN_SUBDIR = /tests/ios/frameworks/objc; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-cecbe3cb5ea2880cd67bf87ed1de59490130c0d897af2739d7b0f3dd10b40f24/bin/tests/ios/frameworks/objc/ObjcFramework\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-cecbe3cb5ea2880cd67bf87ed1de59490130c0d897af2739d7b0f3dd10b40f24/bin/tests/ios/frameworks/objc/ObjcFramework\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 13.2; MACH_O_TYPE = "$(inherited)"; diff --git a/tests/macos/xcodeproj/Single-Application-Project-DirectTargetsOnly.xcodeproj/project.pbxproj b/tests/macos/xcodeproj/Single-Application-Project-DirectTargetsOnly.xcodeproj/project.pbxproj index 3ab444de0..1826d040d 100755 --- a/tests/macos/xcodeproj/Single-Application-Project-DirectTargetsOnly.xcodeproj/project.pbxproj +++ b/tests/macos/xcodeproj/Single-Application-Project-DirectTargetsOnly.xcodeproj/project.pbxproj @@ -284,7 +284,7 @@ BAZEL_BIN_SUBDIR = /tests/macos/xcodeproj; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "\"REQUIRED_DEFINED_FLAG=1\" \"FLAG_WITH_VALUE_ZERO=0\" $(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; MACH_O_TYPE = "$(inherited)"; @@ -301,7 +301,7 @@ BAZEL_BIN_SUBDIR = /tests/macos/xcodeproj; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "\"REQUIRED_DEFINED_FLAG=1\" \"FLAG_WITH_VALUE_ZERO=0\" $(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; MACH_O_TYPE = "$(inherited)"; @@ -343,7 +343,7 @@ BAZEL_BIN_SUBDIR = /rules/test_host_app; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; INFOPLIST_FILE = "$BAZEL_STUBS_DIR/Info-stub.plist"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; @@ -361,7 +361,7 @@ BAZEL_BIN_SUBDIR = /rules/test_host_app; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; INFOPLIST_FILE = "$BAZEL_STUBS_DIR/Info-stub.plist"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; @@ -379,7 +379,7 @@ BAZEL_BIN_SUBDIR = /tests/macos/xcodeproj; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "\"REQUIRED_DEFINED_FLAG=1\" \"FLAG_WITH_VALUE_ZERO=0\" $(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; MACH_O_TYPE = "$(inherited)"; @@ -394,6 +394,7 @@ isa = XCBuildConfiguration; buildSettings = { BAZEL_BUILD_EXEC = "$BAZEL_STUBS_DIR/build-wrapper"; + BAZEL_DEBUG_SYMBOLS_FLAG = "--compilation_mode=dbg"; BAZEL_INSTALLER = $BAZEL_INSTALLERS_DIR/installer; BAZEL_INSTALLERS_DIR = $PROJECT_FILE_PATH/bazelinstallers; BAZEL_OUTPUT_PROCESSOR = "$BAZEL_STUBS_DIR/output-processor.rb"; @@ -423,7 +424,7 @@ BAZEL_BIN_SUBDIR = /tests/macos/xcodeproj; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "\"REQUIRED_DEFINED_FLAG=1\" \"FLAG_WITH_VALUE_ZERO=0\" $(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 11.0; MACH_O_TYPE = "$(inherited)"; 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 e31c37c7f..618014c70 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 @@ -386,7 +386,7 @@ BAZEL_BIN_SUBDIR = "/tests/ios/unit-test/test-imports-app"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-f22bcf18950e92551e6bc2e43803228c8d15233d48c88265af0229927f68339f/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-f22bcf18950e92551e6bc2e43803228c8d15233d48c88265af0229927f68339f/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; MACH_O_TYPE = "$(inherited)"; @@ -404,7 +404,7 @@ BAZEL_BIN_SUBDIR = "/tests/ios/unit-test/test-imports-app"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-f22bcf18950e92551e6bc2e43803228c8d15233d48c88265af0229927f68339f/bin/tests/ios/unit-test/test-imports-app/SomeFramework\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-f22bcf18950e92551e6bc2e43803228c8d15233d48c88265af0229927f68339f/bin/tests/ios/unit-test/test-imports-app/SomeFramework\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; INFOPLIST_FILE = "$BAZEL_STUBS_DIR/Info-stub.plist"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; @@ -422,7 +422,7 @@ BAZEL_BIN_SUBDIR = "/tests/ios/unit-test/test-imports-app"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-f22bcf18950e92551e6bc2e43803228c8d15233d48c88265af0229927f68339f/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-f22bcf18950e92551e6bc2e43803228c8d15233d48c88265af0229927f68339f/bin/tests/ios/unit-test/test-imports-app/TestImports-App_framework_unlinked\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; MACH_O_TYPE = "$(inherited)"; @@ -440,7 +440,7 @@ BAZEL_BIN_SUBDIR = "/tests/ios/unit-test"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; MACH_O_TYPE = "$(inherited)"; @@ -458,7 +458,7 @@ BAZEL_BIN_SUBDIR = "/tests/ios/unit-test/test-imports-app"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = "\"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-f22bcf18950e92551e6bc2e43803228c8d15233d48c88265af0229927f68339f/bin/tests/ios/unit-test/test-imports-app/SomeFramework\""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks \"$BAZEL_WORKSPACE_ROOT/bazel-out/applebin_ios-ios_x86_64-fastbuild-ST-f22bcf18950e92551e6bc2e43803228c8d15233d48c88265af0229927f68339f/bin/tests/ios/unit-test/test-imports-app/SomeFramework\""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; INFOPLIST_FILE = "$BAZEL_STUBS_DIR/Info-stub.plist"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; @@ -501,7 +501,7 @@ BAZEL_BIN_SUBDIR = /rules/test_host_app; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; INFOPLIST_FILE = "$BAZEL_STUBS_DIR/Info-stub.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; @@ -519,7 +519,7 @@ BAZEL_BIN_SUBDIR = /rules/test_host_app; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; INFOPLIST_FILE = "$BAZEL_STUBS_DIR/Info-stub.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; @@ -535,6 +535,7 @@ isa = XCBuildConfiguration; buildSettings = { BAZEL_BUILD_EXEC = "$BAZEL_STUBS_DIR/build-wrapper"; + BAZEL_DEBUG_SYMBOLS_FLAG = "--compilation_mode=dbg"; BAZEL_INSTALLER = $BAZEL_INSTALLERS_DIR/installer; BAZEL_INSTALLERS_DIR = $PROJECT_FILE_PATH/bazelinstallers; BAZEL_OUTPUT_PROCESSOR = "$BAZEL_STUBS_DIR/output-processor.rb"; @@ -564,7 +565,7 @@ BAZEL_BIN_SUBDIR = "/tests/ios/unit-test"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks"; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; MACH_O_TYPE = "$(inherited)"; From 2b769bde43174a343ed74735657094aad8b80c61 Mon Sep 17 00:00:00 2001 From: Amber Dixon Date: Tue, 11 Aug 2020 16:51:34 -0700 Subject: [PATCH 4/4] add newline. no reason to keep caching enabled for this repo --- .bazelrc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.bazelrc b/.bazelrc index bdf175fd0..454659b99 100644 --- a/.bazelrc +++ b/.bazelrc @@ -15,5 +15,5 @@ build --deleted_packages tests/ios/frameworks/sources-with-prebuilt-binaries # Enable these features to test local and CI builds # when swiftmodule caching is enabled. -build --features=swift.cacheable_swiftmodules -build --features=swift.use_global_module_cache \ No newline at end of file +# build --features=swift.cacheable_swiftmodules +# build --features=swift.use_global_module_cache