diff options
author | 2016-05-27 18:17:00 +0000 | |
---|---|---|
committer | 2016-05-30 09:19:49 +0000 | |
commit | 197543a596dc989311eabe3c9c979c49d3f4e645 (patch) | |
tree | 23cb17f9bdfa47b890c610229ba9c0b089e884f0 /src | |
parent | 660640d9976139626b59ea09d9d293eeaa8c83bc (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/BUILD | 6 | ||||
-rwxr-xr-x | src/create_embedded_tools.sh | 1 | ||||
-rw-r--r-- | src/main/tools/BUILD | 22 | ||||
-rwxr-xr-x | src/test/shell/bazel/bazel_objc_test.sh | 18 | ||||
-rw-r--r-- | src/tools/xcode/xcodelocator/BUILD | 28 | ||||
-rw-r--r-- | src/tools/xcode/xcodelocator/xcode_locator.m (renamed from src/main/tools/xcode_locator.m) | 16 | ||||
-rwxr-xr-x | src/tools/xcode/xcodelocator/xcode_locator_stub.sh (renamed from src/main/tools/xcode_locator_stub.sh) | 0 |
7 files changed, 59 insertions, 32 deletions
@@ -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 |