()
| 391 | |
| 392 | |
| 393 | def geckodriver(): |
| 394 | content = "" |
| 395 | |
| 396 | r = http.request("GET", "https://api.github.com/repos/mozilla/geckodriver/releases/latest") |
| 397 | for a in json.loads(r.data)["assets"]: |
| 398 | if a["name"].endswith("-linux64.tar.gz"): |
| 399 | url = a["browser_download_url"] |
| 400 | sha = calculate_hash(url) |
| 401 | content = ( |
| 402 | content |
| 403 | + f""" http_archive( |
| 404 | name = "linux_geckodriver", |
| 405 | url = "{url}", |
| 406 | sha256 = "{sha}", |
| 407 | build_file_content = \"\"\" |
| 408 | load("@aspect_rules_js//js:defs.bzl", "js_library") |
| 409 | package(default_visibility = ["//visibility:public"]) |
| 410 | |
| 411 | exports_files(["geckodriver"]) |
| 412 | |
| 413 | js_library( |
| 414 | name = "geckodriver-js", |
| 415 | data = ["geckodriver"], |
| 416 | ) |
| 417 | \"\"\", |
| 418 | ) |
| 419 | """ |
| 420 | ) |
| 421 | |
| 422 | if a["name"].endswith("-macos-aarch64.tar.gz"): |
| 423 | url = a["browser_download_url"] |
| 424 | sha = calculate_hash(url) |
| 425 | content = ( |
| 426 | content |
| 427 | + f""" |
| 428 | http_archive( |
| 429 | name = "mac_geckodriver", |
| 430 | url = "{url}", |
| 431 | sha256 = "{sha}", |
| 432 | build_file_content = \"\"\" |
| 433 | load("@aspect_rules_js//js:defs.bzl", "js_library") |
| 434 | package(default_visibility = ["//visibility:public"]) |
| 435 | |
| 436 | exports_files(["geckodriver"]) |
| 437 | |
| 438 | js_library( |
| 439 | name = "geckodriver-js", |
| 440 | data = ["geckodriver"], |
| 441 | ) |
| 442 | \"\"\", |
| 443 | ) |
| 444 | """ |
| 445 | ) |
| 446 | return content |
| 447 | |
| 448 | |
| 449 | def firefox(): |
no test coverage detected