diff --git a/browser_patches/buildbots/buildbot-windows.sh b/browser_patches/buildbots/buildbot-windows.sh index b01529d809..a6b96e4082 100755 --- a/browser_patches/buildbots/buildbot-windows.sh +++ b/browser_patches/buildbots/buildbot-windows.sh @@ -45,6 +45,8 @@ while true; do iteration=$(( iteration + 1 )) echo "== ITERATION ${iteration} ==" git pull origin master + ../checkout_build_archive_upload.sh webkit || true + git pull origin master ../checkout_build_archive_upload.sh firefox || true git pull origin master ../checkout_build_archive_upload.sh firefox-win64 || true diff --git a/browser_patches/tools/check_cdn.sh b/browser_patches/tools/check_cdn.sh index bc3579667d..4bb1e2c355 100755 --- a/browser_patches/tools/check_cdn.sh +++ b/browser_patches/tools/check_cdn.sh @@ -39,11 +39,13 @@ WK_ARCHIVES=( "$HOST/webkit/%s/minibrowser-linux.zip" "$HOST/webkit/%s/minibrowser-mac-10.14.zip" "$HOST/webkit/%s/minibrowser-mac-10.15.zip" + "$HOST/webkit/%s/minibrowser-win64.zip" ) WK_ALIASES=( "WK-LINUX" "WK-MAC-10.14" "WK-MAC-10.15" + "WK-WIN64" ) COLUMN="%-15s" diff --git a/browser_patches/upload.sh b/browser_patches/upload.sh index a2a0f6601b..e69810bdd3 100755 --- a/browser_patches/upload.sh +++ b/browser_patches/upload.sh @@ -71,6 +71,9 @@ elif [[ ("$1" == "webkit") || ("$1" == "webkit/") ]]; then elif [[ "$(uname)" == "Linux" ]]; then BLOB_NAME="minibrowser-linux.zip" ALIAS="webkit-linux r$BUILD_NUMBER" + elif [[ "$(uname)" == MINGW* ]]; then + BLOB_NAME="minibrowser-win64.zip" + ALIAS="webkit-win64 r$BUILD_NUMBER" else echo "ERROR: unsupported platform - $(uname)" exit 1 diff --git a/browser_patches/webkit/archive.sh b/browser_patches/webkit/archive.sh index 94d2bd0f84..b97a1db8c2 100755 --- a/browser_patches/webkit/archive.sh +++ b/browser_patches/webkit/archive.sh @@ -42,6 +42,8 @@ main() { createZipForMac elif [[ "$(uname)" == "Linux" ]]; then createZipForLinux + elif [[ "$(uname)" == MINGW* ]]; then + createZipForWindows else echo "ERROR: cannot upload on this platform!" 1>&2 exit 1; @@ -70,6 +72,27 @@ createZipForLinux() { rm -rf $tmpdir } +createZipForWindows() { + # create a TMP directory to copy all necessary files + local tmpdir="/tmp/webkit-deploy-$(date +%s)" + mkdir -p $tmpdir + + cp -t $tmpdir ./WebKitLibraries/win/bin64/*.dll + cd WebKitBuild/Release/bin64 + cp -r -t $tmpdir WebKit.resources + cp -t $tmpdir JavaScriptCore.dll MiniBrowserLib.dll WTF.dll WebKit.dll WebKit2.dll libEGL.dll libGLESv2.dll + cp -t $tmpdir MiniBrowser.exe WebKitNetworkProcess.exe WebKitWebProcess.exe + cd - + + # copy protocol + node ../concat_protocol.js > $tmpdir/protocol.json + # tar resulting directory and cleanup TMP. + cd $tmpdir + zip -r $ZIP_PATH ./ + cd - + rm -rf $tmpdir +} + createZipForMac() { # create a TMP directory to copy all necessary files local tmpdir=$(mktemp -d) diff --git a/browser_patches/webkit/build.sh b/browser_patches/webkit/build.sh index 1cb3ebadb7..05be9233ad 100755 --- a/browser_patches/webkit/build.sh +++ b/browser_patches/webkit/build.sh @@ -4,16 +4,19 @@ set +x trap "cd $(pwd -P)" EXIT cd "$(dirname $0)" -cd "checkout" if [[ "$(uname)" == "Darwin" ]]; then + cd "checkout" ./Tools/Scripts/build-webkit --release --touch-events elif [[ "$(uname)" == "Linux" ]]; then + cd "checkout" # Check that WebKitBuild exists and is not empty. if ! [[ (-d ./WebKitBuild) && (-n $(ls -1 ./WebKitBuild/)) ]]; then yes | DEBIAN_FRONTEND=noninteractive ./Tools/Scripts/update-webkitgtk-libs fi ./Tools/Scripts/build-webkit --gtk --release --touch-events MiniBrowser +elif [[ "$(uname)" == MINGW* ]]; then + /c/Windows/System32/cmd.exe "/c buildwin.bat" else echo "ERROR: cannot upload on this platform!" 1>&2 exit 1; diff --git a/browser_patches/webkit/buildwin.bat b/browser_patches/webkit/buildwin.bat new file mode 100644 index 0000000000..9c98840648 --- /dev/null +++ b/browser_patches/webkit/buildwin.bat @@ -0,0 +1,5 @@ +set PATH=%WEBKIT_BUILD_PATH% +set WEBKIT_LIBRARIES=%~dp0checkout\WebKitLibraries\win +set WEBKIT_OUTPUTDIR=%~dp0checkout\WebKitBuild +perl %~dp0checkout\Tools\Scripts\build-webkit --wincairo --release --no-ninja --touch-events --dark-mode-css --generate-project-only +%DEVENV% %~dp0checkout\WebKitBuild\Release\WebKit.sln /build "Release|x64"