#!/usr/bin/env bash
#
# This shell script builds SeleniumHQ project then copies
# the required jar files for test automation
# You must run this script with java_tests directory path as an argument
# For the details please refer to new_README.chromium document
#
if [ -z $1 ]
then
        echo "You must pass the target path, for example,"
        echo "~/chromium/src/chrome/test/chromedriver/third_party/java_tests"
else
        ./go //java/client/test/org/openqa/selenium/chrome:chrome
        java_keystore="java/client/test/org/openqa/selenium/environment/webserver"
        rm -rf $1/jar/
        mkdir $1/jar/
        rm -rf $1/$java_keystore
        mkdir -p $1/$java_keystore
        cp -f $java_keystore/keystore $1/$java_keystore/
        rm -rf $1/third_party
        mkdir -p $1/third_party/chrome_ext
        cp third_party/chrome_ext/backspace.crx $1/third_party/chrome_ext/backspace.crx
        rm -rf $1/common
        cp -rf common $1
        cp -f Rakefile $1
        cp -f buck-out/gen/java/client/test/org/openqa/selenium/testing/lib__annotations__output/annotations.jar $1/jar
        cp -f buck-out/gen/java/client/test/org/openqa/selenium/testing/drivers/lib__browser__output/browser.jar $1/jar
        cp -f buck-out/gen/java/client/test/org/openqa/selenium/chrome/lib__chrome#testsjar__output/chrome#testsjar.jar $1/jar
        cp -f buck-out/gen/java/client/test/org/openqa/selenium/testing/drivers/lib__drivers__output/drivers.jar $1/jar
        cp -f buck-out/gen/java/client/test/org/openqa/selenium/environment/lib__environment__output/environment.jar $1/jar
        cp -f third_party/java/hamcrest/hamcrest-core-1.3.jar $1/jar
        cp -f third_party/java/hamcrest/hamcrest-library-1.3.jar $1/jar
        cp -f buck-out/gen/java/client/test/org/openqa/selenium/lib__helpers__output/helpers.jar $1/jar/helpers-selenium.jar
        cp -f buck-out/gen/java/client/test/org/openqa/selenium/testing/lib__helpers__output/helpers.jar $1/jar/helpers-testing.jar
        cp -f third_party/java/junit/junit-4.12.jar $1/jar
        cp -f buck-out/gen/java/client/test/org/openqa/selenium/lib__large-tests__output/large-tests.jar $1/jar
        cp -f third_party/java/mockito/mockito-core-2.18.0.jar $1/jar
        cp -f third_party/java/netty/netty-all-4.1.25.Final.jar $1/jar
        cp -f third_party/java/objenesis/objenesis-2.6.jar $1/jar
        cp -f buck-out/gen/java/server/src/org/openqa/grid/selenium/selenium.jar $1/jar
        cp -f third_party/java/slf4j/slf4j-api-1.7.25.jar $1/jar
        cp -f third_party/java/slf4j/slf4j-jdk14-1.7.25.jar $1/jar
        cp -f buck-out/gen/java/client/test/org/openqa/selenium/testing/lib__test-base__output/test-base.jar $1/jar
        cp -f buck-out/gen/java/client/test/org/openqa/selenium/chrome/lib__tests__output/tests.jar $1/jar//options-functional-tests.jar
        cp -f buck-out/gen/java/client/test/org/openqa/selenium/lib__tests__output/tests.jar $1/jar/tests-selenium.jar
        cp -f buck-out/gen/java/client/test/org/openqa/selenium/support/lib__tests__output/tests.jar $1/jar/tests-support.jar
        cp -f third_party/java/assertj/assertj-core-3.11.1.jar $1/jar
        cp -f third_party/java/gson/gson-2.8.4.jar $1/jar
        cp -f third_party/java/littleshoot/littleproxy-1.1.3-SNAPSHOT.jar $1/jar
fi
