-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
incompatible_objc_provider_remove_linking_info #19000
Comments
@keith @brentleyjones FYI. |
Since all of these are removals, there is no way (afaict) to dynamically detect if this flag is flipped. So we will need a value on a fragment (or |
brentleyjones@ can you clarify why you need dynamic detection of this flag? The idea is that by the time we get to this stage of the migration, all the APIs guarded by this flag no longer does anything useful, and can safely be deleted. Given the progress of rules_apple as indicated in #17377, I believe the version of rules_apple of used for 6.x and 7.x can safely remove all the deprecated APIs. This migration mirrors that of the compile info migration (#11359), and back then we did not need value of such a flag. |
I don't think we are there yet, but if that's the case, then yes, we won't need dynamic detection, we can just remove the APIs. I maybe misunderstood this purpose of the flag. Did rules_apple around the time of change maintain support for older Bazel versions? The key thing for us is that a single version of rules_apple needs to work for both Bazel 6 and 7. |
I'm no familiar with development of OSS version rules_apple, but our plan discussed in #17377 was to get rules_apple to a state so that the previous flag, |
I noticed one case where we might have to conditionalize the rules for 6.x vs 7.x trying to land https://github.com/bazelbuild/rules_apple/pull/1872/files which removes uses of
Maybe I could provide an empty one in that case instead though |
Good point. The relevant bazel change is 28f9056. Using an empty objc should suffice. |
#19000 PiperOrigin-RevId: 559141220 Change-Id: I76bc8e6dd764952f4ca2240c1c6c764a8e842494
#19000 PiperOrigin-RevId: 596060323 Change-Id: Ifbef6ea29918e4af7856a675b18f1ebfd1a14f37
#19000 This has been the default behavior. Remove flag and support code for when flag is false. PiperOrigin-RevId: 601570796 Change-Id: Ied4bbbcf0087e551f99dcc914276d9b027290b6e
This flag is part of the efforts to migrate
ObjcProvider
linking info toCcLinkingContext
. It removes the Starlark APIs related to the definition and use of linking info inObjcProvider
. See #17377 for more details on the overall efforts.Specifically, the flag does the following:
apple_common.new_objc_provider()
will stop taking the following linking related arguments:cc_library
,dynamic_framework_file
,flag
,force_load_library
,imported_library
,library
,link_inputs
,linkopt
,sdk_dylib
,sdk_framework
,static_framework_file
,weak_sdk_framework
.apple_common.new_dynamic_framework_provider()
will no longer accept anobjc
argument.cc_info
will be required, not optional.apple_common.new_executable_binary_provider()
will no longer accept anobjc
argument.cc_info
will be required, not optional.The following linking related APIs will be removed:
ObjcProvider
:cc_library
,dynamic_framewrok_file
,force_load_library
,imported_library
,library
,link_inputs
,linkopt
,sdk_dylib
,sdk_framework
,static_framework_file
,weak_sdk_framework
,dynamic_framework_names
,dynamic_framework_paths
,static_framework_names
,static_framework_paths
.AppleDynamicFrameworkInfo
:objc
.AppleExecutableBinaryInfo
:objc
.The flag will be available shortly, and will be kept disabled for 7.0. The flag will be flipped in coordination with OSS apple_rules.
The text was updated successfully, but these errors were encountered: