mirror of
https://github.com/microsoft/playwright.git
synced 2024-12-17 00:04:50 +03:00
e64f66685a
Official WebKit no longer supports Mac 10.14. However, since this system is still very much in use, we want to be able to keep it running for a while. This patch adds a new browser that we would compile and maintain specifically for Mac 10.14: `deprecated-webkit-mac-10.14`. This browser is a clone of Webkit r1443 that is the last known revision to compile on Mac 10.14. As we move on, we're free to modify this browser however we want, backporting important patches. References #5833
78 lines
2.8 KiB
Bash
Executable File
78 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
function runOSX() {
|
|
# if script is run as-is
|
|
if [[ -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
|