Chromium Code Reviews| Index: build/install-build-deps-android.sh |
| diff --git a/build/install-build-deps-android.sh b/build/install-build-deps-android.sh |
| index 37f4244b90d801e72bc34d674db77eda6597d8f5..f623be36ebee30e2c9adf5123beae69c49f984d0 100755 |
| --- a/build/install-build-deps-android.sh |
| +++ b/build/install-build-deps-android.sh |
| @@ -19,33 +19,17 @@ if ! uname -m | egrep -q "i686|x86_64"; then |
| exit |
| fi |
| -lsb_release=$(lsb_release --codename --short) |
| +function IsJava8() { |
| + # Arg is either java or javac |
| + $1 -version 2>&1 | grep '1\.8' > /dev/null |
|
jbudorick
2017/01/31 21:51:35
grep -q ?
agrieve
2017/02/01 02:39:20
Done.
|
| +} |
| -case $lsb_release in |
| - xenial|yakkety) |
| - java_alternative="java-1.8.0-openjdk-amd64" |
| - java_pkgs="openjdk-8-jre openjdk-8-jdk" |
| - ;; |
| - *) |
| - java_alternative="java-1.7.0-openjdk-amd64" |
| - java_pkgs="openjdk-7-jre openjdk-7-jdk" |
| - ;; |
| -esac |
| +lsb_release=$(lsb_release --codename --short) |
| # Install first the default Linux build deps. |
| "$(dirname "${BASH_SOURCE[0]}")/install-build-deps.sh" \ |
| --no-syms --lib32 --no-arm --no-chromeos-fonts --no-nacl --no-prompt "${args}" |
| -# The temporary directory used to store output of update-java-alternatives |
| -TEMPDIR=$(mktemp -d) |
| -cleanup() { |
| - local status=${?} |
| - trap - EXIT |
| - rm -rf "${TEMPDIR}" |
| - exit ${status} |
| -} |
| -trap cleanup EXIT |
| - |
| # Fix deps |
| sudo apt-get -f install |
| @@ -65,36 +49,23 @@ else |
| sudo apt-get -y install libncurses5:i386 libstdc++6:i386 zlib1g:i386 |
| fi |
| +# Required by //components/cronet/tools/generate_javadoc.py |
| +# TODO(375324): Stop requiring ANT. |
| sudo apt-get -y install ant |
| -# Install openjdk and openjre stuff |
| -sudo apt-get -y install $java_pkgs |
| - |
| -# Switch version of Java to openjdk 7. |
| -# Some Java plugins (e.g. for firefox, mozilla) are not required to build, and |
| -# thus are treated only as warnings. Any errors in updating java alternatives |
| -# which are not '*-javaplugin.so' will cause errors and stop the script from |
| -# completing successfully. |
| -if ! sudo update-java-alternatives -s $java_alternative \ |
| - >& "${TEMPDIR}"/update-java-alternatives.out |
| -then |
| - # Check that there are the expected javaplugin.so errors for the update |
| - if grep 'javaplugin.so' "${TEMPDIR}"/update-java-alternatives.out >& \ |
| - /dev/null |
| - then |
| - # Print as warnings all the javaplugin.so errors |
| - echo 'WARNING: java-6-sun has no alternatives for the following plugins:' |
| - grep 'javaplugin.so' "${TEMPDIR}"/update-java-alternatives.out |
| - fi |
| - # Check if there are any errors that are not javaplugin.so |
| - if grep -v 'javaplugin.so' "${TEMPDIR}"/update-java-alternatives.out \ |
| - >& /dev/null |
| - then |
| - # If there are non-javaplugin.so errors, treat as errors and exit |
| - echo 'ERRORS: Failed to update alternatives for java-6-sun:' |
| - grep -v 'javaplugin.so' "${TEMPDIR}"/update-java-alternatives.out |
| - exit 1 |
| - fi |
| +if ! (IsJava8 java && IsJava8 javac); then |
| + sudo apt-get -y install openjdk-8-jre openjdk-8-jdk |
|
jbudorick
2017/01/31 21:51:34
This will just fail on 14.04 or earlier.
agrieve
2017/02/01 02:39:21
Expanded the error message.
This also made me rea
|
| +fi |
| + |
| +# Assume java8 still not reporting being there means update-java-alternatives |
|
jbudorick
2017/01/31 21:51:35
Doing this before any of the bots switch & when su
agrieve
2017/02/01 02:39:21
Folded into an error message. Given that this isn'
jbudorick
2017/02/01 16:30:39
It isn't run on the bots, but I'd prefer that we u
|
| +# needs to be run. |
| +if ! IsJava8 javac; then |
| + sudo update-java-alternatives -s java-1.8.0-openjdk-amd64 |
| fi |
| +if ! IsJava8 javac; then |
| + echo "Failed to install javac 1.8. javac -version reports:" |
| + javac -version |
| + exit 1 |
| +fi |
| echo "install-build-deps-android.sh complete." |