mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
fc9dec9a35
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/33209 Downloads Kotlin compiler JARs with Buck before starting docker build. This solution is slower than checking in JARs directly, but it allows to keep lighter size of the repo for people who want a complete checkout. Changelog: [Internal] - Update CI build to download Kotlin jars for buck Reviewed By: cortinico Differential Revision: D34582932 fbshipit-source-id: 290398579ce2a4d57c7af318c66526689db6073c
54 lines
1.5 KiB
Bash
Executable File
54 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
#
|
|
# This source code is licensed under the MIT license found in the
|
|
# LICENSE file in the root directory of this source tree.
|
|
|
|
set -ex
|
|
|
|
# Source: https://gist.github.com/sj26/88e1c6584397bb7c13bd11108a579746
|
|
# Modified to 1) address lint errors and 2) output to stderr.
|
|
#
|
|
# Retry a command up to a specific numer of times until it exits successfully,
|
|
# with exponential back off.
|
|
#
|
|
# $ retry 5 echo Hello
|
|
# Hello
|
|
#
|
|
# $ retry 5 false
|
|
# Retry 1/5 exited 1, retrying in 1 seconds...
|
|
# Retry 2/5 exited 1, retrying in 2 seconds...
|
|
# Retry 3/5 exited 1, retrying in 4 seconds...
|
|
# Retry 4/5 exited 1, retrying in 8 seconds...
|
|
# Retry 5/5 exited 1, no more retries left.
|
|
#
|
|
function retry {
|
|
local retries=$1
|
|
shift
|
|
|
|
local count=0
|
|
until "$@"; do
|
|
exit=$?
|
|
wait=$((2 ** count))
|
|
count=$((count + 1))
|
|
if [ $count -lt "$retries" ]; then
|
|
echo "Retry $count/$retries exited $exit, retrying in $wait seconds..." >&2
|
|
sleep $wait
|
|
else
|
|
echo "Retry $count/$retries exited $exit, no more retries left." >&2
|
|
return $exit
|
|
fi
|
|
done
|
|
return 0
|
|
}
|
|
|
|
CURRENT_DIR=$(pwd)
|
|
export KOTLIN_HOME="$CURRENT_DIR/third-party/kotlin"
|
|
retry 3 scripts/download-kotlin-compiler-with-buck.sh
|
|
|
|
retry 3 buck fetch ReactAndroid/src/test/java/com/facebook/react/modules
|
|
retry 3 buck fetch ReactAndroid/src/main/java/com/facebook/react
|
|
retry 3 buck fetch ReactAndroid/src/main/java/com/facebook/react/shell
|
|
retry 3 buck fetch ReactAndroid/src/test/...
|
|
retry 3 buck fetch ReactAndroid/src/androidTest/...
|