Skip to content

Instantly share code, notes, and snippets.

@lberki
lberki / BUILD.bazel
Last active January 31, 2025 03:32
Component selection using latent Bazel deps
load(":component_selection.bzl", "binary", "component", "library")
# Implementations. Since this is just a demonstration, empty filegroups will do.
filegroup(name = "impl_mock_foo")
filegroup(name = "impl_real_foo")
component(
name = "mock_foo",
description = "A: mock, preferred",
interface = "foo",
@lberki
lberki / gist:1f9c599185214ecf5c4b03b03fa9f674
Created September 25, 2023 11:37
Bazel flags to be removed
android_include_proguard_location_references
call_count_output_path
cc_proto_library_source_suffixes
debug_print_action_contexts
dynamic_worker_strategy
experimental_allow_top_level_aspects_parameters
experimental_analysis_test_call
experimental_android_local_test_binary_resources
experimental_async_execution
experimental_availability_info_exempt
@lberki
lberki / flags.txt
Created September 5, 2023 13:07
Candidate flags for removal from Bazel, 2023 September 5
android_include_proguard_location_references
call_count_output_path
cc_proto_library_source_suffixes
debug_print_action_contexts
dynamic_worker_strategy
experimental_allow_top_level_aspects_parameters
experimental_analysis_test_call
experimental_android_local_test_binary_resources
experimental_async_execution
experimental_availability_info_exempt
diff --git a/src/main/java/com/google/devtools/build/lib/rules/Alias.java b/src/main/java/com/google/devtools/build/lib/rules/Alias.java
index a24c537..11abd0e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/Alias.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/Alias.java
@@ -38,6 +38,7 @@ public class Alias implements RuleConfiguredTargetFactory {
public ConfiguredTarget create(RuleContext ruleContext) throws InterruptedException {
ConfiguredTarget actual = (ConfiguredTarget) ruleContext.getPrerequisite("actual", Mode.TARGET);
return new AliasConfiguredTarget(
+ ruleContext.getConfiguration(),
actual,
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java
index ed8a3c7..625a244 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java
@@ -77,6 +77,12 @@ public class AndroidNdkRepositoryFunction extends RepositoryFunction {
throws SkyFunctionException {
prepareLocalRepositorySymlinkTree(rule, outputDirectory);
PathFragment pathFragment = getTargetPath(rule);
+ FileValue resolvedNdkPath = (FileValue) env.getValue(FileValue.key(
+ RootedPath.toRootedPath(getWorkspace().getFileSystem().getRootDirectory(), pathFragment.toRelative())));