mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
1bbcbd55ff
Summary: If $FBSOURCE_ENV isn't set, this failed with `/root/react-native/packages/react-native-codegen/android/../scripts/oss/build.sh: line 20: FBSOURCE_ENV: unbound variable`. This commit fixes https://app.circleci.com/pipelines/github/facebook/react-native/7080/workflows/5cf18a1f-e6d2-4648-8217-d42e9a61fef1/jobs/176451 Changelog: [Internal] Reviewed By: yungsters Differential Revision: D24912950 fbshipit-source-id: 113e3dd7f78c75fc3adea0b21c9e38910be8c065
46 lines
1.2 KiB
Bash
Executable File
46 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copyright (c) Facebook, Inc. and its affiliates.
|
|
#
|
|
# This source code is licensed under the MIT license found in the
|
|
# LICENSE file in the root directory of this source tree.
|
|
|
|
# This script assumes yarn is already installed.
|
|
|
|
THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
|
|
|
|
set -e
|
|
set -u
|
|
|
|
CODEGEN_DIR="$THIS_DIR/../.."
|
|
|
|
rm -rf "${CODEGEN_DIR:?}/lib" "${CODEGEN_DIR:?}/node_modules"
|
|
|
|
YARN_BINARY="${YARN_BINARY:-$(command -v yarn)}"
|
|
|
|
if [[ ${FBSOURCE_ENV:-0} -eq 1 ]]; then
|
|
# Custom FB-specific setup
|
|
pushd "$CODEGEN_DIR" >/dev/null
|
|
|
|
"$YARN_BINARY" install 2> >(grep -v '^warning' 1>&2)
|
|
# Note: Within FBSOURCE_ENV, this has to explicitly run build.
|
|
"$YARN_BINARY" run build
|
|
|
|
popd >/dev/null
|
|
else
|
|
# Run yarn install in a separate tmp dir to avoid conflict with the rest of the repo.
|
|
# Note: OSS-only.
|
|
TMP_DIR=$(mktemp -d)
|
|
|
|
cp -R "$CODEGEN_DIR/." "$TMP_DIR"
|
|
|
|
pushd "$TMP_DIR" >/dev/null
|
|
|
|
# Note: this automatically runs build as well.
|
|
"$YARN_BINARY" install 2> >(grep -v '^warning' 1>&2)
|
|
|
|
popd >/dev/null
|
|
|
|
mv "$TMP_DIR/lib" "$TMP_DIR/node_modules" "$CODEGEN_DIR"
|
|
rm -rf "$TMP_DIR"
|
|
fi
|