mirror of
https://github.com/microsoft/playwright.git
synced 2024-10-27 21:58:52 +03:00
34777853f7
Browsers require particular xcode versions to be installed on the host machine to produce successful build. This patch starts using explicit xcode versions for all mac browser builds.
80 lines
3.1 KiB
Bash
Executable File
80 lines
3.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
function runOSX() {
|
|
# if script is run as-is
|
|
if [[ -f "${SCRIPT_PATH}/EXPECTED_BUILDS" && -n "$WK_CHECKOUT_PATH" -d "$WK_CHECKOUT_PATH/WebKitBuild/Release/Playwright.app" ]]; then
|
|
DYLIB_PATH="$WK_CHECKOUT_PATH/WebKitBuild/Release"
|
|
elif [[ -f "${SCRIPT_PATH}/EXPECTED_BUILDS" && -d $SCRIPT_PATH/checkout/WebKitBuild/Release/Playwright.app ]]; then
|
|
DYLIB_PATH="$SCRIPT_PATH/checkout/WebKitBuild/Release"
|
|
elif [[ -d $SCRIPT_PATH/Playwright.app ]]; then
|
|
DYLIB_PATH="$SCRIPT_PATH"
|
|
elif [[ -d $SCRIPT_PATH/WebKitBuild/Release/Playwright.app ]]; then
|
|
DYLIB_PATH="$SCRIPT_PATH/WebKitBuild/Release"
|
|
else
|
|
echo "Cannot find a Playwright.app in neither location" 1>&2
|
|
exit 1
|
|
fi
|
|
PLAYWRIGHT="$DYLIB_PATH/Playwright.app/Contents/MacOS/Playwright"
|
|
DYLD_FRAMEWORK_PATH="$DYLIB_PATH" DYLD_LIBRARY_PATH="$DYLIB_PATH" "$PLAYWRIGHT" "$@"
|
|
}
|
|
|
|
function runLinux() {
|
|
# if script is run as-is
|
|
GIO_DIR="";
|
|
LD_PATH="";
|
|
BUNDLE_DIR="";
|
|
DEPENDENCIES_FOLDER="DependenciesGTK";
|
|
MINIBROWSER_FOLDER="minibrowser-gtk";
|
|
BUILD_FOLDER="WebKitBuild/GTK";
|
|
if [[ "$*" == *--headless* ]]; then
|
|
DEPENDENCIES_FOLDER="DependenciesWPE";
|
|
MINIBROWSER_FOLDER="minibrowser-wpe";
|
|
BUILD_FOLDER="WebKitBuild/WPE";
|
|
fi
|
|
# Setting extra environment variables like LD_LIBRARY_PATH or WEBKIT_INJECTED_BUNDLE_PATH
|
|
# is only needed when calling MiniBrowser from the build folder. The MiniBrowser from
|
|
# the zip bundle wrapper already sets itself the needed env variables.
|
|
if [[ -d $SCRIPT_PATH/$MINIBROWSER_FOLDER ]]; then
|
|
MINIBROWSER="$SCRIPT_PATH/$MINIBROWSER_FOLDER/MiniBrowser"
|
|
elif [[ -d $SCRIPT_PATH/checkout/$BUILD_FOLDER ]]; then
|
|
LD_PATH="$SCRIPT_PATH/checkout/$BUILD_FOLDER/$DEPENDENCIES_FOLDER/Root/lib:$SCRIPT_PATH/checkout/$BUILD_FOLDER/Release/bin"
|
|
GIO_DIR="$SCRIPT_PATH/checkout/$BUILD_FOLDER/$DEPENDENCIES_FOLDER/Root/lib/gio/modules"
|
|
BUNDLE_DIR="$SCRIPT_PATH/checkout/$BUILD_FOLDER/Release/lib"
|
|
MINIBROWSER="$SCRIPT_PATH/checkout/$BUILD_FOLDER/Release/bin/MiniBrowser"
|
|
elif [[ -f $SCRIPT_PATH/MiniBrowser ]]; then
|
|
MINIBROWSER="$SCRIPT_PATH/MiniBrowser"
|
|
elif [[ -d $SCRIPT_PATH/$BUILD_FOLDER ]]; then
|
|
LD_PATH="$SCRIPT_PATH/$BUILD_FOLDER/$DEPENDENCIES_FOLDER/Root/lib:$SCRIPT_PATH/$BUILD_FOLDER/Release/bin"
|
|
GIO_DIR="$SCRIPT_PATH/$BUILD_FOLDER/$DEPENDENCIES_FOLDER/Root/lib/gio/modules"
|
|
BUNDLE_DIR="$SCRIPT_PATH/$BUILD_FOLDER/Release/lib"
|
|
MINIBROWSER="$SCRIPT_PATH/$BUILD_FOLDER/Release/bin/MiniBrowser"
|
|
else
|
|
echo "Cannot find a MiniBrowser.app in neither location" 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
if [[ -n "$GIO_DIR" ]]; then
|
|
export GIO_EXTRA_MODULES="$GIO_DIR"
|
|
fi
|
|
|
|
if [[ -n "$LD_PATH" ]]; then
|
|
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LD_PATH"
|
|
fi
|
|
|
|
if [[ -n "$BUNDLE_DIR" ]]; then
|
|
export WEBKIT_INJECTED_BUNDLE_PATH="$BUNDLE_DIR"
|
|
fi
|
|
|
|
WEBKIT_FORCE_COMPLEX_TEXT="1" "$MINIBROWSER" "$@"
|
|
}
|
|
|
|
SCRIPT_PATH="$(cd "$(dirname "$0")" ; pwd -P)"
|
|
if [[ "$(uname)" == "Darwin" ]]; then
|
|
runOSX "$@"
|
|
elif [[ "$(uname)" == "Linux" ]]; then
|
|
runLinux "$@"
|
|
else
|
|
echo "ERROR: cannot run on this platform!" 1>&2
|
|
exit 1;
|
|
fi
|