(selected_version, workspace_prefix="")
| 106 | |
| 107 | |
| 108 | def chrome(selected_version, workspace_prefix=""): |
| 109 | content = "" |
| 110 | chrome_downloads = selected_version["downloads"]["chrome"] |
| 111 | |
| 112 | url = next((d["url"] for d in chrome_downloads if d["platform"] == "linux64"), None) |
| 113 | if url is None: |
| 114 | raise ValueError("No Chrome download found for platform 'linux64'") |
| 115 | sha = calculate_hash(url) |
| 116 | |
| 117 | content += f""" |
| 118 | http_archive( |
| 119 | name = "linux_{workspace_prefix}chrome", |
| 120 | url = "{url}", |
| 121 | sha256 = "{sha}", |
| 122 | build_file_content = \"\"\" |
| 123 | load("@aspect_rules_js//js:defs.bzl", "js_library") |
| 124 | package(default_visibility = ["//visibility:public"]) |
| 125 | |
| 126 | filegroup( |
| 127 | name = "files", |
| 128 | srcs = glob(["**/*"]), |
| 129 | ) |
| 130 | |
| 131 | exports_files(["chrome-linux64/chrome"]) |
| 132 | |
| 133 | js_library( |
| 134 | name = "chrome-js", |
| 135 | data = [":files"], |
| 136 | ) |
| 137 | \"\"\", |
| 138 | ) |
| 139 | """ |
| 140 | |
| 141 | url = next((d["url"] for d in chrome_downloads if d["platform"] == "mac-arm64"), None) |
| 142 | if url is None: |
| 143 | raise ValueError("No Chrome download found for platform 'mac-arm64'") |
| 144 | sha = calculate_hash(url) # Calculate SHA for Mac chrome |
| 145 | |
| 146 | content += f""" http_archive( |
| 147 | name = "mac_{workspace_prefix}chrome", |
| 148 | url = "{url}", |
| 149 | sha256 = "{sha}", |
| 150 | strip_prefix = "chrome-mac-arm64", |
| 151 | patch_cmds = [ |
| 152 | "mv 'Google Chrome for Testing.app' Chrome.app", |
| 153 | "mv 'Chrome.app/Contents/MacOS/Google Chrome for Testing' Chrome.app/Contents/MacOS/Chrome", |
| 154 | ], |
| 155 | build_file_content = \"\"\" |
| 156 | load("@aspect_rules_js//js:defs.bzl", "js_library") |
| 157 | package(default_visibility = ["//visibility:public"]) |
| 158 | |
| 159 | exports_files(["Chrome.app"]) |
| 160 | |
| 161 | js_library( |
| 162 | name = "chrome-js", |
| 163 | data = glob(["Chrome.app/**/*"]), |
| 164 | ) |
| 165 | \"\"\", |
no test coverage detected