diff options
Diffstat (limited to 'src')
9 files changed, 18 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/Constants.java b/src/main/java/com/google/devtools/build/lib/Constants.java index d4d643662f..940fa0e535 100644 --- a/src/main/java/com/google/devtools/build/lib/Constants.java +++ b/src/main/java/com/google/devtools/build/lib/Constants.java @@ -38,7 +38,7 @@ public class Constants { public static final ImmutableList<String> ANDROID_DEFAULT_FAT_APK_CPUS = ImmutableList.<String>of("armeabi-v7a"); public static final String ANDROID_DEP_PREFIX = "//external:android/".toString(); - public static final String TOOLS_REPOSITORY = "".toString(); + public static final String TOOLS_REPOSITORY = "@bazel_tools".toString(); /** * Whether C++ include scanning should be disabled no matter what the --cc_include_scanning flag diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java index c315c3cf3f..38fb0bb026 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java @@ -280,6 +280,8 @@ public class BazelRuleClassProvider { try { builder.addWorkspaceFile( + ResourceFileLoader.loadResource(BazelRuleClassProvider.class, "tools.WORKSPACE")); + builder.addWorkspaceFile( ResourceFileLoader.loadResource(BazelJavaRuleClasses.class, "jdk.WORKSPACE")); builder.addWorkspaceFile( ResourceFileLoader.loadResource(BazelAndroidSemantics.class, "android.WORKSPACE")); diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/tools.WORKSPACE b/src/main/java/com/google/devtools/build/lib/bazel/rules/tools.WORKSPACE new file mode 100644 index 0000000000..4059c9e245 --- /dev/null +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/tools.WORKSPACE @@ -0,0 +1 @@ +local_repository(name = "bazel_tools", path = __embedded_dir__ + "/embedded_tools") diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java index 83cde77f04..2a34ed02d3 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java @@ -281,16 +281,16 @@ public final class AndroidRuleClasses { new SafeImplicitOutputsFunction() { @Override public Iterable<String> getImplicitOutputs(AttributeMap attributes) { - + ImmutableList.Builder<SafeImplicitOutputsFunction> implicitOutputs = ImmutableList.builder(); - + implicitOutputs.add( AndroidRuleClasses.ANDROID_LIBRARY_CLASS_JAR, AndroidRuleClasses.ANDROID_LIBRARY_SOURCE_JAR, AndroidRuleClasses.ANDROID_LIBRARY_JACK_FILE, AndroidRuleClasses.ANDROID_LIBRARY_AAR); - + if (LocalResourceContainer.definesAndroidResources(attributes)) { implicitOutputs.add( AndroidRuleClasses.ANDROID_JAVA_SOURCE_JAR, @@ -535,7 +535,8 @@ public final class AndroidRuleClasses { // TODO(ahumesky): It would be better to put this dependency in //tools/android somehow // like all the rest of android tools. .add(attr("$jarjar_bin", LABEL).cfg(HOST).exec() - .value(env.getLabel("//third_party/java/jarjar:jarjar_bin"))) + .value(env.getLabel( + Constants.TOOLS_REPOSITORY + "//third_party/java/jarjar:jarjar_bin"))) .add(attr("$idlclass", LABEL).cfg(HOST).exec() .value(env.getLabel(Constants.ANDROID_DEP_PREFIX + "IdlClass"))) .build(); diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageLoaderWithValueEnvironment.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageLoaderWithValueEnvironment.java index 107ef1f11c..95ff677240 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageLoaderWithValueEnvironment.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageLoaderWithValueEnvironment.java @@ -65,7 +65,7 @@ class SkyframePackageLoaderWithValueEnvironment implements PackageProviderForCon @Override public void addDependency(Package pkg, String fileName) throws LabelSyntaxException, IOException { RootedPath fileRootedPath = RootedPath.toRootedPath(pkg.getSourceRoot(), - pkg.getNameFragment().getRelative(fileName)); + pkg.getPackageIdentifier().getPathFragment().getRelative(fileName)); FileValue result = (FileValue) env.getValue(FileValue.key(fileRootedPath)); if (result != null && !result.exists()) { throw new IOException(); diff --git a/src/test/java/BUILD b/src/test/java/BUILD index 03354de817..d118130fde 100644 --- a/src/test/java/BUILD +++ b/src/test/java/BUILD @@ -340,6 +340,7 @@ java_test( ":testutil", "//src/main/java:analysis-exec-rules-skyframe", "//src/main/java:bazel-core", + "//src/main/java:common", "//src/main/java:options", "//src/main/java:packages", "//src/main/java:util", diff --git a/src/test/java/com/google/devtools/build/lib/analysis/config/ConfigSettingTest.java b/src/test/java/com/google/devtools/build/lib/analysis/config/ConfigSettingTest.java index 4f2775dd1d..5cbe70305e 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/config/ConfigSettingTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/config/ConfigSettingTest.java @@ -13,6 +13,7 @@ // limitations under the License. package com.google.devtools.build.lib.analysis.config; +import com.google.devtools.build.lib.Constants; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.common.options.OptionsBase; @@ -203,8 +204,9 @@ public class ConfigSettingTest extends BuildViewTestCase { } public void testSelectForDefaultCrosstoolTop() throws Exception { + String crosstoolTop = Constants.TOOLS_REPOSITORY + "//tools/cpp:toolchain"; scratchConfiguredTarget("a", "a", - "config_setting(name='cs', values={'crosstool_top': '//tools/cpp:toolchain'})", + "config_setting(name='cs', values={'crosstool_top': '" + crosstoolTop + "'})", "sh_library(name='a', srcs=['a.sh'], deps=select({':cs': []}))"); } } diff --git a/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java b/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java index 811ac6374a..0849ac1261 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java @@ -64,9 +64,11 @@ public class BazelAnalysisMock extends AnalysisMock { @Override public void setupMockClient(MockToolsConfig config) throws IOException { + String workspace = config.getPath("").getPathString(); ArrayList<String> workspaceContents = new ArrayList<>( ImmutableList.of( + "local_repository(name = 'bazel_tools', path = '" + workspace + "')", "bind(", " name = 'objc_proto_lib',", " actual = '//objcproto:ProtocolBuffers_lib',", diff --git a/src/test/shell/bazel/bazel_sandboxing_test.sh b/src/test/shell/bazel/bazel_sandboxing_test.sh index fb6e134d4d..5cf124af72 100755 --- a/src/test/shell/bazel/bazel_sandboxing_test.sh +++ b/src/test/shell/bazel/bazel_sandboxing_test.sh @@ -105,7 +105,8 @@ genrule( name = "tooldir", srcs = [], outs = ["tooldir.txt"], - cmd = "ls -l tools/genrule | tee $@ >&2; cat tools/genrule/genrule-setup.sh >&2", + cmd = "ls -l external/bazel_tools/tools/genrule | tee $@ >&2; " + + "cat external/bazel_tools/tools/genrule/genrule-setup.sh >&2", ) genrule( |