github.com/bazelbuild/rules_webtesting@v0.2.0/web/repositories.bzl (about)

     1  # Copyright 2016 Google Inc.
     2  #
     3  # Licensed under the Apache License, Version 2.0 (the "License");
     4  # you may not use this file except in compliance with the License.
     5  # You may obtain a copy of the License at
     6  #
     7  #      http://www.apache.org/licenses/LICENSE-2.0
     8  #
     9  # Unless required by applicable law or agreed to in writing, software
    10  # distributed under the License is distributed on an "AS IS" BASIS,
    11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  # See the License for the specific language governing permissions and
    13  # limitations under the License.
    14  """Defines external repositories needed by rules_webtesting."""
    15  
    16  load("//web/internal:java_import_external.bzl", "java_import_external")
    17  load("//web/internal:platform_http_file.bzl", "platform_http_file")
    18  load("@io_bazel_rules_go//go:def.bzl", "go_repository")
    19  
    20  # NOTE: URLs are mirrored by an asynchronous review process. They must
    21  #       be greppable for that to happen. It's OK to submit broken mirror
    22  #       URLs, so long as they're correctly formatted. Bazel's downloader
    23  #       has fast failover.
    24  
    25  def web_test_repositories(**kwargs):
    26      """Defines external repositories required by Webtesting Rules.
    27  
    28      This function exists for other Bazel projects to call from their WORKSPACE
    29      file when depending on rules_webtesting using http_archive. This function
    30      makes it easy to import these transitive dependencies into the parent
    31      workspace. This will check to see if a repository has been previously defined
    32      before defining a new repository.
    33  
    34      Alternatively, individual dependencies may be excluded with an
    35      "omit_" + name parameter. This is useful for users who want to be rigorous
    36      about declaring their own direct dependencies, or when another Bazel project
    37      is depended upon (e.g. rules_closure) that defines the same dependencies as
    38      this one (e.g. com_google_guava.) Alternatively, a whitelist model may be
    39      used by calling the individual functions this method references.
    40  
    41      Please note that while these dependencies are defined, they are not actually
    42      downloaded, unless a target is built that depends on them.
    43  
    44      Args:
    45          **kwargs: omit_... parameters used to prevent importing specific
    46            dependencies.
    47      """
    48      if should_create_repository("bazel_skylib", kwargs):
    49          bazel_skylib()
    50      if should_create_repository("com_github_blang_semver", kwargs):
    51          com_github_blang_semver()
    52      if should_create_repository("com_github_gorilla_context", kwargs):
    53          com_github_gorilla_context()
    54      if should_create_repository("com_github_gorilla_mux", kwargs):
    55          com_github_gorilla_mux()
    56      if should_create_repository("com_github_tebeka_selenium", kwargs):
    57          com_github_tebeka_selenium()
    58      if should_create_repository("com_google_code_findbugs_jsr305", kwargs):
    59          com_google_code_findbugs_jsr305()
    60      if should_create_repository("com_google_code_gson", kwargs):
    61          com_google_code_gson()
    62      if should_create_repository(
    63          "com_google_errorprone_error_prone_annotations",
    64          kwargs,
    65      ):
    66          com_google_errorprone_error_prone_annotations()
    67      if should_create_repository("com_google_guava", kwargs):
    68          com_google_guava()
    69      if should_create_repository("com_squareup_okhttp3_okhttp", kwargs):
    70          com_squareup_okhttp3_okhttp()
    71      if should_create_repository("com_squareup_okio", kwargs):
    72          com_squareup_okio()
    73      if should_create_repository("commons_codec", kwargs):
    74          commons_codec()
    75      if should_create_repository("commons_logging", kwargs):
    76          commons_logging()
    77      if should_create_repository("junit", kwargs):
    78          junit()
    79      if should_create_repository("net_bytebuddy", kwargs):
    80          net_bytebuddy()
    81      if should_create_repository("org_apache_commons_exec", kwargs):
    82          org_apache_commons_exec()
    83      if should_create_repository("org_apache_httpcomponents_httpclient", kwargs):
    84          org_apache_httpcomponents_httpclient()
    85      if should_create_repository("org_apache_httpcomponents_httpcore", kwargs):
    86          org_apache_httpcomponents_httpcore()
    87      if should_create_repository("org_hamcrest_core", kwargs):
    88          org_hamcrest_core()
    89      if should_create_repository("org_json", kwargs):
    90          org_json()
    91      if should_create_repository("org_seleniumhq_py", kwargs):
    92          org_seleniumhq_py()
    93      if should_create_repository("org_seleniumhq_selenium_api", kwargs):
    94          org_seleniumhq_selenium_api()
    95      if should_create_repository("org_seleniumhq_selenium_remote_driver", kwargs):
    96          org_seleniumhq_selenium_remote_driver()
    97      if kwargs.keys():
    98          print("The following parameters are unknown: " + str(kwargs.keys()))
    99  
   100  def should_create_repository(name, args):
   101      """Returns whether the name repository should be created.
   102  
   103      This allows creation of a repository to be disabled by either an
   104      "omit_" _+ name parameter or by previously defining a rule for the repository.
   105  
   106      The args dict will be mutated to remove "omit_" + name.
   107  
   108      Args:
   109          name: The name of the repository that should be checked.
   110          args: A dictionary that contains "omit_...": bool pairs.
   111  
   112      Returns:
   113          boolean indicating whether the repository should be created.
   114      """
   115      key = "omit_" + name
   116      if key in args:
   117          val = args.pop(key)
   118          if val:
   119              return False
   120      if native.existing_rule(name):
   121          return False
   122      return True
   123  
   124  def browser_repositories(firefox = False, chromium = False):
   125      """Sets up repositories for browsers defined in //browsers/....
   126  
   127      This should only be used on an experimental basis; projects should define
   128      their own browsers.
   129  
   130      Args:
   131          firefox: Configure repositories for //browsers:firefox-native.
   132          chromium: Configure repositories for //browsers:chromium-native.
   133      """
   134      if chromium:
   135          org_chromium_chromedriver()
   136          org_chromium_chromium()
   137      if firefox:
   138          org_mozilla_firefox()
   139          org_mozilla_geckodriver()
   140  
   141  def bazel_skylib():
   142      native.http_archive(
   143          name = "bazel_skylib",
   144          sha256 = "d7cffbed034d1203858ca19ff2e88d241781f45652a4c719ed48eedc74bc82a9",
   145          strip_prefix = "bazel-skylib-0.3.1",
   146          urls = [
   147              "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/archive/0.3.1.tar.gz",
   148              "https://github.com/bazelbuild/bazel-skylib/archive/0.3.1.tar.gz",
   149          ],
   150      )
   151  
   152  def com_github_blang_semver():
   153      go_repository(
   154          name = "com_github_blang_semver",
   155          importpath = "github.com/blang/semver",
   156          sha256 = "3d9da53f4c2d3169bfa9b25f2f36f301a37556a47259c870881524c643c69c57",
   157          strip_prefix = "semver-3.5.1",
   158          urls = [
   159              "https://mirror.bazel.build/github.com/blang/semver/archive/v3.5.1.tar.gz",
   160              "https://github.com/blang/semver/archive/v3.5.1.tar.gz",
   161          ],
   162      )
   163  
   164  def com_github_gorilla_context():
   165      go_repository(
   166          name = "com_github_gorilla_context",
   167          importpath = "github.com/gorilla/context",
   168          sha256 = "12a849b4e9a08619233d4490a281aa2d34a69f9eaf85c2295f5357927e4d1763",
   169          strip_prefix = "context-1.1",
   170          urls = [
   171              "https://mirror.bazel.build/github.com/gorilla/context/archive/v1.1.tar.gz",
   172              "https://github.com/gorilla/context/archive/v1.1.tar.gz",
   173          ],
   174      )
   175  
   176  def com_github_gorilla_mux():
   177      go_repository(
   178          name = "com_github_gorilla_mux",
   179          importpath = "github.com/gorilla/mux",
   180          sha256 = "fe4d6909570b53121eb0d5e6f933ef7c49d5de094705af6ba07fab9c299df0f9",
   181          strip_prefix = "mux-1.6.1",
   182          urls = [
   183              "https://mirror.bazel.build/github.com/gorilla/mux/archive/v1.6.1.tar.gz",
   184              "https://github.com/gorilla/mux/archive/v1.6.1.tar.gz",
   185          ],
   186      )
   187  
   188  def com_github_tebeka_selenium():
   189      go_repository(
   190          name = "com_github_tebeka_selenium",
   191          importpath = "github.com/tebeka/selenium",
   192          sha256 = "c731518d8f4724b1c581bdca90215978bf4d2658a5dc49b720d7c61294888396",
   193          strip_prefix = "selenium-a789e65b0e7f126888873e84f528c1c8537dff3e",
   194          urls = [
   195              "https://mirror.bazel.build/github.com/tebeka/selenium/archive/a789e65b0e7f126888873e84f528c1c8537dff3e.tar.gz",
   196              "https://github.com/tebeka/selenium/archive/a789e65b0e7f126888873e84f528c1c8537dff3e.tar.gz",
   197          ],
   198      )
   199  
   200  def com_google_code_findbugs_jsr305():
   201      java_import_external(
   202          name = "com_google_code_findbugs_jsr305",
   203          jar_urls = [
   204              "https://mirror.bazel.build/repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
   205              "https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
   206          ],
   207          jar_sha256 =
   208              "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7",
   209          licenses = ["notice"],  # BSD 3-clause
   210      )
   211  
   212  def com_google_code_gson():
   213      java_import_external(
   214          name = "com_google_code_gson",
   215          jar_sha256 =
   216              "b7134929f7cc7c04021ec1cc27ef63ab907e410cf0588e397b8851181eb91092",
   217          jar_urls = [
   218              "https://mirror.bazel.build/repo1.maven.org/maven2/com/google/code/gson/gson/2.8.2/gson-2.8.2.jar",
   219              "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.2/gson-2.8.2.jar",
   220          ],
   221          licenses = ["notice"],  # The Apache Software License, Version 2.0
   222      )
   223  
   224  def com_google_errorprone_error_prone_annotations():
   225      java_import_external(
   226          name = "com_google_errorprone_error_prone_annotations",
   227          jar_sha256 =
   228              "6ebd22ca1b9d8ec06d41de8d64e0596981d9607b42035f9ed374f9de271a481a",
   229          jar_urls = [
   230              "https://mirror.bazel.build/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.2.0/error_prone_annotations-2.2.0.jar",
   231              "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.2.0/error_prone_annotations-2.2.0.jar",
   232          ],
   233          licenses = ["notice"],  # Apache 2.0
   234      )
   235  
   236  def com_google_guava():
   237      java_import_external(
   238          name = "com_google_guava",
   239          jar_sha256 =
   240              "31bfe27bdf9cba00cb4f3691136d3bc7847dfc87bfe772ca7a9eb68ff31d79f5",
   241          jar_urls = [
   242              "https://mirror.bazel.build/repo1.maven.org/maven2/com/google/guava/guava/24.1-jre/guava-24.1-jre.jar",
   243              "https://repo1.maven.org/maven2/com/google/guava/guava/24.1-jre/guava-24.1-jre.jar",
   244          ],
   245          licenses = ["notice"],  # Apache 2.0
   246          exports = [
   247              "@com_google_code_findbugs_jsr305",
   248              "@com_google_errorprone_error_prone_annotations",
   249          ],
   250      )
   251  
   252  def com_squareup_okhttp3_okhttp():
   253      java_import_external(
   254          name = "com_squareup_okhttp3_okhttp",
   255          jar_urls = [
   256              "https://mirror.bazel.build/repo1.maven.org/maven2/com/squareup/okhttp3/okhttp/3.9.1/okhttp-3.9.1.jar",
   257              "https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp/3.9.1/okhttp-3.9.1.jar",
   258          ],
   259          jar_sha256 =
   260              "a0d01017a42bba26e507fc6d448bb36e536f4b6e612f7c42de30bbdac2b7785e",
   261          licenses = ["notice"],  # Apache 2.0
   262          deps = [
   263              "@com_squareup_okio",
   264              "@com_google_code_findbugs_jsr305",
   265          ],
   266      )
   267  
   268  def com_squareup_okio():
   269      java_import_external(
   270          name = "com_squareup_okio",
   271          jar_urls = [
   272              "https://mirror.bazel.build/repo1.maven.org/maven2/com/squareup/okio/okio/1.14.0/okio-1.14.0.jar",
   273              "https://repo1.maven.org/maven2/com/squareup/okio/okio/1.14.0/okio-1.14.0.jar",
   274          ],
   275          jar_sha256 =
   276              "4633c331f50642ebe795dc089d6a5928aff43071c9d17e7840a009eea2fe95a3",
   277          licenses = ["notice"],  # Apache 2.0
   278          deps = ["@com_google_code_findbugs_jsr305"],
   279      )
   280  
   281  def commons_codec():
   282      java_import_external(
   283          name = "commons_codec",
   284          jar_sha256 =
   285              "e599d5318e97aa48f42136a2927e6dfa4e8881dff0e6c8e3109ddbbff51d7b7d",
   286          jar_urls = [
   287              "https://mirror.bazel.build/repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar",
   288              "https://repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar",
   289          ],
   290          licenses = ["notice"],  # Apache License, Version 2.0
   291      )
   292  
   293  def commons_logging():
   294      java_import_external(
   295          name = "commons_logging",
   296          jar_sha256 =
   297              "daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636",
   298          jar_urls = [
   299              "https://mirror.bazel.build/repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar",
   300              "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar",
   301          ],
   302          licenses = ["notice"],  # The Apache Software License, Version 2.0
   303      )
   304  
   305  def junit():
   306      java_import_external(
   307          name = "junit",
   308          jar_sha256 =
   309              "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a",
   310          jar_urls = [
   311              "https://mirror.bazel.build/repo1.maven.org/maven2/junit/junit/4.12/junit-4.12.jar",
   312              "https://repo1.maven.org/maven2/junit/junit/4.12/junit-4.12.jar",
   313          ],
   314          licenses = ["reciprocal"],  # Eclipse Public License 1.0
   315          testonly_ = 1,
   316          deps = ["@org_hamcrest_core"],
   317      )
   318  
   319  def net_bytebuddy():
   320      java_import_external(
   321          name = "net_bytebuddy",
   322          jar_sha256 =
   323              "1c7c222d5c317481538117e54029c289c5a1605a3cdcadf4e7f7cc1fe7469277",
   324          jar_urls = [
   325              "https://mirror.bazel.build/repo1.maven.org/maven2/net/bytebuddy/byte-buddy/1.8.3/byte-buddy-1.8.3.jar",
   326              "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy/1.8.3/byte-buddy-1.8.3.jar",
   327          ],
   328          licenses = ["notice"],  # Apache 2.0
   329      )
   330  
   331  def org_apache_commons_exec():
   332      java_import_external(
   333          name = "org_apache_commons_exec",
   334          jar_sha256 =
   335              "cb49812dc1bfb0ea4f20f398bcae1a88c6406e213e67f7524fb10d4f8ad9347b",
   336          jar_urls = [
   337              "https://mirror.bazel.build/repo1.maven.org/maven2/org/apache/commons/commons-exec/1.3/commons-exec-1.3.jar",
   338              "https://repo1.maven.org/maven2/org/apache/commons/commons-exec/1.3/commons-exec-1.3.jar",
   339          ],
   340          licenses = ["notice"],  # Apache License, Version 2.0
   341      )
   342  
   343  def org_apache_httpcomponents_httpclient():
   344      java_import_external(
   345          name = "org_apache_httpcomponents_httpclient",
   346          jar_sha256 =
   347              "7e97724443ad2a25ad8c73183431d47cc7946271bcbbdfa91a8a17522a566573",
   348          jar_urls = [
   349              "https://mirror.bazel.build/repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.5/httpclient-4.5.5.jar",
   350              "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.5/httpclient-4.5.5.jar",
   351          ],
   352          licenses = ["notice"],  # Apache License, Version 2.0
   353          deps = [
   354              "@org_apache_httpcomponents_httpcore",
   355              "@commons_logging",
   356              "@commons_codec",
   357          ],
   358      )
   359  
   360  def org_apache_httpcomponents_httpcore():
   361      java_import_external(
   362          name = "org_apache_httpcomponents_httpcore",
   363          jar_sha256 =
   364              "1b4a1c0b9b4222eda70108d3c6e2befd4a6be3d9f78ff53dd7a94966fdf51fc5",
   365          jar_urls = [
   366              "https://mirror.bazel.build/repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.9/httpcore-4.4.9.jar",
   367              "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.9/httpcore-4.4.9.jar",
   368          ],
   369          licenses = ["notice"],  # Apache License, Version 2.0
   370      )
   371  
   372  def org_chromium_chromedriver():
   373      platform_http_file(
   374          name = "org_chromium_chromedriver",
   375          licenses = ["reciprocal"],  # BSD 3-clause, ICU, MPL 1.1, libpng (BSD/MIT-like), Academic Free License v. 2.0, BSD 2-clause, MIT
   376          amd64_sha256 =
   377              "67fad24c4a85e3f33f51c97924a98b619722db15ce92dcd27484fb748af93e8e",
   378          amd64_urls = [
   379              "https://chromedriver.storage.googleapis.com/2.35/chromedriver_linux64.zip",
   380          ],
   381          macos_sha256 =
   382              "c11521bdc991874a0a29cf36beea6a4b8d73616ce6c8d1e6b90067d85718aa87",
   383          macos_urls = [
   384              "https://chromedriver.storage.googleapis.com/2.35/chromedriver_mac64.zip",
   385          ],
   386          windows_sha256 =
   387              "b32fdcc1c19bb829032f0447a8aac4f5436565ec1d0f105b63c4451ba4e6ae8a",
   388          windows_urls = [
   389              "https://chromedriver.storage.googleapis.com/2.35/chromedriver_win32.zip",
   390          ],
   391      )
   392  
   393  def org_chromium_chromium():
   394      platform_http_file(
   395          name = "org_chromium_chromium",
   396          licenses = ["notice"],  # BSD 3-clause (maybe more?)
   397          amd64_sha256 =
   398              "51a189382cb5272d240a729da0ae77d0211c1bbc0d10b701a2723b5b068c1e3a",
   399          amd64_urls = [
   400              "https://commondatastorage.googleapis.com/chromium-browser-snapshots/Linux_x64/539259/chrome-linux.zip",
   401          ],
   402          macos_sha256 =
   403              "866ec9aa4e07cc86ae1d5aeb6e9bdafb5f94989c7c0be661302930ad667f41f3",
   404          macos_urls = [
   405              "https://commondatastorage.googleapis.com/chromium-browser-snapshots/Mac/539251/chrome-mac.zip",
   406          ],
   407          windows_sha256 =
   408              "be4fcc7257d85c12ae2de10aef0150ddbb7b9ecbd5ada6a898d247cf867a058a",
   409          windows_urls = [
   410              "https://commondatastorage.googleapis.com/chromium-browser-snapshots/Win_x64/539249/chrome-win32.zip",
   411          ],
   412      )
   413  
   414  def org_hamcrest_core():
   415      java_import_external(
   416          name = "org_hamcrest_core",
   417          jar_sha256 =
   418              "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9",
   419          jar_urls = [
   420              "https://mirror.bazel.build/repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar",
   421              "https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar",
   422          ],
   423          licenses = ["notice"],  # New BSD License
   424          testonly_ = 1,
   425      )
   426  
   427  def org_json():
   428      java_import_external(
   429          name = "org_json",
   430          jar_sha256 =
   431              "3eddf6d9d50e770650e62abe62885f4393aa911430ecde73ebafb1ffd2cfad16",
   432          jar_urls = [
   433              "https://mirror.bazel.build/repo1.maven.org/maven2/org/json/json/20180130/json-20180130.jar",
   434              "https://repo1.maven.org/maven2/org/json/json/20180130/json-20180130.jar",
   435          ],
   436          licenses = ["notice"],  # MIT-style license
   437      )
   438  
   439  def org_mozilla_firefox():
   440      platform_http_file(
   441          name = "org_mozilla_firefox",
   442          licenses = ["reciprocal"],  # MPL 2.0
   443          amd64_sha256 =
   444              "134fec04819eb56fa7b644cdd6d89623b21f4020bbedc3bd122db2a2caa4e434",
   445          amd64_urls = [
   446              "https://mirror.bazel.build/ftp.mozilla.org/pub/firefox/releases/58.0/linux-x86_64/en-US/firefox-58.0.tar.bz2",
   447              "https://ftp.mozilla.org/pub/firefox/releases/58.0/linux-x86_64/en-US/firefox-58.0.tar.bz2",
   448          ],
   449          macos_sha256 =
   450              "a853eb20821a21c0bedeb0263d7b5975e7704f20b78edfef129c73804b1fb962",
   451          macos_urls = [
   452              "https://mirror.bazel.build/ftp.mozilla.org/pub/firefox/releases/58.0/mac/en-US/Firefox%2058.0.dmg",
   453              "https://ftp.mozilla.org/pub/firefox/releases/58.0/mac/en-US/Firefox%2058.0.dmg",
   454          ],
   455      )
   456  
   457  def org_mozilla_geckodriver():
   458      platform_http_file(
   459          name = "org_mozilla_geckodriver",
   460          licenses = ["reciprocal"],  # MPL 2.0
   461          amd64_sha256 =
   462              "7f55c4c89695fd1e6f8fc7372345acc1e2dbaa4a8003cee4bd282eed88145937",
   463          amd64_urls = [
   464              "https://mirror.bazel.build/github.com/mozilla/geckodriver/releases/download/v0.19.1/geckodriver-v0.19.1-linux64.tar.gz",
   465              "https://github.com/mozilla/geckodriver/releases/download/v0.19.1/geckodriver-v0.19.1-linux64.tar.gz",
   466          ],
   467          macos_sha256 =
   468              "eb5a2971e5eb4a2fe74a3b8089f0f2cc96eed548c28526b8351f0f459c080836",
   469          macos_urls = [
   470              # TODO(fisherii): v0.19.1 is mirrored and ready to go.
   471              "https://mirror.bazel.build/github.com/mozilla/geckodriver/releases/download/v0.16.1/geckodriver-v0.16.1-macos.tar.gz",
   472              "https://github.com/mozilla/geckodriver/releases/download/v0.16.1/geckodriver-v0.16.1-macos.tar.gz",
   473          ],
   474      )
   475  
   476  def org_seleniumhq_py():
   477      native.new_http_archive(
   478          name = "org_seleniumhq_py",
   479          build_file = str(Label("//build_files:org_seleniumhq_py.BUILD")),
   480          sha256 = "5841fb30c3965866220c34d16de8e3d091e2833fcac385160a63db0c3522a297",
   481          strip_prefix = "selenium-3.11.0",
   482          urls = [
   483              "https://mirror.bazel.build/pypi.python.org/packages/d4/28/8124d32415bd3d67fabea52480395427576b582771283e89ce10a56d9e5b/selenium-3.11.0.tar.gz",
   484              "https://pypi.python.org/packages/d4/28/8124d32415bd3d67fabea52480395427576b582771283e89ce10a56d9e5b/selenium-3.11.0.tar.gz",
   485          ],
   486      )
   487  
   488  def org_seleniumhq_selenium_api():
   489      java_import_external(
   490          name = "org_seleniumhq_selenium_api",
   491          jar_sha256 =
   492              "3e81810f61a1930d4ca868475cefdbe10b7260e352d09c4bfeda5e9ede5dd538",
   493          jar_urls = [
   494              "https://mirror.bazel.build/repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-api/3.11.0/selenium-api-3.11.0.jar",
   495              "https://repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-api/3.11.0/selenium-api-3.11.0.jar",
   496          ],
   497          licenses = ["notice"],  # The Apache Software License, Version 2.0
   498          testonly_ = 1,
   499      )
   500  
   501  def org_seleniumhq_selenium_remote_driver():
   502      java_import_external(
   503          name = "org_seleniumhq_selenium_remote_driver",
   504          jar_sha256 =
   505              "7a9c23a6a304bdcaec5a642f6641e07f798adc2f213cce456e4a829ad4454deb",
   506          jar_urls = [
   507              "https://mirror.bazel.build/repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-remote-driver/3.11.0/selenium-remote-driver-3.11.0.jar",
   508              "https://repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-remote-driver/3.11.0/selenium-remote-driver-3.11.0.jar",
   509          ],
   510          licenses = ["notice"],  # The Apache Software License, Version 2.0
   511          testonly_ = 1,
   512          deps = [
   513              "@com_google_code_gson",
   514              "@com_google_guava",
   515              "@net_bytebuddy",
   516              "@com_squareup_okhttp3_okhttp",
   517              "@com_squareup_okio",
   518              "@commons_codec",
   519              "@commons_logging",
   520              "@org_apache_commons_exec",
   521              "@org_apache_httpcomponents_httpclient",
   522              "@org_apache_httpcomponents_httpcore",
   523              "@org_seleniumhq_selenium_api",
   524          ],
   525      )