mirror of
https://github.com/flutter/packages.git
synced 2025-06-04 02:08:40 +08:00
55 lines
2.4 KiB
Bash
Executable File
55 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copyright 2013 The Flutter Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# This script may be run as:
|
|
# $ CHROME_DOWNLOAD_DIR=./whatever script/install_chromium.sh
|
|
set -e
|
|
set -x
|
|
|
|
# The target directory where chromium is going to be downloaded
|
|
: "${CHROME_DOWNLOAD_DIR:=/tmp/chromium}" # Default value for the CHROME_DOWNLOAD_DIR env.
|
|
|
|
# The build of Chromium used to test web functionality.
|
|
#
|
|
# Chromium builds can be located here: https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/
|
|
#
|
|
# Check: https://github.com/flutter/engine/blob/master/lib/web_ui/dev/browser_lock.yaml
|
|
: "${CHROMIUM_BUILD:=950363}" # Default value for the CHROMIUM_BUILD env.
|
|
|
|
# Convenience defaults for CHROME_EXECUTABLE and CHROMEDRIVER_EXECUTABLE. These
|
|
# two values should be set in the environment from CI, so this script can validate
|
|
# that it has completed downloading chrome and driver successfully (and the expected
|
|
# files are executable)
|
|
: "${CHROME_EXECUTABLE:=$CHROME_DOWNLOAD_DIR/chrome-linux/chrome}"
|
|
: "${CHROMEDRIVER_EXECUTABLE:=$CHROME_DOWNLOAD_DIR/chromedriver/chromedriver}"
|
|
|
|
# The correct ChromeDriver is distributed alongside the chromium build above, as
|
|
# `chromedriver_linux64.zip`, so no need to hardcode any extra info about it.
|
|
readonly DOWNLOAD_ROOT="https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2F${CHROMIUM_BUILD}%2F"
|
|
|
|
# Install Chromium.
|
|
mkdir "$CHROME_DOWNLOAD_DIR"
|
|
readonly CHROMIUM_ZIP_FILE="$CHROME_DOWNLOAD_DIR/chromium.zip"
|
|
wget --no-verbose "${DOWNLOAD_ROOT}chrome-linux.zip?alt=media" -O "$CHROMIUM_ZIP_FILE"
|
|
unzip -q "$CHROMIUM_ZIP_FILE" -d "$CHROME_DOWNLOAD_DIR/"
|
|
|
|
# Install ChromeDriver.
|
|
readonly DRIVER_ZIP_FILE="$CHROME_DOWNLOAD_DIR/chromedriver.zip"
|
|
wget --no-verbose "${DOWNLOAD_ROOT}chromedriver_linux64.zip?alt=media" -O "$DRIVER_ZIP_FILE"
|
|
unzip -q "$DRIVER_ZIP_FILE" -d "$CHROME_DOWNLOAD_DIR/"
|
|
# Rename CHROME_DOWNLOAD_DIR/chromedriver_linux64 to the expected CHROME_DOWNLOAD_DIR/chromedriver
|
|
mv -T "$CHROME_DOWNLOAD_DIR/chromedriver_linux64" "$CHROME_DOWNLOAD_DIR/chromedriver"
|
|
|
|
# Echo info at the end for ease of debugging.
|
|
#
|
|
# exports from this script cannot be used elsewhere in the .cirrus.yml file.
|
|
set +x
|
|
echo
|
|
echo "$CHROME_EXECUTABLE"
|
|
"$CHROME_EXECUTABLE" --version
|
|
echo "$CHROMEDRIVER_EXECUTABLE"
|
|
"$CHROMEDRIVER_EXECUTABLE" --version
|
|
echo
|