aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Chris Parsons <cparsons@google.com>2016-05-27 18:17:00 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2016-05-30 09:19:49 +0000
commit197543a596dc989311eabe3c9c979c49d3f4e645 (patch)
tree23cb17f9bdfa47b890c610229ba9c0b089e884f0 /src
parent660640d9976139626b59ea09d9d293eeaa8c83bc (diff)
Move xcode-locator into src/tools packages, defining it as a target under @bazel_tools. Currently the tool still remains in embedded_binaries, but we will migrate away from that: Eventually it can simply live just under @bazel_tools.
-- MOS_MIGRATED_REVID=123436822
Diffstat (limited to 'src')
-rw-r--r--src/BUILD6
-rwxr-xr-xsrc/create_embedded_tools.sh1
-rw-r--r--src/main/tools/BUILD22
-rwxr-xr-xsrc/test/shell/bazel/bazel_objc_test.sh18
-rw-r--r--src/tools/xcode/xcodelocator/BUILD28
-rw-r--r--src/tools/xcode/xcodelocator/xcode_locator.m (renamed from src/main/tools/xcode_locator.m)16
-rwxr-xr-xsrc/tools/xcode/xcodelocator/xcode_locator_stub.sh (renamed from src/main/tools/xcode_locator_stub.sh)0
7 files changed, 59 insertions, 32 deletions
diff --git a/src/BUILD b/src/BUILD
index 6604f6f525..443eba13b5 100644
--- a/src/BUILD
+++ b/src/BUILD
@@ -26,9 +26,9 @@ filegroup(
":libunix",
"//src/main/tools:build-runfiles",
"//src/main/tools:process-wrapper",
- "//src/main/tools:xcode-locator",
"//src/main/tools:namespace-sandbox",
"//src/main/tools:build_interface_so",
+ "//src/tools/xcode/xcodelocator:xcode-locator",
] + embedded_tools,
outs = ["install_base_key" + suffix],
cmd = select({
@@ -105,6 +105,7 @@ filegroup(
"//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",
@@ -180,10 +181,10 @@ genrule(
":libunix",
"//src/main/tools:build-runfiles",
"//src/main/tools:process-wrapper",
- "//src/main/tools:xcode-locator",
"//src/main/tools:jdk-support",
"//src/main/tools:namespace-sandbox",
"//src/main/tools:build_interface_so",
+ "//src/tools/xcode/xcodelocator:xcode-locator",
":java-version",
],
outs = ["package" + suffix + ".zip"],
@@ -302,6 +303,7 @@ filegroup(
"//src/tools/xcode/realpath: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",
],
diff --git a/src/create_embedded_tools.sh b/src/create_embedded_tools.sh
index bba803adf5..cb0295e951 100755
--- a/src/create_embedded_tools.sh
+++ b/src/create_embedded_tools.sh
@@ -43,6 +43,7 @@ for i in $*; do
*src/objc_tools/*) OUTPUT_PATH=tools/objc/precomp_${i##*/} ;;
*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 ;;
*src/tools/xcode/*) OUTPUT_PATH=tools/objc/${i##*/}.sh ;;
*) OUTPUT_PATH=$(echo $i | sed 's_^.*bazel-out/[^/]*/bin/__') ;;
esac
diff --git a/src/main/tools/BUILD b/src/main/tools/BUILD
index 6f2832c085..de5ec21a99 100644
--- a/src/main/tools/BUILD
+++ b/src/main/tools/BUILD
@@ -51,28 +51,6 @@ cc_binary(
}),
)
-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,
-)
-
filegroup(
name = "jdk-support",
srcs = [
diff --git a/src/test/shell/bazel/bazel_objc_test.sh b/src/test/shell/bazel/bazel_objc_test.sh
index 410d95e292..5a80672c55 100755
--- a/src/test/shell/bazel/bazel_objc_test.sh
+++ b/src/test/shell/bazel/bazel_objc_test.sh
@@ -161,4 +161,22 @@ function test_invalid_ios_sdk_version() {
expect_log "SDK \"iphonesimulator2.34\" cannot be located."
}
+function test_xcodelocator_embedded_tool() {
+ rm -rf ios
+ mkdir -p ios
+
+ cat >ios/BUILD <<EOF
+genrule(
+ name = "invoke_tool",
+ srcs = ["@bazel_tools//tools/objc:xcode-locator"],
+ outs = ["tool_output"],
+ cmd = "\$< > \$@",
+ tags = ["requires-darwin"],
+)
+EOF
+
+ bazel build --verbose_failures //ios:invoke_tool >$TEST_log 2>&1 \
+ || fail "should be able to resolve xcode-locator"
+}
+
run_suite "objc/ios test suite"
diff --git a/src/tools/xcode/xcodelocator/BUILD b/src/tools/xcode/xcodelocator/BUILD
new file mode 100644
index 0000000000..48eb69426e
--- /dev/null
+++ b/src/tools/xcode/xcodelocator/BUILD
@@ -0,0 +1,28 @@
+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/src/main/tools/xcode_locator.m b/src/tools/xcode/xcodelocator/xcode_locator.m
index 5b7a12e1f2..09ebc0002b 100644
--- a/src/main/tools/xcode_locator.m
+++ b/src/tools/xcode/xcodelocator/xcode_locator.m
@@ -91,17 +91,17 @@ static NSString *ExpandVersion(NSString *version) {
int main(int argc, const char * argv[]) {
@autoreleasepool {
- NSString *version = nil;
+ NSString *versionArg = nil;
if (argc == 1) {
- version = @"";
+ versionArg = @"";
} else if (argc == 2) {
- version = [NSString stringWithUTF8String:argv[1]];
+ versionArg = [NSString stringWithUTF8String:argv[1]];
NSCharacterSet *versSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789."];
- if ([version rangeOfCharacterFromSet:versSet.invertedSet].length != 0) {
- version = nil;
+ if ([versionArg rangeOfCharacterFromSet:versSet.invertedSet].length != 0) {
+ versionArg = nil;
}
}
- if (version == nil) {
+ if (versionArg == nil) {
printf("xcode_locator <version_number>\n"
"Given a version number, or partial version number in x.y.z format, will attempt "
"to return the path to the appropriate developer directory.\nOmitting a version "
@@ -137,7 +137,7 @@ int main(int argc, const char * argv[]) {
AddEntryToDictionary(entry, dict);
}
- XcodeVersionEntry *entry = [dict objectForKey:version];
+ XcodeVersionEntry *entry = [dict objectForKey:versionArg];
if (entry) {
printf("%s\n", entry.url.fileSystemRepresentation);
return 0;
@@ -150,6 +150,6 @@ int main(int argc, const char * argv[]) {
printf("\t\"%s\": \"%s\",\n", version.UTF8String, entry.url.fileSystemRepresentation);
}
printf("}\n");
- return (version == nil ? 0 : 1);
+ return ([@"" isEqualToString:versionArg] ? 0 : 1);
}
}
diff --git a/src/main/tools/xcode_locator_stub.sh b/src/tools/xcode/xcodelocator/xcode_locator_stub.sh
index 33191c9b87..33191c9b87 100755
--- a/src/main/tools/xcode_locator_stub.sh
+++ b/src/tools/xcode/xcodelocator/xcode_locator_stub.sh