mirror of
https://github.com/microsoft/playwright.git
synced 2024-12-16 15:52:24 +03:00
78 lines
2.8 KiB
Bash
78 lines
2.8 KiB
Bash
|
#!/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
|