@@ -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
@@ -317,7 +317,7 @@ commands:
317317 - run :
318318 name : Get React Native version
319319 command : |
320- VERSION=$( grep '"version"' package.json | cut -d '"' -f 4 | head -1)
320+ VERSION=$( grep '"version"' packages/react-native/ package.json | cut -d '"' -f 4 | head -1)
321321 # Save the react native version we are building in a file so we can use that file as part of the cache key.
322322 echo "$VERSION" > /tmp/react-native-version
323323 echo "React Native Version is $(cat /tmp/react-native-version)"
@@ -371,7 +371,7 @@ commands:
371371 exit 0
372372 fi
373373
374- TARBALL_FILENAME=$(node ~/react-native/scripts/hermes/get-tarball-name.js --buildType "<< parameters.flavor >>")
374+ TARBALL_FILENAME=$(node ~/react-native/packages/react-native/ scripts/hermes/get-tarball-name.js --buildType "<< parameters.flavor >>")
375375 TARBALL_PATH=$HERMES_TARBALL_ARTIFACTS_DIR/$TARBALL_FILENAME
376376
377377 echo "Looking for $TARBALL_FILENAME in $HERMES_TARBALL_ARTIFACTS_DIR"
@@ -388,7 +388,7 @@ commands:
388388 name : Print Hermes version
389389 command : |
390390 HERMES_TARBALL_ARTIFACTS_DIR=<< parameters.hermes_tarball_artifacts_dir >>
391- TARBALL_FILENAME=$(node ~/react-native/scripts/hermes/get-tarball-name.js --buildType "<< parameters.flavor >>")
391+ TARBALL_FILENAME=$(node ~/react-native/packages/react-native/ scripts/hermes/get-tarball-name.js --buildType "<< parameters.flavor >>")
392392 TARBALL_PATH=$HERMES_TARBALL_ARTIFACTS_DIR/$TARBALL_FILENAME
393393 if [[ -e $TARBALL_PATH ]]; then
394394 tar -xf $TARBALL_PATH
@@ -455,8 +455,8 @@ commands:
455455 hermesc_artifacts_path=<< parameters.artifacts_dir >>/<< parameters.flavor >>/hermesc
456456
457457 hermesc_bin_path=bin/hermesc
458- hermes_build_dir_macos=$(pwd)/sdks/hermes/build_macosx
459- hermes_build_dir_ios=$(pwd)/sdks/hermes/build_iphoneos
458+ hermes_build_dir_macos=$(pwd)/packages/react-native/ sdks/hermes/build_macosx
459+ hermes_build_dir_ios=$(pwd)/packages/react-native/ sdks/hermes/build_iphoneos
460460
461461 function export_hermesc_cmake_path {
462462 build_dir=$1
@@ -729,7 +729,7 @@ jobs:
729729 test_buck :
730730 executor : reactnativeandroid
731731 environment :
732- KOTLIN_HOME=third-party/kotlin
732+ KOTLIN_HOME=packages/react-native/ third-party/kotlin
733733 steps :
734734 - checkout
735735 - setup_artifacts
@@ -742,32 +742,33 @@ jobs:
742742 - run :
743743 name : Build & Test React Native using Buck
744744 command : |
745- buck build ReactAndroid/src/main/java/com/facebook/react
746- buck build ReactAndroid/src/main/java/com/facebook/react/shell
745+ buck build packages/react-native/ ReactAndroid/src/main/java/com/facebook/react
746+ buck build packages/react-native/ ReactAndroid/src/main/java/com/facebook/react/shell
747747
748748 - run :
749749 name : Run Tests - Android Unit Tests with Buck
750- command : buck test ReactAndroid/src/test/... --config build.threads=$BUILD_THREADS --xml ./reports/buck/all-results-raw.xml
750+ command : buck test packages/react-native/ ReactAndroid/src/test/... --config build.threads=$BUILD_THREADS --xml ./reports/buck/all-results-raw.xml
751751
752752 - run :
753753 name : Build JavaScript Bundle for instrumentation tests
754+ working_directory : ~/react-native/packages/react-native
754755 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
755756
756757 - run :
757758 name : Build Tests - Android Instrumentation Tests with Buck
758759 # Here, just build the instrumentation tests. There is a known issue with installing the APK to android-21+ emulator.
759760 command : |
760- if [[ ! -e ReactAndroid/src/androidTest/assets/AndroidTestBundle.js ]]; then
761+ if [[ ! -e packages/react-native/ ReactAndroid/src/androidTest/assets/AndroidTestBundle.js ]]; then
761762 echo "JavaScript bundle missing, cannot run instrumentation tests. Verify Build JavaScript Bundle step completed successfully."; exit 1;
762763 fi
763- 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
764+ 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
764765
765766 - run :
766767 name : Collect Test Results
767768 command : |
768769 find . -type f -regex ".*/build/test-results/debug/.*xml" -exec cp {} ./reports/build/ \;
769770 find . -type f -regex ".*/outputs/androidTest-results/connected/.*xml" -exec cp {} ./reports/outputs/ \;
770- find . -type f -regex ".*/buck-out/gen/ReactAndroid/src/test/.*/.*xml" -exec cp {} ./reports/buck/ \;
771+ find . -type f -regex ".*/buck-out/gen/packages/react-native/ ReactAndroid/src/test/.*/.*xml" -exec cp {} ./reports/buck/ \;
771772 if [ -f ~/react-native/reports/buck/all-results-raw.xml ]; then
772773 ~/react-native/scripts/circleci/buckToJunit/buckToJunit.sh ~/react-native/reports/buck/all-results-raw.xml ~/react-native/reports/junit/results.xml
773774 fi
@@ -855,7 +856,7 @@ jobs:
855856 command : |
856857 REPO_ROOT=$(pwd)
857858 node ./scripts/set-rn-template-version.js "file:$REPO_ROOT/build/$(cat build/react-native-package-version)"
858- node ./scripts/template/initialize.js --reactNativeRootPath $REPO_ROOT --templateName $PROJECT_NAME --templateConfigPath $REPO_ROOT --directory "/tmp/$PROJECT_NAME"
859+ node ./scripts/template/initialize.js --reactNativeRootPath $REPO_ROOT --templateName $PROJECT_NAME --templateConfigPath " $REPO_ROOT/packages/react-native" --directory "/tmp/$PROJECT_NAME"
859860 - run :
860861 name : Build the template application for << parameters.flavor >> with Architecture set to << parameters.architecture >>, and using the << parameters.jsengine>> JS engine.
861862 command : |
@@ -930,7 +931,7 @@ jobs:
930931 name : Set HERMES_ENGINE_TARBALL_PATH
931932 command : |
932933 BUILD_TYPE="<< parameters.flavor >>"
933- TARBALL_FILENAME=$(node ./scripts/hermes/get-tarball-name.js --buildType "$BUILD_TYPE")
934+ TARBALL_FILENAME=$(node ./packages/react-native/ scripts/hermes/get-tarball-name.js --buildType "$BUILD_TYPE")
934935 echo "export HERMES_ENGINE_TARBALL_PATH=$HERMES_WS_DIR/hermes-runtime-darwin/$TARBALL_FILENAME" >> $BASH_ENV
935936 - run :
936937 name : Create iOS template project
@@ -939,7 +940,7 @@ jobs:
939940 PACKAGE=$(cat build/react-native-package-version)
940941 PATH_TO_PACKAGE="$REPO_ROOT/build/$PACKAGE"
941942 node ./scripts/set-rn-template-version.js "file:$PATH_TO_PACKAGE"
942- node ./scripts/template/initialize.js --reactNativeRootPath $REPO_ROOT --templateName $PROJECT_NAME --templateConfigPath $REPO_ROOT --directory "/tmp/$PROJECT_NAME"
943+ node ./scripts/template/initialize.js --reactNativeRootPath $REPO_ROOT --templateName $PROJECT_NAME --templateConfigPath " $REPO_ROOT/packages/react-native" --directory "/tmp/$PROJECT_NAME"
943944 - run :
944945 name : Install iOS dependencies - Configuration << parameters.flavor >>; New Architecture << parameters.architecture >>; JS Engine << parameters.jsengine>>; Flipper << parameters.flipper >>
945946 command : |
@@ -1205,9 +1206,9 @@ jobs:
12051206 - run :
12061207 name : Download Hermes tarball
12071208 command : |
1208- node scripts/hermes/prepare-hermes-for-build $CIRCLE_PULL_REQUEST
1209- cp sdks/download/* $HERMES_WS_DIR/download/.
1210- cp -r sdks/hermes/* $HERMES_WS_DIR/hermes/.
1209+ node packages/react-native/ scripts/hermes/prepare-hermes-for-build $CIRCLE_PULL_REQUEST
1210+ cp packages/react-native/ sdks/download/* $HERMES_WS_DIR/download/.
1211+ cp -r packages/react-native/ sdks/hermes/* $HERMES_WS_DIR/hermes/.
12111212
12121213 cat /tmp/hermes/hermesversion
12131214 - save_cache :
@@ -1301,9 +1302,9 @@ jobs:
13011302 - run :
13021303 name : Set up workspace
13031304 command : |
1304- mkdir -p $HERMES_OSXBIN_ARTIFACTS_DIR ./sdks/hermes
1305- cp -r $HERMES_WS_DIR/hermes/* ./sdks/hermes/.
1306- cp -r ./sdks/hermes-engine/utils ./sdks/hermes/.
1305+ mkdir -p $HERMES_OSXBIN_ARTIFACTS_DIR ./packages/react-native/ sdks/hermes
1306+ cp -r $HERMES_WS_DIR/hermes/* ./packages/react-native/ sdks/hermes/.
1307+ cp -r ./packages/react-native/ sdks/hermes-engine/utils ./packages/react-native /sdks/hermes/.
13071308 - brew_install :
13081309 package : cmake
13091310 - with_hermes_tarball_cache_span :
@@ -1315,12 +1316,12 @@ jobs:
13151316 - run :
13161317 name : Build the Hermes Mac frameworks
13171318 command : |
1318- cd ./sdks/hermes || exit 1
1319+ cd ./packages/react-native/ sdks/hermes || exit 1
13191320 BUILD_TYPE="<< parameters.flavor >>" ./utils/build-mac-framework.sh
13201321 - run :
13211322 name : Build the Hermes iOS frameworks
13221323 command : |
1323- cd ./sdks/hermes || exit 1
1324+ cd ./packages/react-native/ sdks/hermes || exit 1
13241325 BUILD_TYPE="<< parameters.flavor >>" ./utils/build-ios-framework.sh
13251326 - run :
13261327 name : Package the Hermes Apple frameworks
@@ -1330,12 +1331,12 @@ jobs:
13301331
13311332 TARBALL_OUTPUT_DIR=$(mktemp -d /tmp/hermes-tarball-output-XXXXXXXX)
13321333
1333- TARBALL_FILENAME=$(node ./scripts/hermes/get-tarball-name.js --buildType "$BUILD_TYPE")
1334+ TARBALL_FILENAME=$(node ./packages/react-native/ scripts/hermes/get-tarball-name.js --buildType "$BUILD_TYPE")
13341335
13351336 echo "Packaging Hermes Apple frameworks for $BUILD_TYPE build type"
13361337
1337- TARBALL_OUTPUT_PATH=$(node ./scripts/hermes/create-tarball.js \
1338- --inputDir ./sdks/hermes \
1338+ TARBALL_OUTPUT_PATH=$(node ./packages/react-native/ scripts/hermes/create-tarball.js \
1339+ --inputDir ./packages/react-native/ sdks/hermes \
13391340 --buildType "$BUILD_TYPE" \
13401341 --outputDir $TARBALL_OUTPUT_DIR)
13411342
@@ -1497,20 +1498,20 @@ jobs:
14971498 - run :
14981499 name : Copy Hermes binaries
14991500 command : |
1500- mkdir -p ./sdks/hermesc ./sdks/hermesc/osx-bin ./sdks/hermesc/win64-bin ./sdks/hermesc/linux64-bin
1501+ 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
15011502
15021503 # When build_hermes_macos runs as a matrix, it outputs
15031504 if [[ -d $HERMES_WS_DIR/osx-bin/Release ]]; then
1504- cp -r $HERMES_WS_DIR/osx-bin/Release/* ./sdks/hermesc/osx-bin/.
1505+ cp -r $HERMES_WS_DIR/osx-bin/Release/* ./packages/react-native/ sdks/hermesc/osx-bin/.
15051506 elif [[ -d $HERMES_WS_DIR/osx-bin/Debug ]]; then
1506- cp -r $HERMES_WS_DIR/osx-bin/Debug/* ./sdks/hermesc/osx-bin/.
1507+ cp -r $HERMES_WS_DIR/osx-bin/Debug/* ./packages/react-native/ sdks/hermesc/osx-bin/.
15071508 else
15081509 ls $HERMES_WS_DIR/osx-bin || echo "hermesc macOS artifacts directory missing."
15091510 echo "Could not locate macOS hermesc binary."; exit 1;
15101511 fi
15111512
1512- cp -r $HERMES_WS_DIR/win64-bin/* ./sdks/hermesc/win64-bin/.
1513- cp -r $HERMES_WS_DIR/linux64-bin/* ./sdks/hermesc/linux64-bin/.
1513+ cp -r $HERMES_WS_DIR/win64-bin/* ./packages/react-native/ sdks/hermesc/win64-bin/.
1514+ cp -r $HERMES_WS_DIR/linux64-bin/* ./packages/react-native/ sdks/hermesc/linux64-bin/.
15141515 mkdir -p ./ReactAndroid/external-artifacts/artifacts/
15151516 cp $HERMES_WS_DIR/hermes-runtime-darwin/hermes-ios-debug.tar.gz ./ReactAndroid/external-artifacts/artifacts/hermes-ios-debug.tar.gz
15161517 cp $HERMES_WS_DIR/hermes-runtime-darwin/hermes-ios-release.tar.gz ./ReactAndroid/external-artifacts/artifacts/hermes-ios-release.tar.gz
@@ -1532,7 +1533,7 @@ jobs:
15321533 - run : node ./scripts/publish-npm.js --<< parameters.release_type >>
15331534 - run :
15341535 name : Zip Hermes Native Symbols
1535- command : zip -r /tmp/hermes-native-symbols.zip ~/react-native/ReactAndroid/hermes-engine/build/intermediates/cmake/
1536+ command : zip -r /tmp/hermes-native-symbols.zip ~/react-native/packages/react-native/ ReactAndroid/hermes-engine/build/intermediates/cmake/
15361537 - store_artifacts :
15371538 path : /tmp/hermes-native-symbols.zip
15381539 - run :
@@ -1555,8 +1556,10 @@ jobs:
15551556 name : Build release package as a job artifact
15561557 command : |
15571558 mkdir -p build
1558- FILENAME=$(npm pack)
1559- mv $FILENAME build/
1559+
1560+ FILENAME=$(cd packages/react-native; npm pack | tail -1)
1561+ mv packages/react-native/$FILENAME build/
1562+
15601563 echo $FILENAME > build/react-native-package-version
15611564 - store_artifacts :
15621565 path : ~/react-native/build/
0 commit comments