Export xcode_locator's source file under tools/osx/ to make it available for reference by future repository rules. Removes the xcode-locator binary file under tools/objc. Originally, the precompiled binary was going to be referenced, but it's easier to build from source in the repository rule.
--
MOS_MIGRATED_REVID=128063694
diff --git a/scripts/bootstrap/compile.sh b/scripts/bootstrap/compile.sh
index 1714cda..7c28986 100755
--- a/scripts/bootstrap/compile.sh
+++ b/scripts/bootstrap/compile.sh
@@ -261,7 +261,7 @@
cp src/main/tools/build_interface_so ${ARCHIVE_DIR}/_embedded_binaries/build_interface_so
cp src/main/tools/jdk.BUILD ${ARCHIVE_DIR}/_embedded_binaries/jdk.BUILD
cp $OUTPUT_DIR/libblaze.jar ${ARCHIVE_DIR}
-cp src/tools/xcode/xcodelocator/xcode_locator_stub.sh ${ARCHIVE_DIR}/_embedded_binaries/xcode-locator
+cp tools/osx/xcode_locator_stub.sh ${ARCHIVE_DIR}/_embedded_binaries/xcode-locator
# bazel build using bootstrap version
function bootstrap_build() {
diff --git a/src/BUILD b/src/BUILD
index 3694e67..1b57055 100644
--- a/src/BUILD
+++ b/src/BUILD
@@ -28,7 +28,7 @@
"//src/main/tools:process-wrapper",
"//src/main/tools:linux-sandbox",
"//src/main/tools:build_interface_so",
- "//src/tools/xcode/xcodelocator:xcode-locator",
+ "//tools/osx:xcode-locator",
] + embedded_tools,
outs = ["install_base_key" + suffix],
cmd = select({
@@ -105,12 +105,12 @@
"//src/tools/xcode/momcwrapper:momcwrapper",
"//src/tools/xcode/swiftstdlibtoolwrapper:swiftstdlibtoolwrapper",
"//src/tools/xcode/environment:environment_plist",
- "//src/tools/xcode/xcodelocator:xcode-locator",
"//src/tools/xcode/xcrunwrapper:xcrunwrapper",
"//src/objc_tools/bundlemerge:bundlemerge_deploy.jar",
"//src/objc_tools/plmerge:plmerge_deploy.jar",
"//src/objc_tools/xcodegen:xcodegen_deploy.jar",
"//src/tools/xcode/realpath:realpath",
+ "//tools/osx:xcode_locator.m",
] + select({
":iphonesdk": ["//src/tools/xcode/stdredirect:StdRedirect.dylib"],
"//conditions:default": [":dummy_darwin_tool_src_tools_xcode_stdredirect_StdRedirect.dylib"],
@@ -185,7 +185,7 @@
"//src/main/tools:jdk-support",
"//src/main/tools:linux-sandbox",
"//src/main/tools:build_interface_so",
- "//src/tools/xcode/xcodelocator:xcode-locator",
+ "//tools/osx:xcode-locator",
":java-version",
],
outs = ["package" + suffix + ".zip"],
@@ -313,10 +313,10 @@
"//src/tools/singlejar:srcs",
"//src/tools/xcode/stdredirect:srcs",
"//src/tools/xcode/swiftstdlibtoolwrapper:srcs",
- "//src/tools/xcode/xcodelocator:srcs",
"//src/tools/xcode/xcrunwrapper:srcs",
"//src/tools/xcode-common:srcs",
"//src/tools/remote_worker:srcs",
+ "//tools/osx:srcs",
],
visibility = ["//:__pkg__"],
)
diff --git a/src/create_embedded_tools.sh b/src/create_embedded_tools.sh
index f8ab4c8..d482c86 100755
--- a/src/create_embedded_tools.sh
+++ b/src/create_embedded_tools.sh
@@ -54,6 +54,8 @@
*xcode*StdRedirect.dylib) OUTPUT_PATH=tools/objc/StdRedirect.dylib ;;
*xcode*realpath) OUTPUT_PATH=tools/objc/realpath ;;
*xcode*xcode-locator) OUTPUT_PATH=tools/objc/xcode-locator ;;
+# *xcode*xcode_locator.m) OUTPUT_PATH=tools/osx/xcode_locator.m ;;
+# *tools/osx/BUILD) OUTPUT_PATH=tools/osx/BUILD ;;
*src/tools/xcode/*) OUTPUT_PATH=tools/objc/${i##*/}.sh ;;
*) OUTPUT_PATH=$(echo $i | sed 's_^.*bazel-out/[^/]*/bin/__') ;;
esac
diff --git a/src/test/shell/bazel/BUILD b/src/test/shell/bazel/BUILD
index 95151b4..a3d9751 100644
--- a/src/test/shell/bazel/BUILD
+++ b/src/test/shell/bazel/BUILD
@@ -39,7 +39,7 @@
"//src/tools/xcode/stdredirect:StdRedirect.dylib",
"//src/tools/xcode/swiftstdlibtoolwrapper",
"//src/tools/xcode/xcrunwrapper",
- "//src/tools/xcode/xcodelocator:xcode-locator",
+ "//tools/osx:xcode-locator",
"//third_party/iossim",
],
"//conditions:default": [],
diff --git a/src/test/shell/bazel/bazel_apple_test.sh b/src/test/shell/bazel/bazel_apple_test.sh
index 6eb6ca2..a8e6bea 100755
--- a/src/test/shell/bazel/bazel_apple_test.sh
+++ b/src/test/shell/bazel/bazel_apple_test.sh
@@ -33,8 +33,19 @@
# Find where Xcode 7 (any sub-version will do) is located and get the iOS SDK
# version it contains.
# TODO(b/27267941): This is a hack until the bug is fixed.
- XCODE_LOCATOR="$(bazel info output_base)/external/bazel_tools/tools/objc/xcode-locator"
- XCODE_INFO=$($XCODE_LOCATOR -v | grep -m1 7)
+ rm -rf xcodehelper
+ mkdir -p xcodehelper
+ cat > xcodehelper/BUILD <<EOF
+genrule(
+ name = "invoke_tool",
+ srcs = ["@bazel_tools//tools/osx:xcode-locator"],
+ outs = ["xcode_locations"],
+ cmd = "\$< -v > \$@",
+)
+EOF
+
+ bazel build xcodehelper:xcode_locations
+ XCODE_INFO=$(cat bazel-genfiles/xcodehelper/xcode_locations | grep -m1 7)
XCODE_DIR=$(echo $XCODE_INFO | cut -d ':' -f3)
XCODE_VERSION=$(echo $XCODE_INFO | cut -d ':' -f1)
IOS_SDK_VERSION=$(DEVELOPER_DIR=$XCODE_DIR xcodebuild -sdk -version \
diff --git a/src/test/shell/bazel/bazel_objc_test.sh b/src/test/shell/bazel/bazel_objc_test.sh
index 5a80672..125392c 100755
--- a/src/test/shell/bazel/bazel_objc_test.sh
+++ b/src/test/shell/bazel/bazel_objc_test.sh
@@ -168,7 +168,7 @@
cat >ios/BUILD <<EOF
genrule(
name = "invoke_tool",
- srcs = ["@bazel_tools//tools/objc:xcode-locator"],
+ srcs = ["@bazel_tools//tools/osx:xcode-locator"],
outs = ["tool_output"],
cmd = "\$< > \$@",
tags = ["requires-darwin"],
diff --git a/src/tools/xcode/xcodelocator/BUILD b/src/tools/xcode/xcodelocator/BUILD
deleted file mode 100644
index 48eb694..0000000
--- a/src/tools/xcode/xcodelocator/BUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-package(default_visibility = ["//src:__subpackages__"])
-
-filegroup(
- name = "srcs",
- srcs = glob(["**"]),
-)
-
-DARWIN_XCODE_LOCATOR_COMPILE_COMMAND = """
- /usr/bin/xcrun clang -fobjc-arc -framework CoreServices \
- -framework Foundation -o $@ $<
-"""
-
-genrule(
- name = "xcode-locator-genrule",
- srcs = select({
- "//src:darwin": ["xcode_locator.m"],
- "//src:darwin_x86_64": ["xcode_locator.m"],
- "//conditions:default": ["xcode_locator_stub.sh"],
- }),
- outs = ["xcode-locator"],
- cmd = select({
- "//src:darwin": DARWIN_XCODE_LOCATOR_COMPILE_COMMAND,
- "//src:darwin_x86_64": DARWIN_XCODE_LOCATOR_COMPILE_COMMAND,
- "//conditions:default": "cp $< $@",
- }),
- local = 1,
- output_to_bindir = 1,
-)
diff --git a/tools/BUILD b/tools/BUILD
index 360d9eb..e502539 100644
--- a/tools/BUILD
+++ b/tools/BUILD
@@ -20,6 +20,7 @@
"//tools/cpp:srcs",
"//tools/j2objc:srcs",
"//tools/objc:srcs",
+ "//tools/osx:srcs",
"//tools/osx/crosstool:srcs",
"//tools/test:srcs",
"//tools/python:srcs",
@@ -46,6 +47,7 @@
"//tools/python:srcs",
"//tools/test:srcs",
"//tools/osx/crosstool:srcs",
+ "//tools/osx:srcs",
"//tools/zip:srcs",
],
)
diff --git a/tools/osx/BUILD b/tools/osx/BUILD
new file mode 100644
index 0000000..e496018
--- /dev/null
+++ b/tools/osx/BUILD
@@ -0,0 +1,45 @@
+package(default_visibility = ["//visibility:public"])
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["**"] + ["**/*"]),
+)
+
+exports_files([
+ "xcode_locator.m",
+])
+
+DARWIN_XCODE_LOCATOR_COMPILE_COMMAND = """
+ /usr/bin/xcrun clang -fobjc-arc -framework CoreServices \
+ -framework Foundation -o $@ $<
+"""
+
+genrule(
+ name = "xcode-locator-genrule",
+ srcs = select({
+ ":darwin": ["xcode_locator.m"],
+ ":darwin_x86_64": ["xcode_locator.m"],
+ "//conditions:default": ["xcode_locator_stub.sh"],
+ }),
+ outs = ["xcode-locator"],
+ cmd = select({
+ ":darwin": DARWIN_XCODE_LOCATOR_COMPILE_COMMAND,
+ ":darwin_x86_64": DARWIN_XCODE_LOCATOR_COMPILE_COMMAND,
+ "//conditions:default": "cp $< $@",
+ }),
+ local = 1,
+ output_to_bindir = 1,
+)
+
+# TODO(cparsons): Consolidate with config_settings under //src
+config_setting(
+ name = "darwin",
+ values = {"cpu": "darwin"},
+ visibility = ["//visibility:public"],
+)
+
+config_setting(
+ name = "darwin_x86_64",
+ values = {"cpu": "darwin_x86_64"},
+ visibility = ["//visibility:public"],
+)
diff --git a/src/tools/xcode/xcodelocator/xcode_locator.m b/tools/osx/xcode_locator.m
similarity index 100%
rename from src/tools/xcode/xcodelocator/xcode_locator.m
rename to tools/osx/xcode_locator.m
diff --git a/src/tools/xcode/xcodelocator/xcode_locator_stub.sh b/tools/osx/xcode_locator_stub.sh
similarity index 100%
rename from src/tools/xcode/xcodelocator/xcode_locator_stub.sh
rename to tools/osx/xcode_locator_stub.sh