@@ -58,7 +58,7 @@ references:
5858 cache_keys :
5959 checkout_cache_key : &checkout_cache_key v1-checkout
6060 gems_cache_key : &gems_cache_key v1-gems-{{ checksum "Gemfile.lock" }}
61- gradle_cache_key : &gradle_cache_key v1-gradle-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}-{{ checksum "ReactAndroid/gradle.properties" }}
61+ gradle_cache_key : &gradle_cache_key v1-gradle-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}-{{ checksum "packages/react-native/ ReactAndroid/gradle.properties" }}
6262 hermes_workspace_cache_key : &hermes_workspace_cache_key v4-hermes-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/hermes/hermesversion" }}
6363 hermes_workspace_debug_cache_key : &hermes_workspace_debug_cache_key v2-hermes-{{ .Environment.CIRCLE_JOB }}-debug-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
6464 hermes_workspace_release_cache_key : &hermes_workspace_release_cache_key v2-hermes-{{ .Environment.CIRCLE_JOB }}-release-{{ checksum "/tmp/hermes/hermesversion" }}-{{ checksum "/tmp/react-native-version" }}
@@ -73,8 +73,8 @@ references:
7373
7474 cache_paths :
7575 hermes_workspace_macos_cache_paths : &hermes_workspace_macos_cache_paths
76- - ~/react-native/sdks/hermes/build_macosx
77- - ~/react-native/sdks/hermes/destroot
76+ - ~/react-native/packages/react-native/ sdks/hermes/build_macosx
77+ - ~/react-native/packages/react-native/ sdks/hermes/destroot
7878 hermes_tarball_cache_paths : &hermes_tarball_cache_paths
7979 - *hermes_tarball_artifacts_dir
8080
@@ -314,7 +314,7 @@ commands:
314314 - run :
315315 name : Get React Native version
316316 command : |
317- VERSION=$( grep '"version"' package.json | cut -d '"' -f 4 | head -1)
317+ VERSION=$( grep '"version"' packages/react-native/ package.json | cut -d '"' -f 4 | head -1)
318318 # Save the react native version we are building in a file so we can use that file as part of the cache key.
319319 echo "$VERSION" > /tmp/react-native-version
320320 echo "React Native Version is $(cat /tmp/react-native-version)"
@@ -368,7 +368,7 @@ commands:
368368 exit 0
369369 fi
370370
371- TARBALL_FILENAME=$(node ~/react-native/scripts/hermes/get-tarball-name.js --buildType "<< parameters.flavor >>")
371+ TARBALL_FILENAME=$(node ~/react-native/packages/react-native/ scripts/hermes/get-tarball-name.js --buildType "<< parameters.flavor >>")
372372 TARBALL_PATH=$HERMES_TARBALL_ARTIFACTS_DIR/$TARBALL_FILENAME
373373
374374 echo "Looking for $TARBALL_FILENAME in $HERMES_TARBALL_ARTIFACTS_DIR"
@@ -385,7 +385,7 @@ commands:
385385 name : Print Hermes version
386386 command : |
387387 HERMES_TARBALL_ARTIFACTS_DIR=<< parameters.hermes_tarball_artifacts_dir >>
388- TARBALL_FILENAME=$(node ~/react-native/scripts/hermes/get-tarball-name.js --buildType "<< parameters.flavor >>")
388+ TARBALL_FILENAME=$(node ~/react-native/packages/react-native/ scripts/hermes/get-tarball-name.js --buildType "<< parameters.flavor >>")
389389 TARBALL_PATH=$HERMES_TARBALL_ARTIFACTS_DIR/$TARBALL_FILENAME
390390 if [[ -e $TARBALL_PATH ]]; then
391391 tar -xf $TARBALL_PATH
@@ -452,8 +452,8 @@ commands:
452452 hermesc_artifacts_path=<< parameters.artifacts_dir >>/<< parameters.flavor >>/hermesc
453453
454454 hermesc_bin_path=bin/hermesc
455- hermes_build_dir_macos=$(pwd)/sdks/hermes/build_macosx
456- hermes_build_dir_ios=$(pwd)/sdks/hermes/build_iphoneos
455+ hermes_build_dir_macos=$(pwd)/packages/react-native/ sdks/hermes/build_macosx
456+ hermes_build_dir_ios=$(pwd)/packages/react-native/ sdks/hermes/build_iphoneos
457457
458458 function export_hermesc_cmake_path {
459459 build_dir=$1
@@ -725,7 +725,7 @@ jobs:
725725 test_buck :
726726 executor : reactnativeandroid
727727 environment :
728- KOTLIN_HOME=third-party/kotlin
728+ KOTLIN_HOME=packages/react-native/ third-party/kotlin
729729 steps :
730730 - checkout
731731 - setup_artifacts
@@ -738,32 +738,33 @@ jobs:
738738 - run :
739739 name : Build & Test React Native using Buck
740740 command : |
741- buck build ReactAndroid/src/main/java/com/facebook/react
742- buck build ReactAndroid/src/main/java/com/facebook/react/shell
741+ buck build packages/react-native/ ReactAndroid/src/main/java/com/facebook/react
742+ buck build packages/react-native/ ReactAndroid/src/main/java/com/facebook/react/shell
743743
744744 - run :
745745 name : Run Tests - Android Unit Tests with Buck
746- command : buck test ReactAndroid/src/test/... --config build.threads=$BUILD_THREADS --xml ./reports/buck/all-results-raw.xml
746+ command : buck test packages/react-native/ ReactAndroid/src/test/... --config build.threads=$BUILD_THREADS --xml ./reports/buck/all-results-raw.xml
747747
748748 - run :
749749 name : Build JavaScript Bundle for instrumentation tests
750+ working_directory : ~/react-native/packages/react-native
750751 command : node cli.js bundle --max-workers 2 --platform android --dev true --entry-file ReactAndroid/src/androidTest/js/TestBundle.js --bundle-output ReactAndroid/src/androidTest/assets/AndroidTestBundle.js
751752
752753 - run :
753754 name : Build Tests - Android Instrumentation Tests with Buck
754755 # Here, just build the instrumentation tests. There is a known issue with installing the APK to android-21+ emulator.
755756 command : |
756- if [[ ! -e ReactAndroid/src/androidTest/assets/AndroidTestBundle.js ]]; then
757+ if [[ ! -e packages/react-native/ ReactAndroid/src/androidTest/assets/AndroidTestBundle.js ]]; then
757758 echo "JavaScript bundle missing, cannot run instrumentation tests. Verify Build JavaScript Bundle step completed successfully."; exit 1;
758759 fi
759- source scripts/android-setup.sh && NO_BUCKD=1 scripts/retry3 timeout 300 buck build ReactAndroid/src/androidTest/buck-runner:instrumentation-tests --config build.threads=$BUILD_THREADS
760+ source scripts/android-setup.sh && NO_BUCKD=1 scripts/retry3 timeout 300 buck build packages/react-native/ ReactAndroid/src/androidTest/buck-runner:instrumentation-tests --config build.threads=$BUILD_THREADS
760761
761762 - run :
762763 name : Collect Test Results
763764 command : |
764765 find . -type f -regex ".*/build/test-results/debug/.*xml" -exec cp {} ./reports/build/ \;
765766 find . -type f -regex ".*/outputs/androidTest-results/connected/.*xml" -exec cp {} ./reports/outputs/ \;
766- find . -type f -regex ".*/buck-out/gen/ReactAndroid/src/test/.*/.*xml" -exec cp {} ./reports/buck/ \;
767+ find . -type f -regex ".*/buck-out/gen/packages/react-native/ ReactAndroid/src/test/.*/.*xml" -exec cp {} ./reports/buck/ \;
767768 if [ -f ~/react-native/reports/buck/all-results-raw.xml ]; then
768769 ~/react-native/scripts/circleci/buckToJunit/buckToJunit.sh ~/react-native/reports/buck/all-results-raw.xml ~/react-native/reports/junit/results.xml
769770 fi
@@ -851,7 +852,7 @@ jobs:
851852 command : |
852853 REPO_ROOT=$(pwd)
853854 node ./scripts/set-rn-template-version.js "file:$REPO_ROOT/build/$(cat build/react-native-package-version)"
854- node ./scripts/template/initialize.js --reactNativeRootPath $REPO_ROOT --templateName $PROJECT_NAME --templateConfigPath $REPO_ROOT --directory "/tmp/$PROJECT_NAME"
855+ node ./scripts/template/initialize.js --reactNativeRootPath $REPO_ROOT --templateName $PROJECT_NAME --templateConfigPath " $REPO_ROOT/packages/react-native" --directory "/tmp/$PROJECT_NAME"
855856 - run :
856857 name : Build the template application for << parameters.flavor >> with Architecture set to << parameters.architecture >>, and using the << parameters.jsengine>> JS engine.
857858 command : |
@@ -926,7 +927,7 @@ jobs:
926927 name : Set HERMES_ENGINE_TARBALL_PATH
927928 command : |
928929 BUILD_TYPE="<< parameters.flavor >>"
929- TARBALL_FILENAME=$(node ./scripts/hermes/get-tarball-name.js --buildType "$BUILD_TYPE")
930+ TARBALL_FILENAME=$(node ./packages/react-native/ scripts/hermes/get-tarball-name.js --buildType "$BUILD_TYPE")
930931 echo "export HERMES_ENGINE_TARBALL_PATH=$HERMES_WS_DIR/hermes-runtime-darwin/$TARBALL_FILENAME" >> $BASH_ENV
931932 - run :
932933 name : Create iOS template project
@@ -935,7 +936,7 @@ jobs:
935936 PACKAGE=$(cat build/react-native-package-version)
936937 PATH_TO_PACKAGE="$REPO_ROOT/build/$PACKAGE"
937938 node ./scripts/set-rn-template-version.js "file:$PATH_TO_PACKAGE"
938- node ./scripts/template/initialize.js --reactNativeRootPath $REPO_ROOT --templateName $PROJECT_NAME --templateConfigPath $REPO_ROOT --directory "/tmp/$PROJECT_NAME"
939+ node ./scripts/template/initialize.js --reactNativeRootPath $REPO_ROOT --templateName $PROJECT_NAME --templateConfigPath " $REPO_ROOT/packages/react-native" --directory "/tmp/$PROJECT_NAME"
939940 - run :
940941 name : Install iOS dependencies - Configuration << parameters.flavor >>; New Architecture << parameters.architecture >>; JS Engine << parameters.jsengine>>; Flipper << parameters.flipper >>
941942 command : |
@@ -1204,9 +1205,9 @@ jobs:
12041205 - run :
12051206 name : Download Hermes tarball
12061207 command : |
1207- node scripts/hermes/prepare-hermes-for-build $CIRCLE_PULL_REQUEST
1208- cp sdks/download/* $HERMES_WS_DIR/download/.
1209- cp -r sdks/hermes/* $HERMES_WS_DIR/hermes/.
1208+ node packages/react-native/ scripts/hermes/prepare-hermes-for-build $CIRCLE_PULL_REQUEST
1209+ cp packages/react-native/ sdks/download/* $HERMES_WS_DIR/download/.
1210+ cp -r packages/react-native/ sdks/hermes/* $HERMES_WS_DIR/hermes/.
12101211
12111212 cat /tmp/hermes/hermesversion
12121213 - save_cache :
@@ -1299,9 +1300,9 @@ jobs:
12991300 - run :
13001301 name : Set up workspace
13011302 command : |
1302- mkdir -p $HERMES_OSXBIN_ARTIFACTS_DIR ./sdks/hermes
1303- cp -r $HERMES_WS_DIR/hermes/* ./sdks/hermes/.
1304- cp -r ./sdks/hermes-engine/utils ./sdks/hermes/.
1303+ mkdir -p $HERMES_OSXBIN_ARTIFACTS_DIR ./packages/react-native/ sdks/hermes
1304+ cp -r $HERMES_WS_DIR/hermes/* ./packages/react-native/ sdks/hermes/.
1305+ cp -r ./packages/react-native/ sdks/hermes-engine/utils ./packages/react-native /sdks/hermes/.
13051306 - brew_install :
13061307 package : cmake
13071308 - with_hermes_tarball_cache_span :
@@ -1313,12 +1314,12 @@ jobs:
13131314 - run :
13141315 name : Build the Hermes Mac frameworks
13151316 command : |
1316- cd ./sdks/hermes || exit 1
1317+ cd ./packages/react-native/ sdks/hermes || exit 1
13171318 BUILD_TYPE="<< parameters.flavor >>" ./utils/build-mac-framework.sh
13181319 - run :
13191320 name : Build the Hermes iOS frameworks
13201321 command : |
1321- cd ./sdks/hermes || exit 1
1322+ cd ./packages/react-native/ sdks/hermes || exit 1
13221323 BUILD_TYPE="<< parameters.flavor >>" ./utils/build-ios-framework.sh
13231324 - run :
13241325 name : Package the Hermes Apple frameworks
@@ -1328,12 +1329,12 @@ jobs:
13281329
13291330 TARBALL_OUTPUT_DIR=$(mktemp -d /tmp/hermes-tarball-output-XXXXXXXX)
13301331
1331- TARBALL_FILENAME=$(node ./scripts/hermes/get-tarball-name.js --buildType "$BUILD_TYPE")
1332+ TARBALL_FILENAME=$(node ./packages/react-native/ scripts/hermes/get-tarball-name.js --buildType "$BUILD_TYPE")
13321333
13331334 echo "Packaging Hermes Apple frameworks for $BUILD_TYPE build type"
13341335
1335- TARBALL_OUTPUT_PATH=$(node ./scripts/hermes/create-tarball.js \
1336- --inputDir ./sdks/hermes \
1336+ TARBALL_OUTPUT_PATH=$(node ./packages/react-native/ scripts/hermes/create-tarball.js \
1337+ --inputDir ./packages/react-native/ sdks/hermes \
13371338 --buildType "$BUILD_TYPE" \
13381339 --outputDir $TARBALL_OUTPUT_DIR)
13391340
@@ -1495,20 +1496,20 @@ jobs:
14951496 - run :
14961497 name : Copy Hermes binaries
14971498 command : |
1498- mkdir -p ./sdks/hermesc ./sdks/hermesc/osx-bin ./sdks/hermesc/win64-bin ./sdks/hermesc/linux64-bin
1499+ mkdir -p ./packages/react-native/ sdks/hermesc ./packages/react-native/ sdks/hermesc/osx-bin ./packages/react-native/ sdks/hermesc/win64-bin ./packages/react-native /sdks/hermesc/linux64-bin
14991500
15001501 # When build_hermes_macos runs as a matrix, it outputs
15011502 if [[ -d $HERMES_WS_DIR/osx-bin/Release ]]; then
1502- cp -r $HERMES_WS_DIR/osx-bin/Release/* ./sdks/hermesc/osx-bin/.
1503+ cp -r $HERMES_WS_DIR/osx-bin/Release/* ./packages/react-native/ sdks/hermesc/osx-bin/.
15031504 elif [[ -d $HERMES_WS_DIR/osx-bin/Debug ]]; then
1504- cp -r $HERMES_WS_DIR/osx-bin/Debug/* ./sdks/hermesc/osx-bin/.
1505+ cp -r $HERMES_WS_DIR/osx-bin/Debug/* ./packages/react-native/ sdks/hermesc/osx-bin/.
15051506 else
15061507 ls $HERMES_WS_DIR/osx-bin || echo "hermesc macOS artifacts directory missing."
15071508 echo "Could not locate macOS hermesc binary."; exit 1;
15081509 fi
15091510
1510- cp -r $HERMES_WS_DIR/win64-bin/* ./sdks/hermesc/win64-bin/.
1511- cp -r $HERMES_WS_DIR/linux64-bin/* ./sdks/hermesc/linux64-bin/.
1511+ cp -r $HERMES_WS_DIR/win64-bin/* ./packages/react-native/ sdks/hermesc/win64-bin/.
1512+ cp -r $HERMES_WS_DIR/linux64-bin/* ./packages/react-native/ sdks/hermesc/linux64-bin/.
15121513 mkdir -p ./ReactAndroid/external-artifacts/artifacts/
15131514 cp $HERMES_WS_DIR/hermes-runtime-darwin/hermes-ios-debug.tar.gz ./ReactAndroid/external-artifacts/artifacts/hermes-ios-debug.tar.gz
15141515 cp $HERMES_WS_DIR/hermes-runtime-darwin/hermes-ios-release.tar.gz ./ReactAndroid/external-artifacts/artifacts/hermes-ios-release.tar.gz
@@ -1530,7 +1531,7 @@ jobs:
15301531 - run : node ./scripts/publish-npm.js --<< parameters.release_type >>
15311532 - run :
15321533 name : Zip Hermes Native Symbols
1533- command : zip -r /tmp/hermes-native-symbols.zip ~/react-native/ReactAndroid/hermes-engine/build/intermediates/cmake/
1534+ command : zip -r /tmp/hermes-native-symbols.zip ~/react-native/packages/react-native/ ReactAndroid/hermes-engine/build/intermediates/cmake/
15341535 - store_artifacts :
15351536 path : /tmp/hermes-native-symbols.zip
15361537 - run :
@@ -1553,8 +1554,10 @@ jobs:
15531554 name : Build release package as a job artifact
15541555 command : |
15551556 mkdir -p build
1556- FILENAME=$(npm pack)
1557- mv $FILENAME build/
1557+
1558+ FILENAME=$(cd packages/react-native; npm pack | tail -1)
1559+ mv packages/react-native/$FILENAME build/
1560+
15581561 echo $FILENAME > build/react-native-package-version
15591562 - store_artifacts :
15601563 path : ~/react-native/build/
0 commit comments