@@ -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,8 +1300,8 @@ 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/.
1303+ mkdir -p $HERMES_OSXBIN_ARTIFACTS_DIR ./packages/react-native/ sdks/hermes
1304+ cp -r $HERMES_WS_DIR/hermes/* ./packages/react-native/ sdks/hermes/.
13041305 - brew_install :
13051306 package : cmake
13061307 - with_hermes_tarball_cache_span :
@@ -1312,12 +1313,12 @@ jobs:
13121313 - run :
13131314 name : Build the Hermes Mac frameworks
13141315 command : |
1315- cd ./sdks/hermes || exit 1
1316+ cd ./packages/react-native/ sdks/hermes || exit 1
13161317 BUILD_TYPE="<< parameters.flavor >>" ./utils/build-mac-framework.sh
13171318 - run :
13181319 name : Build the Hermes iOS frameworks
13191320 command : |
1320- cd ./sdks/hermes || exit 1
1321+ cd ./packages/react-native/ sdks/hermes || exit 1
13211322 BUILD_TYPE="<< parameters.flavor >>" ./utils/build-ios-framework.sh
13221323 - run :
13231324 name : Package the Hermes Apple frameworks
@@ -1327,12 +1328,12 @@ jobs:
13271328
13281329 TARBALL_OUTPUT_DIR=$(mktemp -d /tmp/hermes-tarball-output-XXXXXXXX)
13291330
1330- TARBALL_FILENAME=$(node ./scripts/hermes/get-tarball-name.js --buildType "$BUILD_TYPE")
1331+ TARBALL_FILENAME=$(node ./packages/react-native/ scripts/hermes/get-tarball-name.js --buildType "$BUILD_TYPE")
13311332
13321333 echo "Packaging Hermes Apple frameworks for $BUILD_TYPE build type"
13331334
1334- TARBALL_OUTPUT_PATH=$(node ./scripts/hermes/create-tarball.js \
1335- --inputDir ./sdks/hermes \
1335+ TARBALL_OUTPUT_PATH=$(node ./packages/react-native/ scripts/hermes/create-tarball.js \
1336+ --inputDir ./packages/react-native/ sdks/hermes \
13361337 --buildType "$BUILD_TYPE" \
13371338 --outputDir $TARBALL_OUTPUT_DIR)
13381339
@@ -1494,20 +1495,20 @@ jobs:
14941495 - run :
14951496 name : Copy Hermes binaries
14961497 command : |
1497- mkdir -p ./sdks/hermesc ./sdks/hermesc/osx-bin ./sdks/hermesc/win64-bin ./sdks/hermesc/linux64-bin
1498+ 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
14981499
14991500 # When build_hermes_macos runs as a matrix, it outputs
15001501 if [[ -d $HERMES_WS_DIR/osx-bin/Release ]]; then
1501- cp -r $HERMES_WS_DIR/osx-bin/Release/* ./sdks/hermesc/osx-bin/.
1502+ cp -r $HERMES_WS_DIR/osx-bin/Release/* ./packages/react-native/ sdks/hermesc/osx-bin/.
15021503 elif [[ -d $HERMES_WS_DIR/osx-bin/Debug ]]; then
1503- cp -r $HERMES_WS_DIR/osx-bin/Debug/* ./sdks/hermesc/osx-bin/.
1504+ cp -r $HERMES_WS_DIR/osx-bin/Debug/* ./packages/react-native/ sdks/hermesc/osx-bin/.
15041505 else
15051506 ls $HERMES_WS_DIR/osx-bin || echo "hermesc macOS artifacts directory missing."
15061507 echo "Could not locate macOS hermesc binary."; exit 1;
15071508 fi
15081509
1509- cp -r $HERMES_WS_DIR/win64-bin/* ./sdks/hermesc/win64-bin/.
1510- cp -r $HERMES_WS_DIR/linux64-bin/* ./sdks/hermesc/linux64-bin/.
1510+ cp -r $HERMES_WS_DIR/win64-bin/* ./packages/react-native/ sdks/hermesc/win64-bin/.
1511+ cp -r $HERMES_WS_DIR/linux64-bin/* ./packages/react-native/ sdks/hermesc/linux64-bin/.
15111512 mkdir -p ./ReactAndroid/external-artifacts/artifacts/
15121513 cp $HERMES_WS_DIR/hermes-runtime-darwin/hermes-ios-debug.tar.gz ./ReactAndroid/external-artifacts/artifacts/hermes-ios-debug.tar.gz
15131514 cp $HERMES_WS_DIR/hermes-runtime-darwin/hermes-ios-release.tar.gz ./ReactAndroid/external-artifacts/artifacts/hermes-ios-release.tar.gz
@@ -1529,7 +1530,7 @@ jobs:
15291530 - run : node ./scripts/publish-npm.js --<< parameters.release_type >>
15301531 - run :
15311532 name : Zip Hermes Native Symbols
1532- command : zip -r /tmp/hermes-native-symbols.zip ~/react-native/ReactAndroid/hermes-engine/build/intermediates/cmake/
1533+ command : zip -r /tmp/hermes-native-symbols.zip ~/react-native/packages/react-native/ ReactAndroid/hermes-engine/build/intermediates/cmake/
15331534 - store_artifacts :
15341535 path : /tmp/hermes-native-symbols.zip
15351536 - run :
@@ -1552,8 +1553,10 @@ jobs:
15521553 name : Build release package as a job artifact
15531554 command : |
15541555 mkdir -p build
1555- FILENAME=$(npm pack)
1556- mv $FILENAME build/
1556+
1557+ FILENAME=$(cd packages/react-native; npm pack | tail -1)
1558+ mv packages/react-native/$FILENAME build/
1559+
15571560 echo $FILENAME > build/react-native-package-version
15581561 - store_artifacts :
15591562 path : ~/react-native/build/
0 commit comments