1*b6fb3261SAndroid Build Coastguard Worker"""TensorFlow workspace initialization. Consult the WORKSPACE on how to use it.""" 2*b6fb3261SAndroid Build Coastguard Worker 3*b6fb3261SAndroid Build Coastguard Workerload("//third_party/googleapis:repository_rules.bzl", "config_googleapis") 4*b6fb3261SAndroid Build Coastguard Workerload("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") 5*b6fb3261SAndroid Build Coastguard Workerload("@bazel_toolchains//repositories:repositories.bzl", bazel_toolchains_repositories = "repositories") 6*b6fb3261SAndroid Build Coastguard Workerload("@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies") 7*b6fb3261SAndroid Build Coastguard Workerload("@build_bazel_rules_swift//swift:repositories.bzl", "swift_rules_dependencies") 8*b6fb3261SAndroid Build Coastguard Workerload("@build_bazel_apple_support//lib:repositories.bzl", "apple_support_dependencies") 9*b6fb3261SAndroid Build Coastguard Workerload("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps") 10*b6fb3261SAndroid Build Coastguard Workerload("@local_config_android//:android.bzl", "android_workspace") 11*b6fb3261SAndroid Build Coastguard Workerload("@rules_cc//cc:repositories.bzl", "rules_cc_toolchains") 12*b6fb3261SAndroid Build Coastguard Worker 13*b6fb3261SAndroid Build Coastguard Workerdef _tf_bind(): 14*b6fb3261SAndroid Build Coastguard Worker """Bind targets for some external repositories""" 15*b6fb3261SAndroid Build Coastguard Worker ############################################################################## 16*b6fb3261SAndroid Build Coastguard Worker # BIND DEFINITIONS 17*b6fb3261SAndroid Build Coastguard Worker # 18*b6fb3261SAndroid Build Coastguard Worker # Please do not add bind() definitions unless we have no other choice. 19*b6fb3261SAndroid Build Coastguard Worker # If that ends up being the case, please leave a comment explaining 20*b6fb3261SAndroid Build Coastguard Worker # why we can't depend on the canonical build target. 21*b6fb3261SAndroid Build Coastguard Worker 22*b6fb3261SAndroid Build Coastguard Worker # Needed by Protobuf 23*b6fb3261SAndroid Build Coastguard Worker native.bind( 24*b6fb3261SAndroid Build Coastguard Worker name = "grpc_cpp_plugin", 25*b6fb3261SAndroid Build Coastguard Worker actual = "@com_github_grpc_grpc//src/compiler:grpc_cpp_plugin", 26*b6fb3261SAndroid Build Coastguard Worker ) 27*b6fb3261SAndroid Build Coastguard Worker native.bind( 28*b6fb3261SAndroid Build Coastguard Worker name = "grpc_python_plugin", 29*b6fb3261SAndroid Build Coastguard Worker actual = "@com_github_grpc_grpc//src/compiler:grpc_python_plugin", 30*b6fb3261SAndroid Build Coastguard Worker ) 31*b6fb3261SAndroid Build Coastguard Worker 32*b6fb3261SAndroid Build Coastguard Worker native.bind( 33*b6fb3261SAndroid Build Coastguard Worker name = "grpc_lib", 34*b6fb3261SAndroid Build Coastguard Worker actual = "@com_github_grpc_grpc//:grpc++", 35*b6fb3261SAndroid Build Coastguard Worker ) 36*b6fb3261SAndroid Build Coastguard Worker 37*b6fb3261SAndroid Build Coastguard Worker native.bind( 38*b6fb3261SAndroid Build Coastguard Worker name = "grpc_lib_unsecure", 39*b6fb3261SAndroid Build Coastguard Worker actual = "@com_github_grpc_grpc//:grpc++_unsecure", 40*b6fb3261SAndroid Build Coastguard Worker ) 41*b6fb3261SAndroid Build Coastguard Worker 42*b6fb3261SAndroid Build Coastguard Worker # Needed by Protobuf 43*b6fb3261SAndroid Build Coastguard Worker native.bind( 44*b6fb3261SAndroid Build Coastguard Worker name = "python_headers", 45*b6fb3261SAndroid Build Coastguard Worker actual = str(Label("//third_party/python_runtime:headers")), 46*b6fb3261SAndroid Build Coastguard Worker ) 47*b6fb3261SAndroid Build Coastguard Worker 48*b6fb3261SAndroid Build Coastguard Worker # Needed by Protobuf 49*b6fb3261SAndroid Build Coastguard Worker native.bind( 50*b6fb3261SAndroid Build Coastguard Worker name = "six", 51*b6fb3261SAndroid Build Coastguard Worker actual = "@six_archive//:six", 52*b6fb3261SAndroid Build Coastguard Worker ) 53*b6fb3261SAndroid Build Coastguard Worker 54*b6fb3261SAndroid Build Coastguard Workerdef _tf_bind(): 55*b6fb3261SAndroid Build Coastguard Worker """Bind targets for some external repositories""" 56*b6fb3261SAndroid Build Coastguard Worker ############################################################################## 57*b6fb3261SAndroid Build Coastguard Worker # BIND DEFINITIONS 58*b6fb3261SAndroid Build Coastguard Worker # 59*b6fb3261SAndroid Build Coastguard Worker # Please do not add bind() definitions unless we have no other choice. 60*b6fb3261SAndroid Build Coastguard Worker # If that ends up being the case, please leave a comment explaining 61*b6fb3261SAndroid Build Coastguard Worker # why we can't depend on the canonical build target. 62*b6fb3261SAndroid Build Coastguard Worker 63*b6fb3261SAndroid Build Coastguard Worker # Needed by Protobuf 64*b6fb3261SAndroid Build Coastguard Worker native.bind( 65*b6fb3261SAndroid Build Coastguard Worker name = "grpc_cpp_plugin", 66*b6fb3261SAndroid Build Coastguard Worker actual = "@com_github_grpc_grpc//src/compiler:grpc_cpp_plugin", 67*b6fb3261SAndroid Build Coastguard Worker ) 68*b6fb3261SAndroid Build Coastguard Worker native.bind( 69*b6fb3261SAndroid Build Coastguard Worker name = "grpc_python_plugin", 70*b6fb3261SAndroid Build Coastguard Worker actual = "@com_github_grpc_grpc//src/compiler:grpc_python_plugin", 71*b6fb3261SAndroid Build Coastguard Worker ) 72*b6fb3261SAndroid Build Coastguard Worker 73*b6fb3261SAndroid Build Coastguard Worker native.bind( 74*b6fb3261SAndroid Build Coastguard Worker name = "grpc_lib", 75*b6fb3261SAndroid Build Coastguard Worker actual = "@com_github_grpc_grpc//:grpc++", 76*b6fb3261SAndroid Build Coastguard Worker ) 77*b6fb3261SAndroid Build Coastguard Worker 78*b6fb3261SAndroid Build Coastguard Worker native.bind( 79*b6fb3261SAndroid Build Coastguard Worker name = "grpc_lib_unsecure", 80*b6fb3261SAndroid Build Coastguard Worker actual = "@com_github_grpc_grpc//:grpc++_unsecure", 81*b6fb3261SAndroid Build Coastguard Worker ) 82*b6fb3261SAndroid Build Coastguard Worker 83*b6fb3261SAndroid Build Coastguard Worker # Needed by Protobuf 84*b6fb3261SAndroid Build Coastguard Worker native.bind( 85*b6fb3261SAndroid Build Coastguard Worker name = "python_headers", 86*b6fb3261SAndroid Build Coastguard Worker actual = str(Label("//third_party/python_runtime:headers")), 87*b6fb3261SAndroid Build Coastguard Worker ) 88*b6fb3261SAndroid Build Coastguard Worker 89*b6fb3261SAndroid Build Coastguard Worker # Needed by Protobuf 90*b6fb3261SAndroid Build Coastguard Worker native.bind( 91*b6fb3261SAndroid Build Coastguard Worker name = "six", 92*b6fb3261SAndroid Build Coastguard Worker actual = "@six_archive//:six", 93*b6fb3261SAndroid Build Coastguard Worker ) 94*b6fb3261SAndroid Build Coastguard Worker 95*b6fb3261SAndroid Build Coastguard Workerdef workspace(): 96*b6fb3261SAndroid Build Coastguard Worker http_archive( 97*b6fb3261SAndroid Build Coastguard Worker name = "inception_v1", 98*b6fb3261SAndroid Build Coastguard Worker build_file = "//:models.BUILD", 99*b6fb3261SAndroid Build Coastguard Worker sha256 = "7efe12a8363f09bc24d7b7a450304a15655a57a7751929b2c1593a71183bb105", 100*b6fb3261SAndroid Build Coastguard Worker urls = [ 101*b6fb3261SAndroid Build Coastguard Worker "https://storage.googleapis.com/download.tensorflow.org/models/inception_v1.zip", 102*b6fb3261SAndroid Build Coastguard Worker ], 103*b6fb3261SAndroid Build Coastguard Worker ) 104*b6fb3261SAndroid Build Coastguard Worker 105*b6fb3261SAndroid Build Coastguard Worker http_archive( 106*b6fb3261SAndroid Build Coastguard Worker name = "mobile_ssd", 107*b6fb3261SAndroid Build Coastguard Worker build_file = "//:models.BUILD", 108*b6fb3261SAndroid Build Coastguard Worker sha256 = "bddd81ea5c80a97adfac1c9f770e6f55cbafd7cce4d3bbe15fbeb041e6b8f3e8", 109*b6fb3261SAndroid Build Coastguard Worker urls = [ 110*b6fb3261SAndroid Build Coastguard Worker "https://storage.googleapis.com/download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_android_export.zip", 111*b6fb3261SAndroid Build Coastguard Worker ], 112*b6fb3261SAndroid Build Coastguard Worker ) 113*b6fb3261SAndroid Build Coastguard Worker 114*b6fb3261SAndroid Build Coastguard Worker http_archive( 115*b6fb3261SAndroid Build Coastguard Worker name = "mobile_multibox", 116*b6fb3261SAndroid Build Coastguard Worker build_file = "//:models.BUILD", 117*b6fb3261SAndroid Build Coastguard Worker sha256 = "859edcddf84dddb974c36c36cfc1f74555148e9c9213dedacf1d6b613ad52b96", 118*b6fb3261SAndroid Build Coastguard Worker urls = [ 119*b6fb3261SAndroid Build Coastguard Worker "https://storage.googleapis.com/download.tensorflow.org/models/mobile_multibox_v1a.zip", 120*b6fb3261SAndroid Build Coastguard Worker ], 121*b6fb3261SAndroid Build Coastguard Worker ) 122*b6fb3261SAndroid Build Coastguard Worker 123*b6fb3261SAndroid Build Coastguard Worker http_archive( 124*b6fb3261SAndroid Build Coastguard Worker name = "stylize", 125*b6fb3261SAndroid Build Coastguard Worker build_file = "//:models.BUILD", 126*b6fb3261SAndroid Build Coastguard Worker sha256 = "3d374a730aef330424a356a8d4f04d8a54277c425e274ecb7d9c83aa912c6bfa", 127*b6fb3261SAndroid Build Coastguard Worker urls = [ 128*b6fb3261SAndroid Build Coastguard Worker "https://storage.googleapis.com/download.tensorflow.org/models/stylize_v1.zip", 129*b6fb3261SAndroid Build Coastguard Worker ], 130*b6fb3261SAndroid Build Coastguard Worker ) 131*b6fb3261SAndroid Build Coastguard Worker 132*b6fb3261SAndroid Build Coastguard Worker http_archive( 133*b6fb3261SAndroid Build Coastguard Worker name = "speech_commands", 134*b6fb3261SAndroid Build Coastguard Worker build_file = "//:models.BUILD", 135*b6fb3261SAndroid Build Coastguard Worker sha256 = "c3ec4fea3158eb111f1d932336351edfe8bd515bb6e87aad4f25dbad0a600d0c", 136*b6fb3261SAndroid Build Coastguard Worker urls = [ 137*b6fb3261SAndroid Build Coastguard Worker "https://storage.googleapis.com/download.tensorflow.org/models/speech_commands_v0.01.zip", 138*b6fb3261SAndroid Build Coastguard Worker ], 139*b6fb3261SAndroid Build Coastguard Worker ) 140*b6fb3261SAndroid Build Coastguard Worker 141*b6fb3261SAndroid Build Coastguard Worker http_archive( 142*b6fb3261SAndroid Build Coastguard Worker name = "person_detect_data", 143*b6fb3261SAndroid Build Coastguard Worker sha256 = "170542270da256994ce24d1e357f6e84a54fdaf7d28ff2b74725a40b70b082cf", 144*b6fb3261SAndroid Build Coastguard Worker urls = [ 145*b6fb3261SAndroid Build Coastguard Worker "https://storage.googleapis.com/download.tensorflow.org/data/tf_lite_micro_person_data_grayscale_2020_05_24.zip", 146*b6fb3261SAndroid Build Coastguard Worker ], 147*b6fb3261SAndroid Build Coastguard Worker ) 148*b6fb3261SAndroid Build Coastguard Worker 149*b6fb3261SAndroid Build Coastguard Worker rules_cc_toolchains() 150*b6fb3261SAndroid Build Coastguard Worker 151*b6fb3261SAndroid Build Coastguard Worker bazel_toolchains_repositories() 152*b6fb3261SAndroid Build Coastguard Worker 153*b6fb3261SAndroid Build Coastguard Worker # Apple rules for Bazel. https://github.com/bazelbuild/rules_apple. 154*b6fb3261SAndroid Build Coastguard Worker # Note: We add this to fix Kokoro builds. 155*b6fb3261SAndroid Build Coastguard Worker # The rules below call into `rules_proto` but the hash has changed and 156*b6fb3261SAndroid Build Coastguard Worker # Bazel refuses to continue. So, we add our own mirror. 157*b6fb3261SAndroid Build Coastguard Worker http_archive( 158*b6fb3261SAndroid Build Coastguard Worker name = "rules_proto", 159*b6fb3261SAndroid Build Coastguard Worker sha256 = "20b240eba17a36be4b0b22635aca63053913d5c1ee36e16be36499d167a2f533", 160*b6fb3261SAndroid Build Coastguard Worker strip_prefix = "rules_proto-11bf7c25e666dd7ddacbcd4d4c4a9de7a25175f8", 161*b6fb3261SAndroid Build Coastguard Worker urls = [ 162*b6fb3261SAndroid Build Coastguard Worker "https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/rules_proto/archive/11bf7c25e666dd7ddacbcd4d4c4a9de7a25175f8.tar.gz", 163*b6fb3261SAndroid Build Coastguard Worker "https://github.com/bazelbuild/rules_proto/archive/11bf7c25e666dd7ddacbcd4d4c4a9de7a25175f8.tar.gz", 164*b6fb3261SAndroid Build Coastguard Worker ], 165*b6fb3261SAndroid Build Coastguard Worker ) 166*b6fb3261SAndroid Build Coastguard Worker 167*b6fb3261SAndroid Build Coastguard Worker # Now, finally use the rules 168*b6fb3261SAndroid Build Coastguard Worker apple_rules_dependencies() 169*b6fb3261SAndroid Build Coastguard Worker swift_rules_dependencies() 170*b6fb3261SAndroid Build Coastguard Worker apple_support_dependencies() 171*b6fb3261SAndroid Build Coastguard Worker 172*b6fb3261SAndroid Build Coastguard Worker android_workspace() 173*b6fb3261SAndroid Build Coastguard Worker 174*b6fb3261SAndroid Build Coastguard Worker # If a target is bound twice, the later one wins, so we have to do tf bindings 175*b6fb3261SAndroid Build Coastguard Worker # at the end of the WORKSPACE file. 176*b6fb3261SAndroid Build Coastguard Worker _tf_bind() 177*b6fb3261SAndroid Build Coastguard Worker 178*b6fb3261SAndroid Build Coastguard Worker grpc_extra_deps() 179*b6fb3261SAndroid Build Coastguard Worker config_googleapis() 180*b6fb3261SAndroid Build Coastguard Worker 181*b6fb3261SAndroid Build Coastguard Worker# Alias so it can be loaded without assigning to a different symbol to prevent 182*b6fb3261SAndroid Build Coastguard Worker# shadowing previous loads and trigger a buildifier warning. 183*b6fb3261SAndroid Build Coastguard Workertf_workspace0 = workspace 184