Skip to content

Commit

Permalink
Remove objc_library transition
Browse files Browse the repository at this point in the history
Closes #20084.

PiperOrigin-RevId: 635730538
Change-Id: I83a22b0c884d6dc699891f8d71121be80c92c0f1
  • Loading branch information
keith authored and copybara-github committed May 21, 2024
1 parent bc9e71d commit d553273
Show file tree
Hide file tree
Showing 8 changed files with 17 additions and 197 deletions.
3 changes: 0 additions & 3 deletions src/MODULE.tools
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,3 @@ use_repo(android_sdk_proxy_extensions, "android_external")
# Used by bazel mod tidy (see BazelModTidyFunction).
buildozer_binary = use_extension("@buildozer//:buildozer_binary.bzl", "buildozer_binary")
use_repo(buildozer_binary, "buildozer_binary")

# Platforms used by transitions in builtins
bazel_dep(name = "apple_support", version = "1.5.0", repo_name = "build_bazel_apple_support")
Original file line number Diff line number Diff line change
Expand Up @@ -668,7 +668,7 @@ public final class BuildLanguageOptions extends OptionsBase {
metadataTags = {OptionMetadataTag.INCOMPATIBLE_CHANGE},
help =
"Disable objc_library's custom transition and inherit "
+ "from the top level target instead")
+ "from the top level target instead (No-op in Bazel)")
public boolean incompatibleDisableObjcLibraryTransition;

// remove after Bazel LTS in Nov 2023
Expand Down
4 changes: 2 additions & 2 deletions src/main/starlark/builtins_bzl/common/objc/j2objc_library.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ load(":common/cc/semantics.bzl", "semantics")
load(":common/objc/compilation_support.bzl", "compilation_support")
load(":common/objc/j2objc_aspect.bzl", "j2objc_aspect")
load(":common/objc/providers.bzl", "J2ObjcEntryClassInfo", "J2ObjcMappingFileInfo")
load(":common/objc/transitions.bzl", "apple_crosstool_transition")
load(":common/objc/semantics.bzl", objc_semantics = "semantics")

_MIGRATION_TAG = "__J2OBJC_LIBRARY_MIGRATION_DO_NOT_USE_WILL_BREAK__"

Expand Down Expand Up @@ -161,7 +161,7 @@ The list of additional JRE emulation libraries required by all Java code transla
<code>j2objc_library</code> rule. Only core JRE functionality is linked by default.""",
),
},
cfg = apple_crosstool_transition,
cfg = objc_semantics.apple_crosstool_transition,
fragments = ["apple", "cpp", "j2objc", "objc"] + semantics.additional_fragments(),
toolchains = cc_helper.use_cpp_toolchain(),
provides = [CcInfo, J2ObjcEntryClassInfo, J2ObjcMappingFileInfo],
Expand Down
4 changes: 1 addition & 3 deletions src/main/starlark/builtins_bzl/common/objc/objc_library.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ load("@_builtins//:common/objc/attrs.bzl", "common_attrs")
load("@_builtins//:common/objc/compilation_support.bzl", "compilation_support")
load("@_builtins//:common/objc/objc_common.bzl", "extensions", "objc_common")
load("@_builtins//:common/objc/semantics.bzl", "semantics")
load("@_builtins//:common/objc/transitions.bzl", "apple_crosstool_transition")
load(":common/cc/cc_common.bzl", "cc_common")
load(":common/cc/cc_info.bzl", "CcInfo")
load(":common/objc/providers.bzl", "J2ObjcEntryClassInfo", "J2ObjcMappingFileInfo")

Expand Down Expand Up @@ -140,6 +138,6 @@ in binary targets that depend on this library."""),
common_attrs.SDK_FRAMEWORK_DEPENDER_RULE,
),
fragments = ["objc", "apple", "cpp"],
cfg = None if cc_common.incompatible_disable_objc_library_transition() else apple_crosstool_transition,
cfg = semantics.apple_crosstool_transition,
toolchains = cc_helper.use_cpp_toolchain(),
)
23 changes: 1 addition & 22 deletions src/main/starlark/builtins_bzl/common/objc/semantics.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,6 @@

load(":common/cc/cc_common.bzl", "cc_common")

_CPU_TO_PLATFORM = {
"darwin_x86_64": "@build_bazel_apple_support//platforms:darwin_x86_64",
"darwin_arm64": "@build_bazel_apple_support//platforms:darwin_arm64",
"darwin_arm64e": "@build_bazel_apple_support//platforms:darwin_arm64e",
"ios_x86_64": "@build_bazel_apple_support//platforms:ios_x86_64",
"ios_arm64": "@build_bazel_apple_support//platforms:ios_arm64",
"ios_sim_arm64": "@build_bazel_apple_support//platforms:ios_sim_arm64",
"ios_arm64e": "@build_bazel_apple_support//platforms:ios_arm64e",
"tvos_sim_arm64": "@build_bazel_apple_support//platforms:tvos_sim_arm64",
"tvos_arm64": "@build_bazel_apple_support//platforms:tvos_arm64",
"tvos_x86_64": "@build_bazel_apple_support//platforms:tvos_x86_64",
"visionos_arm64": "@build_bazel_apple_support//platforms:visionos_arm64",
"visionos_sim_arm64": "@build_bazel_apple_support//platforms:visionos_sim_arm64",
"watchos_armv7k": "@build_bazel_apple_support//platforms:watchos_armv7k",
"watchos_arm64": "@build_bazel_apple_support//platforms:watchos_arm64",
"watchos_device_arm64": "@build_bazel_apple_support//platforms:watchos_arm64",
"watchos_device_arm64e": "@build_bazel_apple_support//platforms:watchos_arm64e",
"watchos_arm64_32": "@build_bazel_apple_support//platforms:watchos_arm64_32",
"watchos_x86_64": "@build_bazel_apple_support//platforms:watchos_x86_64",
}

def _check_toolchain_supports_objc_compile(ctx, cc_toolchain):
feature_configuration = cc_common.configure_features(
ctx = ctx,
Expand Down Expand Up @@ -64,5 +43,5 @@ semantics = struct(
check_toolchain_supports_objc_compile = _check_toolchain_supports_objc_compile,
get_repo = _get_repo,
get_licenses_attr = _get_licenses_attr,
cpu_to_platform = lambda cpu: _CPU_TO_PLATFORM[cpu],
apple_crosstool_transition = None,
)
163 changes: 0 additions & 163 deletions src/main/starlark/builtins_bzl/common/objc/transitions.bzl

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import com.google.devtools.build.lib.actions.Artifact.TreeFileArtifact;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.packages.util.MockJ2ObjcSupport;
import com.google.devtools.build.lib.packages.util.MockObjcSupport;
import com.google.devtools.build.lib.packages.util.MockProtoSupport;
import com.google.devtools.build.lib.testutil.TestConstants;
import org.junit.Before;
Expand Down Expand Up @@ -77,7 +78,12 @@ public final void setup() throws Exception {
MockJ2ObjcSupport.setup(mockToolsConfig);
MockProtoSupport.setup(mockToolsConfig);

useConfiguration("--proto_toolchain_for_java=//tools/proto/toolchains:java");
useConfiguration(
"--proto_toolchain_for_java=//tools/proto/toolchains:java",
"--platforms=" + MockObjcSupport.DARWIN_X86_64,
"--cpu=darwin_x86_64");

setBuildLanguageOptions("--incompatible_disable_objc_library_transition");

mockToolsConfig.append(
"tools/proto/toolchains/BUILD",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -583,13 +583,14 @@ protected void checkClangCoptsForCompilationMode(
switch (codeCoverageMode) {
case NONE:
useConfiguration(
"--platforms=" + MockObjcSupport.IOS_X86_64,
"--apple_platform_type=ios",
"--compilation_mode=" + compilationModeFlag(mode),
"--cpu=k8");
"--compilation_mode=" + compilationModeFlag(mode));
break;
case GCOV:
allExpectedCoptsBuilder.addAll(CompilationSupport.CLANG_GCOV_COVERAGE_FLAGS);
useConfiguration(
"--platforms=" + MockObjcSupport.IOS_X86_64,
"--apple_platform_type=ios",
"--collect_code_coverage",
"--compilation_mode=" + compilationModeFlag(mode),
Expand All @@ -598,6 +599,7 @@ protected void checkClangCoptsForCompilationMode(
case LLVMCOV:
allExpectedCoptsBuilder.addAll(CompilationSupport.CLANG_LLVM_COVERAGE_FLAGS);
useConfiguration(
"--platforms=" + MockObjcSupport.IOS_X86_64,
"--apple_platform_type=ios",
"--collect_code_coverage",
"--experimental_use_llvm_covmap",
Expand All @@ -621,6 +623,7 @@ protected void checkClangCoptsForDebugModeWithoutGlib(RuleType ruleType) throws
.addAll(ObjcConfiguration.DBG_COPTS);

useConfiguration(
"--platforms=" + MockObjcSupport.IOS_X86_64,
"--apple_platform_type=ios",
"--compilation_mode=dbg",
"--objc_debug_with_GLIBCXX=false",
Expand Down

0 comments on commit d553273

Please sign in to comment.