Add --swiftcopt support to swift_library -- PiperOrigin-RevId: 144231300 MOS_MIGRATED_REVID=144231300
diff --git a/src/test/shell/bazel/apple/bazel_apple_test.sh b/src/test/shell/bazel/apple/bazel_apple_test.sh index a83bbe3..94c4822 100755 --- a/src/test/shell/bazel/apple/bazel_apple_test.sh +++ b/src/test/shell/bazel/apple/bazel_apple_test.sh
@@ -627,6 +627,10 @@ #if !FLAG let x: String = 1 // Invalid statement, should throw compiler error when FLAG is not set #endif + + #if !CMD_FLAG + let y: String = 1 // Invalid statement, should throw compiler error when CMD_FLAG is not set + #endif } } EOF @@ -640,6 +644,7 @@ EOF bazel build --verbose_failures --xcode_version=$XCODE_VERSION \ + --swiftcopt=-DCMD_FLAG \ //ios:swift_lib >$TEST_log 2>&1 || fail "should build" }
diff --git a/tools/build_defs/apple/swift.bzl b/tools/build_defs/apple/swift.bzl index 60ed1bc..d5160f4 100644 --- a/tools/build_defs/apple/swift.bzl +++ b/tools/build_defs/apple/swift.bzl
@@ -309,6 +309,11 @@ args.extend(framework_args) args.extend(clang_args) args.extend(define_args) + + # TODO(b/33692249): Remove conditional once bazel is released. + if hasattr(ctx.fragments, "swift"): + args.extend(ctx.fragments.swift.copts()) + args.extend(ctx.attr.copts) return args @@ -459,7 +464,7 @@ swift_library = rule( _swift_library_impl, attrs = SWIFT_LIBRARY_ATTRS, - fragments = ["apple", "objc"], + fragments = ["apple", "objc", "swift"], output_to_genfiles=True, ) """