
> echo Attempting build for gbdsantos-react-native-rocketseat-next-level-week-3-happy with Node 18 and jdk 17
Attempting build for gbdsantos-react-native-rocketseat-next-level-week-3-happy with Node 18 and jdk 17

> docker run --rm -v /home/ubuntu/storage/extracted/gbdsantos-react-native-rocketseat-next-level-week-3-happy/react-native-rocketseat-next-level-week-3-happy-43fa6ad65411e4321e31195eb9c8fc56fde26b1d:/source:ro -v /home/ubuntu/BachelorsThesis/scripts/RN/output/gbdsantos-react-native-rocketseat-next-level-week-3-happy:/output -v /home/ubuntu/.npm:/root/.npm react-android:18-jdk17 bash -c 
                set -e

                cp -r /source/. /app &&                 cd /app && 
                # ---- install deps (yarn or npm) ----
                if [ -f yarn.lock ]; then
                    yarn install;
                else
                    npm install --ignore-scripts;
                fi && 
                # ---- stub missing google-services.json (Firebase/Expo prebuild) ----
                if [ ! -f google-services.json ]; then                     python3 -c "import json; open('google-services.json','w').write(json.dumps({'project_info':{'project_number':'000000000000','project_id':'stub','storage_bucket':'stub.appspot.com'},'client':[{'client_info':{'mobilesdk_app_id':'1:000000000000:android:0000000000000000','android_client_info':{'package_name':'com.stub'}},'oauth_client':[],'api_key':[{'current_key':'stub'}],'services':{'appinvite_service':{'other_platform_oauth_client':[]}}}],'configuration_version':'1'}))" 2>/dev/null || true;                 fi && 
                # ---- detect expo ----
                if grep -q '"expo"' package.json && [ ! -d android ]; then
                    echo "Expo project detected";
                    CI=1 npx --yes expo prebuild --platform android
                fi && 
                export PATH="/app/node_modules/.bin:$PATH" &&                 cd android && 
                chmod +x gradlew && 
                # ---- inject fallback repositories via Gradle init script ----
                mkdir -p $GRADLE_USER_HOME/init.d &&                 echo 'gradle.beforeProject {project ->' > $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '  project.buildscript.repositories {' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://maven.google.com"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://repo1.maven.org/maven2"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://plugins.gradle.org/m2/"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://jitpack.io"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '  }' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '  project.repositories {' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://maven.google.com"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://repo1.maven.org/maven2"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://plugins.gradle.org/m2/"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://jitpack.io"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '  }' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '}' >> $GRADLE_USER_HOME/init.d/repos.gradle && 
                # ---- patch settings.gradle to use local react-native CLI (avoids npx failures) ----
                sed -i 's/autolinkLibrariesWithCommand()/autolinkLibrariesWithCommand("node node_modules\/.bin\/react-native config")/' settings.gradle 2>/dev/null || true && 
                # ---- clean gradle ----
                (./gradlew clean || true) && 
                # ---- pre-resolve AAR transforms so CMake finds prefab paths ----
                ./gradlew :app:dependencies --configuration debugCompileClasspath --no-daemon > /dev/null 2>&1 || true && 
                # ---- enable ABI splits ----
                if grep -q 'splits' app/build.gradle 2>/dev/null; then                     sed -i 's/enable false/enable true/' app/build.gradle || true;                 else                     sed -i '/^android[[:space:]]*{/a\    splits {\n        abi {\n            reset()\n            enable true\n            universalApk false\n            include "armeabi-v7a", "arm64-v8a", "x86", "x86_64"\n        }\n    }' app/build.gradle || true;                 fi && 
                # ---- build debug apk ----
                ./gradlew assembleDebug --no-daemon || exit 1 && 
                APK_PATH="app/build/outputs/apk/debug"

                if ! ls $APK_PATH/*.apk 1> /dev/null 2>&1; then
                    echo "ERROR: APK not generated"
                    exit 1
                fi
                # ---- copy output ----
                cp app/build/outputs/apk/debug/*.apk /output/

                # ---- copy TPL metadata ----
                [ -f ../package.json ] && cp ../package.json /output/ || true
                [ -f ../package-lock.json ] && cp ../package-lock.json /output/ || true
                [ -f ../yarn.lock ] && cp ../yarn.lock /output/ || true
                [ -f ../pnpm-lock.yaml ] && cp ../pnpm-lock.yaml /output/ || true
                [ -f app/build.gradle ] && cp app/build.gradle /output/android-build.gradle || true
                [ -f build.gradle ] && cp build.gradle /output/root-build.gradle || true
                [ -f build.gradle.kts ] && cp build.gradle.kts /output/root-build.gradle.kts || true
                [ -f settings.gradle ] && cp settings.gradle /output/ || true
                [ -f settings.gradle.kts ] && cp settings.gradle.kts /output/ || true
                [ -f gradle/libs.versions.toml ] && cp gradle/libs.versions.toml /output/ || true
                find . -name "*.gradle" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true
                find . -name "*.gradle.kts" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true
                mkdir -p /output/libs
                find . -name "*.jar" -not -name "gradle-wrapper.jar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true
                find . -name "*.aar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true
                find . -name "*.so" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true
                    
yarn install v1.22.22
warning package.json: "dependencies" has dependency "react-native-web" with range "~0.13.12" that collides with a dependency in "devDependencies" of the same name with version "~0.13.7"
warning "dependencies" has dependency "react-native-web" with range "~0.13.12" that collides with a dependency in "devDependencies" of the same name with version "~0.13.7"
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > expo-location@9.0.1" has unmet peer dependency "@unimodules/core@*".
warning " > expo-location@9.0.1" has unmet peer dependency "unimodules-permissions-interface@*".
warning " > expo-location@9.0.1" has unmet peer dependency "unimodules-task-manager-interface@*".
warning "expo > babel-preset-expo > @babel/plugin-proposal-decorators@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset@0.59.0" has unmet peer dependency "@babel/core@*".
warning "expo > babel-preset-expo > @babel/plugin-proposal-decorators > @babel/helper-create-class-features-plugin@7.12.0" has unmet peer dependency "@babel/core@^7.0.0".
warning "expo > babel-preset-expo > @babel/plugin-proposal-decorators > @babel/plugin-syntax-decorators@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/helper-compilation-targets@7.12.0" has unmet peer dependency "@babel/core@^7.0.0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-async-generator-functions@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-dynamic-import@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-export-namespace-from@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-json-strings@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-logical-assignment-operators@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-numeric-separator@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-object-rest-spread@7.11.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-optional-catch-binding@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-private-methods@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-unicode-property-regex@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-async-generators@7.8.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-class-properties@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-dynamic-import@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-export-namespace-from@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-json-strings@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-logical-assignment-operators@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-nullish-coalescing-operator@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-numeric-separator@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-object-rest-spread@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-optional-catch-binding@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-optional-chaining@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-top-level-await@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-arrow-functions@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-async-to-generator@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-block-scoped-functions@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-block-scoping@7.11.1" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-classes@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-computed-properties@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-destructuring@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-dotall-regex@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-duplicate-keys@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-exponentiation-operator@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-for-of@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-function-name@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-literals@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-member-expression-literals@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-modules-amd@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-modules-systemjs@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-modules-umd@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-named-capturing-groups-regex@7.10.4" has unmet peer dependency "@babel/core@^7.0.0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-new-target@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-object-super@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-parameters@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-property-literals@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-regenerator@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-reserved-words@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-shorthand-properties@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-spread@7.11.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-sticky-regex@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-template-literals@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-typeof-symbol@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-unicode-escapes@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-unicode-regex@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/preset-modules@0.1.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-proposal-export-default-from@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-syntax-export-default-from@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-syntax-flow@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-object-assign@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-display-name@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-jsx@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-jsx-self@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-jsx-source@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-runtime@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-typescript@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-unicode-property-regex > @babel/helper-create-regexp-features-plugin@7.12.0" has unmet peer dependency "@babel/core@^7.0.0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-typescript > @babel/plugin-syntax-typescript@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "react-native > metro-react-native-babel-transformer@0.59.0" has unmet peer dependency "@babel/core@*".
warning "react-native > @react-native-community/cli > metro-react-native-babel-transformer@0.58.0" has unmet peer dependency "@babel/core@*".
warning " > react-native-maps@0.27.1" has unmet peer dependency "prop-types@^15.0 || ^16.0".
[4/4] Building fresh packages...
Done in 52.13s.
Expo project detected
This command requires Expo CLI.
Do you want to install it globally [Y/n]? bash: line 18: cd: android: No such file or directory
bash: line 25: ./gradlew: No such file or directory
sed: can't read app/build.gradle: No such file or directory
bash: line 31: ./gradlew: No such file or directory

> echo Build failed with Node 18 and jdk version 17 with the following error: Command '['docker', 'run', '--rm', '-v', '/home/ubuntu/storage/extracted/gbdsantos-react-native-rocketseat-next-level-week-3-happy/react-native-rocketseat-next-level-week-3-happy-43fa6ad65411e4321e31195eb9c8fc56fde26b1d:/source:ro', '-v', '/home/ubuntu/BachelorsThesis/scripts/RN/output/gbdsantos-react-native-rocketseat-next-level-week-3-happy:/output', '-v', '/home/ubuntu/.npm:/root/.npm', 'react-android:18-jdk17', 'bash', '-c', '\n                set -e\n\n                cp -r /source/. /app &&                 cd /app && \n                # ---- install deps (yarn or npm) ----\n                if [ -f yarn.lock ]; then\n                    yarn install;\n                else\n                    npm install --ignore-scripts;\n                fi && \n                # ---- stub missing google-services.json (Firebase/Expo prebuild) ----\n                if [ ! -f google-services.json ]; then                     python3 -c "import json; open(\'google-services.json\',\'w\').write(json.dumps({\'project_info\':{\'project_number\':\'000000000000\',\'project_id\':\'stub\',\'storage_bucket\':\'stub.appspot.com\'},\'client\':[{\'client_info\':{\'mobilesdk_app_id\':\'1:000000000000:android:0000000000000000\',\'android_client_info\':{\'package_name\':\'com.stub\'}},\'oauth_client\':[],\'api_key\':[{\'current_key\':\'stub\'}],\'services\':{\'appinvite_service\':{\'other_platform_oauth_client\':[]}}}],\'configuration_version\':\'1\'}))" 2>/dev/null || true;                 fi && \n                # ---- detect expo ----\n                if grep -q \'"expo"\' package.json && [ ! -d android ]; then\n                    echo "Expo project detected";\n                    CI=1 npx --yes expo prebuild --platform android\n                fi && \n                export PATH="/app/node_modules/.bin:$PATH" &&                 cd android && \n                chmod +x gradlew && \n                # ---- inject fallback repositories via Gradle init script ----\n                mkdir -p $GRADLE_USER_HOME/init.d &&                 echo \'gradle.beforeProject {project ->\' > $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  project.buildscript.repositories {\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://maven.google.com"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://repo1.maven.org/maven2"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://plugins.gradle.org/m2/"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://jitpack.io"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  }\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  project.repositories {\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://maven.google.com"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://repo1.maven.org/maven2"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://plugins.gradle.org/m2/"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://jitpack.io"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  }\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'}\' >> $GRADLE_USER_HOME/init.d/repos.gradle && \n                # ---- patch settings.gradle to use local react-native CLI (avoids npx failures) ----\n                sed -i \'s/autolinkLibrariesWithCommand()/autolinkLibrariesWithCommand("node node_modules\\/.bin\\/react-native config")/\' settings.gradle 2>/dev/null || true && \n                # ---- clean gradle ----\n                (./gradlew clean || true) && \n                # ---- pre-resolve AAR transforms so CMake finds prefab paths ----\n                ./gradlew :app:dependencies --configuration debugCompileClasspath --no-daemon > /dev/null 2>&1 || true && \n                # ---- enable ABI splits ----\n                if grep -q \'splits\' app/build.gradle 2>/dev/null; then                     sed -i \'s/enable false/enable true/\' app/build.gradle || true;                 else                     sed -i \'/^android[[:space:]]*{/a\\    splits {\\n        abi {\\n            reset()\\n            enable true\\n            universalApk false\\n            include "armeabi-v7a", "arm64-v8a", "x86", "x86_64"\\n        }\\n    }\' app/build.gradle || true;                 fi && \n                # ---- build debug apk ----\n                ./gradlew assembleDebug --no-daemon || exit 1 && \n                APK_PATH="app/build/outputs/apk/debug"\n\n                if ! ls $APK_PATH/*.apk 1> /dev/null 2>&1; then\n                    echo "ERROR: APK not generated"\n                    exit 1\n                fi\n                # ---- copy output ----\n                cp app/build/outputs/apk/debug/*.apk /output/\n\n                # ---- copy TPL metadata ----\n                [ -f ../package.json ] && cp ../package.json /output/ || true\n                [ -f ../package-lock.json ] && cp ../package-lock.json /output/ || true\n                [ -f ../yarn.lock ] && cp ../yarn.lock /output/ || true\n                [ -f ../pnpm-lock.yaml ] && cp ../pnpm-lock.yaml /output/ || true\n                [ -f app/build.gradle ] && cp app/build.gradle /output/android-build.gradle || true\n                [ -f build.gradle ] && cp build.gradle /output/root-build.gradle || true\n                [ -f build.gradle.kts ] && cp build.gradle.kts /output/root-build.gradle.kts || true\n                [ -f settings.gradle ] && cp settings.gradle /output/ || true\n                [ -f settings.gradle.kts ] && cp settings.gradle.kts /output/ || true\n                [ -f gradle/libs.versions.toml ] && cp gradle/libs.versions.toml /output/ || true\n                find . -name "*.gradle" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true\n                find . -name "*.gradle.kts" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true\n                mkdir -p /output/libs\n                find . -name "*.jar" -not -name "gradle-wrapper.jar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                find . -name "*.aar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                find . -name "*.so" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                    ']' returned non-zero exit status 1.
Build failed with Node 18 and jdk version 17 with the following error: Command '['docker', 'run', '--rm', '-v', '/home/ubuntu/storage/extracted/gbdsantos-react-native-rocketseat-next-level-week-3-happy/react-native-rocketseat-next-level-week-3-happy-43fa6ad65411e4321e31195eb9c8fc56fde26b1d:/source:ro', '-v', '/home/ubuntu/BachelorsThesis/scripts/RN/output/gbdsantos-react-native-rocketseat-next-level-week-3-happy:/output', '-v', '/home/ubuntu/.npm:/root/.npm', 'react-android:18-jdk17', 'bash', '-c', '\n                set -e\n\n                cp -r /source/. /app &&                 cd /app && \n                # ---- install deps (yarn or npm) ----\n                if [ -f yarn.lock ]; then\n                    yarn install;\n                else\n                    npm install --ignore-scripts;\n                fi && \n                # ---- stub missing google-services.json (Firebase/Expo prebuild) ----\n                if [ ! -f google-services.json ]; then                     python3 -c "import json; open(\'google-services.json\',\'w\').write(json.dumps({\'project_info\':{\'project_number\':\'000000000000\',\'project_id\':\'stub\',\'storage_bucket\':\'stub.appspot.com\'},\'client\':[{\'client_info\':{\'mobilesdk_app_id\':\'1:000000000000:android:0000000000000000\',\'android_client_info\':{\'package_name\':\'com.stub\'}},\'oauth_client\':[],\'api_key\':[{\'current_key\':\'stub\'}],\'services\':{\'appinvite_service\':{\'other_platform_oauth_client\':[]}}}],\'configuration_version\':\'1\'}))" 2>/dev/null || true;                 fi && \n                # ---- detect expo ----\n                if grep -q \'"expo"\' package.json && [ ! -d android ]; then\n                    echo "Expo project detected";\n                    CI=1 npx --yes expo prebuild --platform android\n                fi && \n                export PATH="/app/node_modules/.bin:$PATH" &&                 cd android && \n                chmod +x gradlew && \n                # ---- inject fallback repositories via Gradle init script ----\n                mkdir -p $GRADLE_USER_HOME/init.d &&                 echo \'gradle.beforeProject {project ->\' > $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  project.buildscript.repositories {\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://maven.google.com"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://repo1.maven.org/maven2"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://plugins.gradle.org/m2/"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://jitpack.io"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  }\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  project.repositories {\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://maven.google.com"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://repo1.maven.org/maven2"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://plugins.gradle.org/m2/"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://jitpack.io"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  }\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'}\' >> $GRADLE_USER_HOME/init.d/repos.gradle && \n                # ---- patch settings.gradle to use local react-native CLI (avoids npx failures) ----\n                sed -i \'s/autolinkLibrariesWithCommand()/autolinkLibrariesWithCommand("node node_modules\\/.bin\\/react-native config")/\' settings.gradle 2>/dev/null || true && \n                # ---- clean gradle ----\n                (./gradlew clean || true) && \n                # ---- pre-resolve AAR transforms so CMake finds prefab paths ----\n                ./gradlew :app:dependencies --configuration debugCompileClasspath --no-daemon > /dev/null 2>&1 || true && \n                # ---- enable ABI splits ----\n                if grep -q \'splits\' app/build.gradle 2>/dev/null; then                     sed -i \'s/enable false/enable true/\' app/build.gradle || true;                 else                     sed -i \'/^android[[:space:]]*{/a\\    splits {\\n        abi {\\n            reset()\\n            enable true\\n            universalApk false\\n            include "armeabi-v7a", "arm64-v8a", "x86", "x86_64"\\n        }\\n    }\' app/build.gradle || true;                 fi && \n                # ---- build debug apk ----\n                ./gradlew assembleDebug --no-daemon || exit 1 && \n                APK_PATH="app/build/outputs/apk/debug"\n\n                if ! ls $APK_PATH/*.apk 1> /dev/null 2>&1; then\n                    echo "ERROR: APK not generated"\n                    exit 1\n                fi\n                # ---- copy output ----\n                cp app/build/outputs/apk/debug/*.apk /output/\n\n                # ---- copy TPL metadata ----\n                [ -f ../package.json ] && cp ../package.json /output/ || true\n                [ -f ../package-lock.json ] && cp ../package-lock.json /output/ || true\n                [ -f ../yarn.lock ] && cp ../yarn.lock /output/ || true\n                [ -f ../pnpm-lock.yaml ] && cp ../pnpm-lock.yaml /output/ || true\n                [ -f app/build.gradle ] && cp app/build.gradle /output/android-build.gradle || true\n                [ -f build.gradle ] && cp build.gradle /output/root-build.gradle || true\n                [ -f build.gradle.kts ] && cp build.gradle.kts /output/root-build.gradle.kts || true\n                [ -f settings.gradle ] && cp settings.gradle /output/ || true\n                [ -f settings.gradle.kts ] && cp settings.gradle.kts /output/ || true\n                [ -f gradle/libs.versions.toml ] && cp gradle/libs.versions.toml /output/ || true\n                find . -name "*.gradle" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true\n                find . -name "*.gradle.kts" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true\n                mkdir -p /output/libs\n                find . -name "*.jar" -not -name "gradle-wrapper.jar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                find . -name "*.aar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                find . -name "*.so" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                    ']' returned non-zero exit status 1.

> echo Attempting build for gbdsantos-react-native-rocketseat-next-level-week-3-happy with Node 20 and jdk 17
Attempting build for gbdsantos-react-native-rocketseat-next-level-week-3-happy with Node 20 and jdk 17

> docker run --rm -v /home/ubuntu/storage/extracted/gbdsantos-react-native-rocketseat-next-level-week-3-happy/react-native-rocketseat-next-level-week-3-happy-43fa6ad65411e4321e31195eb9c8fc56fde26b1d:/source:ro -v /home/ubuntu/BachelorsThesis/scripts/RN/output/gbdsantos-react-native-rocketseat-next-level-week-3-happy:/output -v /home/ubuntu/.npm:/root/.npm react-android:20-jdk17 bash -c 
                set -e

                cp -r /source/. /app &&                 cd /app && 
                # ---- install deps (yarn or npm) ----
                if [ -f yarn.lock ]; then
                    yarn install;
                else
                    npm install --ignore-scripts;
                fi && 
                # ---- stub missing google-services.json (Firebase/Expo prebuild) ----
                if [ ! -f google-services.json ]; then                     python3 -c "import json; open('google-services.json','w').write(json.dumps({'project_info':{'project_number':'000000000000','project_id':'stub','storage_bucket':'stub.appspot.com'},'client':[{'client_info':{'mobilesdk_app_id':'1:000000000000:android:0000000000000000','android_client_info':{'package_name':'com.stub'}},'oauth_client':[],'api_key':[{'current_key':'stub'}],'services':{'appinvite_service':{'other_platform_oauth_client':[]}}}],'configuration_version':'1'}))" 2>/dev/null || true;                 fi && 
                # ---- detect expo ----
                if grep -q '"expo"' package.json && [ ! -d android ]; then
                    echo "Expo project detected";
                    CI=1 npx --yes expo prebuild --platform android
                fi && 
                export PATH="/app/node_modules/.bin:$PATH" &&                 cd android && 
                chmod +x gradlew && 
                # ---- inject fallback repositories via Gradle init script ----
                mkdir -p $GRADLE_USER_HOME/init.d &&                 echo 'gradle.beforeProject {project ->' > $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '  project.buildscript.repositories {' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://maven.google.com"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://repo1.maven.org/maven2"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://plugins.gradle.org/m2/"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://jitpack.io"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '  }' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '  project.repositories {' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://maven.google.com"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://repo1.maven.org/maven2"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://plugins.gradle.org/m2/"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://jitpack.io"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '  }' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '}' >> $GRADLE_USER_HOME/init.d/repos.gradle && 
                # ---- patch settings.gradle to use local react-native CLI (avoids npx failures) ----
                sed -i 's/autolinkLibrariesWithCommand()/autolinkLibrariesWithCommand("node node_modules\/.bin\/react-native config")/' settings.gradle 2>/dev/null || true && 
                # ---- clean gradle ----
                (./gradlew clean || true) && 
                # ---- pre-resolve AAR transforms so CMake finds prefab paths ----
                ./gradlew :app:dependencies --configuration debugCompileClasspath --no-daemon > /dev/null 2>&1 || true && 
                # ---- enable ABI splits ----
                if grep -q 'splits' app/build.gradle 2>/dev/null; then                     sed -i 's/enable false/enable true/' app/build.gradle || true;                 else                     sed -i '/^android[[:space:]]*{/a\    splits {\n        abi {\n            reset()\n            enable true\n            universalApk false\n            include "armeabi-v7a", "arm64-v8a", "x86", "x86_64"\n        }\n    }' app/build.gradle || true;                 fi && 
                # ---- build debug apk ----
                ./gradlew assembleDebug --no-daemon || exit 1 && 
                APK_PATH="app/build/outputs/apk/debug"

                if ! ls $APK_PATH/*.apk 1> /dev/null 2>&1; then
                    echo "ERROR: APK not generated"
                    exit 1
                fi
                # ---- copy output ----
                cp app/build/outputs/apk/debug/*.apk /output/

                # ---- copy TPL metadata ----
                [ -f ../package.json ] && cp ../package.json /output/ || true
                [ -f ../package-lock.json ] && cp ../package-lock.json /output/ || true
                [ -f ../yarn.lock ] && cp ../yarn.lock /output/ || true
                [ -f ../pnpm-lock.yaml ] && cp ../pnpm-lock.yaml /output/ || true
                [ -f app/build.gradle ] && cp app/build.gradle /output/android-build.gradle || true
                [ -f build.gradle ] && cp build.gradle /output/root-build.gradle || true
                [ -f build.gradle.kts ] && cp build.gradle.kts /output/root-build.gradle.kts || true
                [ -f settings.gradle ] && cp settings.gradle /output/ || true
                [ -f settings.gradle.kts ] && cp settings.gradle.kts /output/ || true
                [ -f gradle/libs.versions.toml ] && cp gradle/libs.versions.toml /output/ || true
                find . -name "*.gradle" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true
                find . -name "*.gradle.kts" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true
                mkdir -p /output/libs
                find . -name "*.jar" -not -name "gradle-wrapper.jar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true
                find . -name "*.aar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true
                find . -name "*.so" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true
                    
yarn install v1.22.22
warning package.json: "dependencies" has dependency "react-native-web" with range "~0.13.12" that collides with a dependency in "devDependencies" of the same name with version "~0.13.7"
warning "dependencies" has dependency "react-native-web" with range "~0.13.12" that collides with a dependency in "devDependencies" of the same name with version "~0.13.7"
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > expo-location@9.0.1" has unmet peer dependency "@unimodules/core@*".
warning " > expo-location@9.0.1" has unmet peer dependency "unimodules-permissions-interface@*".
warning " > expo-location@9.0.1" has unmet peer dependency "unimodules-task-manager-interface@*".
warning "expo > babel-preset-expo > @babel/plugin-proposal-decorators@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset@0.59.0" has unmet peer dependency "@babel/core@*".
warning "expo > babel-preset-expo > @babel/plugin-proposal-decorators > @babel/helper-create-class-features-plugin@7.12.0" has unmet peer dependency "@babel/core@^7.0.0".
warning "expo > babel-preset-expo > @babel/plugin-proposal-decorators > @babel/plugin-syntax-decorators@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/helper-compilation-targets@7.12.0" has unmet peer dependency "@babel/core@^7.0.0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-async-generator-functions@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-dynamic-import@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-export-namespace-from@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-json-strings@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-logical-assignment-operators@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-numeric-separator@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-object-rest-spread@7.11.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-optional-catch-binding@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-private-methods@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-unicode-property-regex@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-async-generators@7.8.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-class-properties@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-dynamic-import@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-export-namespace-from@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-json-strings@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-logical-assignment-operators@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-nullish-coalescing-operator@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-numeric-separator@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-object-rest-spread@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-optional-catch-binding@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-optional-chaining@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-top-level-await@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-arrow-functions@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-async-to-generator@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-block-scoped-functions@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-block-scoping@7.11.1" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-classes@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-computed-properties@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-destructuring@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-dotall-regex@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-duplicate-keys@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-exponentiation-operator@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-for-of@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-function-name@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-literals@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-member-expression-literals@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-modules-amd@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-modules-systemjs@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-modules-umd@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-named-capturing-groups-regex@7.10.4" has unmet peer dependency "@babel/core@^7.0.0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-new-target@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-object-super@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-parameters@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-property-literals@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-regenerator@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-reserved-words@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-shorthand-properties@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-spread@7.11.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-sticky-regex@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-template-literals@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-typeof-symbol@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-unicode-escapes@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-unicode-regex@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/preset-modules@0.1.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-proposal-export-default-from@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-syntax-export-default-from@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-syntax-flow@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-object-assign@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-display-name@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-jsx@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-jsx-self@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-jsx-source@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-runtime@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-typescript@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-unicode-property-regex > @babel/helper-create-regexp-features-plugin@7.12.0" has unmet peer dependency "@babel/core@^7.0.0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-typescript > @babel/plugin-syntax-typescript@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "react-native > metro-react-native-babel-transformer@0.59.0" has unmet peer dependency "@babel/core@*".
warning "react-native > @react-native-community/cli > metro-react-native-babel-transformer@0.58.0" has unmet peer dependency "@babel/core@*".
warning " > react-native-maps@0.27.1" has unmet peer dependency "prop-types@^15.0 || ^16.0".
[4/4] Building fresh packages...
Done in 45.12s.
Expo project detected
This command requires Expo CLI.
Do you want to install it globally [Y/n]? bash: line 18: cd: android: No such file or directory
bash: line 25: ./gradlew: No such file or directory
sed: can't read app/build.gradle: No such file or directory
bash: line 31: ./gradlew: No such file or directory

> echo Build failed with Node 20 and jdk version 17 with the following error: Command '['docker', 'run', '--rm', '-v', '/home/ubuntu/storage/extracted/gbdsantos-react-native-rocketseat-next-level-week-3-happy/react-native-rocketseat-next-level-week-3-happy-43fa6ad65411e4321e31195eb9c8fc56fde26b1d:/source:ro', '-v', '/home/ubuntu/BachelorsThesis/scripts/RN/output/gbdsantos-react-native-rocketseat-next-level-week-3-happy:/output', '-v', '/home/ubuntu/.npm:/root/.npm', 'react-android:20-jdk17', 'bash', '-c', '\n                set -e\n\n                cp -r /source/. /app &&                 cd /app && \n                # ---- install deps (yarn or npm) ----\n                if [ -f yarn.lock ]; then\n                    yarn install;\n                else\n                    npm install --ignore-scripts;\n                fi && \n                # ---- stub missing google-services.json (Firebase/Expo prebuild) ----\n                if [ ! -f google-services.json ]; then                     python3 -c "import json; open(\'google-services.json\',\'w\').write(json.dumps({\'project_info\':{\'project_number\':\'000000000000\',\'project_id\':\'stub\',\'storage_bucket\':\'stub.appspot.com\'},\'client\':[{\'client_info\':{\'mobilesdk_app_id\':\'1:000000000000:android:0000000000000000\',\'android_client_info\':{\'package_name\':\'com.stub\'}},\'oauth_client\':[],\'api_key\':[{\'current_key\':\'stub\'}],\'services\':{\'appinvite_service\':{\'other_platform_oauth_client\':[]}}}],\'configuration_version\':\'1\'}))" 2>/dev/null || true;                 fi && \n                # ---- detect expo ----\n                if grep -q \'"expo"\' package.json && [ ! -d android ]; then\n                    echo "Expo project detected";\n                    CI=1 npx --yes expo prebuild --platform android\n                fi && \n                export PATH="/app/node_modules/.bin:$PATH" &&                 cd android && \n                chmod +x gradlew && \n                # ---- inject fallback repositories via Gradle init script ----\n                mkdir -p $GRADLE_USER_HOME/init.d &&                 echo \'gradle.beforeProject {project ->\' > $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  project.buildscript.repositories {\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://maven.google.com"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://repo1.maven.org/maven2"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://plugins.gradle.org/m2/"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://jitpack.io"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  }\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  project.repositories {\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://maven.google.com"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://repo1.maven.org/maven2"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://plugins.gradle.org/m2/"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://jitpack.io"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  }\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'}\' >> $GRADLE_USER_HOME/init.d/repos.gradle && \n                # ---- patch settings.gradle to use local react-native CLI (avoids npx failures) ----\n                sed -i \'s/autolinkLibrariesWithCommand()/autolinkLibrariesWithCommand("node node_modules\\/.bin\\/react-native config")/\' settings.gradle 2>/dev/null || true && \n                # ---- clean gradle ----\n                (./gradlew clean || true) && \n                # ---- pre-resolve AAR transforms so CMake finds prefab paths ----\n                ./gradlew :app:dependencies --configuration debugCompileClasspath --no-daemon > /dev/null 2>&1 || true && \n                # ---- enable ABI splits ----\n                if grep -q \'splits\' app/build.gradle 2>/dev/null; then                     sed -i \'s/enable false/enable true/\' app/build.gradle || true;                 else                     sed -i \'/^android[[:space:]]*{/a\\    splits {\\n        abi {\\n            reset()\\n            enable true\\n            universalApk false\\n            include "armeabi-v7a", "arm64-v8a", "x86", "x86_64"\\n        }\\n    }\' app/build.gradle || true;                 fi && \n                # ---- build debug apk ----\n                ./gradlew assembleDebug --no-daemon || exit 1 && \n                APK_PATH="app/build/outputs/apk/debug"\n\n                if ! ls $APK_PATH/*.apk 1> /dev/null 2>&1; then\n                    echo "ERROR: APK not generated"\n                    exit 1\n                fi\n                # ---- copy output ----\n                cp app/build/outputs/apk/debug/*.apk /output/\n\n                # ---- copy TPL metadata ----\n                [ -f ../package.json ] && cp ../package.json /output/ || true\n                [ -f ../package-lock.json ] && cp ../package-lock.json /output/ || true\n                [ -f ../yarn.lock ] && cp ../yarn.lock /output/ || true\n                [ -f ../pnpm-lock.yaml ] && cp ../pnpm-lock.yaml /output/ || true\n                [ -f app/build.gradle ] && cp app/build.gradle /output/android-build.gradle || true\n                [ -f build.gradle ] && cp build.gradle /output/root-build.gradle || true\n                [ -f build.gradle.kts ] && cp build.gradle.kts /output/root-build.gradle.kts || true\n                [ -f settings.gradle ] && cp settings.gradle /output/ || true\n                [ -f settings.gradle.kts ] && cp settings.gradle.kts /output/ || true\n                [ -f gradle/libs.versions.toml ] && cp gradle/libs.versions.toml /output/ || true\n                find . -name "*.gradle" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true\n                find . -name "*.gradle.kts" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true\n                mkdir -p /output/libs\n                find . -name "*.jar" -not -name "gradle-wrapper.jar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                find . -name "*.aar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                find . -name "*.so" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                    ']' returned non-zero exit status 1.
Build failed with Node 20 and jdk version 17 with the following error: Command '['docker', 'run', '--rm', '-v', '/home/ubuntu/storage/extracted/gbdsantos-react-native-rocketseat-next-level-week-3-happy/react-native-rocketseat-next-level-week-3-happy-43fa6ad65411e4321e31195eb9c8fc56fde26b1d:/source:ro', '-v', '/home/ubuntu/BachelorsThesis/scripts/RN/output/gbdsantos-react-native-rocketseat-next-level-week-3-happy:/output', '-v', '/home/ubuntu/.npm:/root/.npm', 'react-android:20-jdk17', 'bash', '-c', '\n                set -e\n\n                cp -r /source/. /app &&                 cd /app && \n                # ---- install deps (yarn or npm) ----\n                if [ -f yarn.lock ]; then\n                    yarn install;\n                else\n                    npm install --ignore-scripts;\n                fi && \n                # ---- stub missing google-services.json (Firebase/Expo prebuild) ----\n                if [ ! -f google-services.json ]; then                     python3 -c "import json; open(\'google-services.json\',\'w\').write(json.dumps({\'project_info\':{\'project_number\':\'000000000000\',\'project_id\':\'stub\',\'storage_bucket\':\'stub.appspot.com\'},\'client\':[{\'client_info\':{\'mobilesdk_app_id\':\'1:000000000000:android:0000000000000000\',\'android_client_info\':{\'package_name\':\'com.stub\'}},\'oauth_client\':[],\'api_key\':[{\'current_key\':\'stub\'}],\'services\':{\'appinvite_service\':{\'other_platform_oauth_client\':[]}}}],\'configuration_version\':\'1\'}))" 2>/dev/null || true;                 fi && \n                # ---- detect expo ----\n                if grep -q \'"expo"\' package.json && [ ! -d android ]; then\n                    echo "Expo project detected";\n                    CI=1 npx --yes expo prebuild --platform android\n                fi && \n                export PATH="/app/node_modules/.bin:$PATH" &&                 cd android && \n                chmod +x gradlew && \n                # ---- inject fallback repositories via Gradle init script ----\n                mkdir -p $GRADLE_USER_HOME/init.d &&                 echo \'gradle.beforeProject {project ->\' > $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  project.buildscript.repositories {\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://maven.google.com"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://repo1.maven.org/maven2"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://plugins.gradle.org/m2/"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://jitpack.io"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  }\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  project.repositories {\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://maven.google.com"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://repo1.maven.org/maven2"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://plugins.gradle.org/m2/"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://jitpack.io"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  }\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'}\' >> $GRADLE_USER_HOME/init.d/repos.gradle && \n                # ---- patch settings.gradle to use local react-native CLI (avoids npx failures) ----\n                sed -i \'s/autolinkLibrariesWithCommand()/autolinkLibrariesWithCommand("node node_modules\\/.bin\\/react-native config")/\' settings.gradle 2>/dev/null || true && \n                # ---- clean gradle ----\n                (./gradlew clean || true) && \n                # ---- pre-resolve AAR transforms so CMake finds prefab paths ----\n                ./gradlew :app:dependencies --configuration debugCompileClasspath --no-daemon > /dev/null 2>&1 || true && \n                # ---- enable ABI splits ----\n                if grep -q \'splits\' app/build.gradle 2>/dev/null; then                     sed -i \'s/enable false/enable true/\' app/build.gradle || true;                 else                     sed -i \'/^android[[:space:]]*{/a\\    splits {\\n        abi {\\n            reset()\\n            enable true\\n            universalApk false\\n            include "armeabi-v7a", "arm64-v8a", "x86", "x86_64"\\n        }\\n    }\' app/build.gradle || true;                 fi && \n                # ---- build debug apk ----\n                ./gradlew assembleDebug --no-daemon || exit 1 && \n                APK_PATH="app/build/outputs/apk/debug"\n\n                if ! ls $APK_PATH/*.apk 1> /dev/null 2>&1; then\n                    echo "ERROR: APK not generated"\n                    exit 1\n                fi\n                # ---- copy output ----\n                cp app/build/outputs/apk/debug/*.apk /output/\n\n                # ---- copy TPL metadata ----\n                [ -f ../package.json ] && cp ../package.json /output/ || true\n                [ -f ../package-lock.json ] && cp ../package-lock.json /output/ || true\n                [ -f ../yarn.lock ] && cp ../yarn.lock /output/ || true\n                [ -f ../pnpm-lock.yaml ] && cp ../pnpm-lock.yaml /output/ || true\n                [ -f app/build.gradle ] && cp app/build.gradle /output/android-build.gradle || true\n                [ -f build.gradle ] && cp build.gradle /output/root-build.gradle || true\n                [ -f build.gradle.kts ] && cp build.gradle.kts /output/root-build.gradle.kts || true\n                [ -f settings.gradle ] && cp settings.gradle /output/ || true\n                [ -f settings.gradle.kts ] && cp settings.gradle.kts /output/ || true\n                [ -f gradle/libs.versions.toml ] && cp gradle/libs.versions.toml /output/ || true\n                find . -name "*.gradle" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true\n                find . -name "*.gradle.kts" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true\n                mkdir -p /output/libs\n                find . -name "*.jar" -not -name "gradle-wrapper.jar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                find . -name "*.aar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                find . -name "*.so" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                    ']' returned non-zero exit status 1.

> echo Attempting build for gbdsantos-react-native-rocketseat-next-level-week-3-happy with Node 22 and jdk 17
Attempting build for gbdsantos-react-native-rocketseat-next-level-week-3-happy with Node 22 and jdk 17

> docker run --rm -v /home/ubuntu/storage/extracted/gbdsantos-react-native-rocketseat-next-level-week-3-happy/react-native-rocketseat-next-level-week-3-happy-43fa6ad65411e4321e31195eb9c8fc56fde26b1d:/source:ro -v /home/ubuntu/BachelorsThesis/scripts/RN/output/gbdsantos-react-native-rocketseat-next-level-week-3-happy:/output -v /home/ubuntu/.npm:/root/.npm react-android:22-jdk17 bash -c 
                set -e

                cp -r /source/. /app &&                 cd /app && 
                # ---- install deps (yarn or npm) ----
                if [ -f yarn.lock ]; then
                    yarn install;
                else
                    npm install --ignore-scripts;
                fi && 
                # ---- stub missing google-services.json (Firebase/Expo prebuild) ----
                if [ ! -f google-services.json ]; then                     python3 -c "import json; open('google-services.json','w').write(json.dumps({'project_info':{'project_number':'000000000000','project_id':'stub','storage_bucket':'stub.appspot.com'},'client':[{'client_info':{'mobilesdk_app_id':'1:000000000000:android:0000000000000000','android_client_info':{'package_name':'com.stub'}},'oauth_client':[],'api_key':[{'current_key':'stub'}],'services':{'appinvite_service':{'other_platform_oauth_client':[]}}}],'configuration_version':'1'}))" 2>/dev/null || true;                 fi && 
                # ---- detect expo ----
                if grep -q '"expo"' package.json && [ ! -d android ]; then
                    echo "Expo project detected";
                    CI=1 npx --yes expo prebuild --platform android
                fi && 
                export PATH="/app/node_modules/.bin:$PATH" &&                 cd android && 
                chmod +x gradlew && 
                # ---- inject fallback repositories via Gradle init script ----
                mkdir -p $GRADLE_USER_HOME/init.d &&                 echo 'gradle.beforeProject {project ->' > $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '  project.buildscript.repositories {' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://maven.google.com"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://repo1.maven.org/maven2"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://plugins.gradle.org/m2/"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://jitpack.io"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '  }' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '  project.repositories {' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://maven.google.com"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://repo1.maven.org/maven2"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://plugins.gradle.org/m2/"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '    maven {url "https://jitpack.io"}' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '  }' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo '}' >> $GRADLE_USER_HOME/init.d/repos.gradle && 
                # ---- patch settings.gradle to use local react-native CLI (avoids npx failures) ----
                sed -i 's/autolinkLibrariesWithCommand()/autolinkLibrariesWithCommand("node node_modules\/.bin\/react-native config")/' settings.gradle 2>/dev/null || true && 
                # ---- clean gradle ----
                (./gradlew clean || true) && 
                # ---- pre-resolve AAR transforms so CMake finds prefab paths ----
                ./gradlew :app:dependencies --configuration debugCompileClasspath --no-daemon > /dev/null 2>&1 || true && 
                # ---- enable ABI splits ----
                if grep -q 'splits' app/build.gradle 2>/dev/null; then                     sed -i 's/enable false/enable true/' app/build.gradle || true;                 else                     sed -i '/^android[[:space:]]*{/a\    splits {\n        abi {\n            reset()\n            enable true\n            universalApk false\n            include "armeabi-v7a", "arm64-v8a", "x86", "x86_64"\n        }\n    }' app/build.gradle || true;                 fi && 
                # ---- build debug apk ----
                ./gradlew assembleDebug --no-daemon || exit 1 && 
                APK_PATH="app/build/outputs/apk/debug"

                if ! ls $APK_PATH/*.apk 1> /dev/null 2>&1; then
                    echo "ERROR: APK not generated"
                    exit 1
                fi
                # ---- copy output ----
                cp app/build/outputs/apk/debug/*.apk /output/

                # ---- copy TPL metadata ----
                [ -f ../package.json ] && cp ../package.json /output/ || true
                [ -f ../package-lock.json ] && cp ../package-lock.json /output/ || true
                [ -f ../yarn.lock ] && cp ../yarn.lock /output/ || true
                [ -f ../pnpm-lock.yaml ] && cp ../pnpm-lock.yaml /output/ || true
                [ -f app/build.gradle ] && cp app/build.gradle /output/android-build.gradle || true
                [ -f build.gradle ] && cp build.gradle /output/root-build.gradle || true
                [ -f build.gradle.kts ] && cp build.gradle.kts /output/root-build.gradle.kts || true
                [ -f settings.gradle ] && cp settings.gradle /output/ || true
                [ -f settings.gradle.kts ] && cp settings.gradle.kts /output/ || true
                [ -f gradle/libs.versions.toml ] && cp gradle/libs.versions.toml /output/ || true
                find . -name "*.gradle" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true
                find . -name "*.gradle.kts" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true
                mkdir -p /output/libs
                find . -name "*.jar" -not -name "gradle-wrapper.jar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true
                find . -name "*.aar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true
                find . -name "*.so" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true
                    
yarn install v1.22.22
warning package.json: "dependencies" has dependency "react-native-web" with range "~0.13.12" that collides with a dependency in "devDependencies" of the same name with version "~0.13.7"
warning "dependencies" has dependency "react-native-web" with range "~0.13.12" that collides with a dependency in "devDependencies" of the same name with version "~0.13.7"
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > expo-location@9.0.1" has unmet peer dependency "@unimodules/core@*".
warning " > expo-location@9.0.1" has unmet peer dependency "unimodules-permissions-interface@*".
warning " > expo-location@9.0.1" has unmet peer dependency "unimodules-task-manager-interface@*".
warning "expo > babel-preset-expo > @babel/plugin-proposal-decorators@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset@0.59.0" has unmet peer dependency "@babel/core@*".
warning "expo > babel-preset-expo > @babel/plugin-proposal-decorators > @babel/helper-create-class-features-plugin@7.12.0" has unmet peer dependency "@babel/core@^7.0.0".
warning "expo > babel-preset-expo > @babel/plugin-proposal-decorators > @babel/plugin-syntax-decorators@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/helper-compilation-targets@7.12.0" has unmet peer dependency "@babel/core@^7.0.0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-async-generator-functions@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-dynamic-import@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-export-namespace-from@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-json-strings@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-logical-assignment-operators@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-numeric-separator@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-object-rest-spread@7.11.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-optional-catch-binding@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-private-methods@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-unicode-property-regex@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-async-generators@7.8.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-class-properties@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-dynamic-import@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-export-namespace-from@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-json-strings@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-logical-assignment-operators@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-nullish-coalescing-operator@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-numeric-separator@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-object-rest-spread@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-optional-catch-binding@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-optional-chaining@7.8.3" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-syntax-top-level-await@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-arrow-functions@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-async-to-generator@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-block-scoped-functions@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-block-scoping@7.11.1" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-classes@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-computed-properties@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-destructuring@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-dotall-regex@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-duplicate-keys@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-exponentiation-operator@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-for-of@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-function-name@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-literals@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-member-expression-literals@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-modules-amd@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-modules-systemjs@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-modules-umd@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-named-capturing-groups-regex@7.10.4" has unmet peer dependency "@babel/core@^7.0.0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-new-target@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-object-super@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-parameters@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-property-literals@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-regenerator@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-reserved-words@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-shorthand-properties@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-spread@7.11.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-sticky-regex@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-template-literals@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-typeof-symbol@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-unicode-escapes@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-transform-unicode-regex@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/preset-modules@0.1.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-proposal-export-default-from@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-syntax-export-default-from@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-syntax-flow@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-object-assign@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-display-name@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-jsx@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-jsx-self@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-react-jsx-source@7.10.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-runtime@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-typescript@7.12.0" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "expo > babel-preset-expo > @babel/preset-env > @babel/plugin-proposal-unicode-property-regex > @babel/helper-create-regexp-features-plugin@7.12.0" has unmet peer dependency "@babel/core@^7.0.0".
warning "expo > babel-preset-expo > metro-react-native-babel-preset > @babel/plugin-transform-typescript > @babel/plugin-syntax-typescript@7.10.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "react-native > metro-react-native-babel-transformer@0.59.0" has unmet peer dependency "@babel/core@*".
warning "react-native > @react-native-community/cli > metro-react-native-babel-transformer@0.58.0" has unmet peer dependency "@babel/core@*".
warning " > react-native-maps@0.27.1" has unmet peer dependency "prop-types@^15.0 || ^16.0".
[4/4] Building fresh packages...
Done in 55.35s.
Expo project detected
This command requires Expo CLI.
Do you want to install it globally [Y/n]? bash: line 18: cd: android: No such file or directory
bash: line 25: ./gradlew: No such file or directory
sed: can't read app/build.gradle: No such file or directory
bash: line 31: ./gradlew: No such file or directory

> echo Build failed with Node 22 and jdk version 17 with the following error: Command '['docker', 'run', '--rm', '-v', '/home/ubuntu/storage/extracted/gbdsantos-react-native-rocketseat-next-level-week-3-happy/react-native-rocketseat-next-level-week-3-happy-43fa6ad65411e4321e31195eb9c8fc56fde26b1d:/source:ro', '-v', '/home/ubuntu/BachelorsThesis/scripts/RN/output/gbdsantos-react-native-rocketseat-next-level-week-3-happy:/output', '-v', '/home/ubuntu/.npm:/root/.npm', 'react-android:22-jdk17', 'bash', '-c', '\n                set -e\n\n                cp -r /source/. /app &&                 cd /app && \n                # ---- install deps (yarn or npm) ----\n                if [ -f yarn.lock ]; then\n                    yarn install;\n                else\n                    npm install --ignore-scripts;\n                fi && \n                # ---- stub missing google-services.json (Firebase/Expo prebuild) ----\n                if [ ! -f google-services.json ]; then                     python3 -c "import json; open(\'google-services.json\',\'w\').write(json.dumps({\'project_info\':{\'project_number\':\'000000000000\',\'project_id\':\'stub\',\'storage_bucket\':\'stub.appspot.com\'},\'client\':[{\'client_info\':{\'mobilesdk_app_id\':\'1:000000000000:android:0000000000000000\',\'android_client_info\':{\'package_name\':\'com.stub\'}},\'oauth_client\':[],\'api_key\':[{\'current_key\':\'stub\'}],\'services\':{\'appinvite_service\':{\'other_platform_oauth_client\':[]}}}],\'configuration_version\':\'1\'}))" 2>/dev/null || true;                 fi && \n                # ---- detect expo ----\n                if grep -q \'"expo"\' package.json && [ ! -d android ]; then\n                    echo "Expo project detected";\n                    CI=1 npx --yes expo prebuild --platform android\n                fi && \n                export PATH="/app/node_modules/.bin:$PATH" &&                 cd android && \n                chmod +x gradlew && \n                # ---- inject fallback repositories via Gradle init script ----\n                mkdir -p $GRADLE_USER_HOME/init.d &&                 echo \'gradle.beforeProject {project ->\' > $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  project.buildscript.repositories {\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://maven.google.com"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://repo1.maven.org/maven2"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://plugins.gradle.org/m2/"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://jitpack.io"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  }\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  project.repositories {\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://maven.google.com"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://repo1.maven.org/maven2"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://plugins.gradle.org/m2/"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://jitpack.io"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  }\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'}\' >> $GRADLE_USER_HOME/init.d/repos.gradle && \n                # ---- patch settings.gradle to use local react-native CLI (avoids npx failures) ----\n                sed -i \'s/autolinkLibrariesWithCommand()/autolinkLibrariesWithCommand("node node_modules\\/.bin\\/react-native config")/\' settings.gradle 2>/dev/null || true && \n                # ---- clean gradle ----\n                (./gradlew clean || true) && \n                # ---- pre-resolve AAR transforms so CMake finds prefab paths ----\n                ./gradlew :app:dependencies --configuration debugCompileClasspath --no-daemon > /dev/null 2>&1 || true && \n                # ---- enable ABI splits ----\n                if grep -q \'splits\' app/build.gradle 2>/dev/null; then                     sed -i \'s/enable false/enable true/\' app/build.gradle || true;                 else                     sed -i \'/^android[[:space:]]*{/a\\    splits {\\n        abi {\\n            reset()\\n            enable true\\n            universalApk false\\n            include "armeabi-v7a", "arm64-v8a", "x86", "x86_64"\\n        }\\n    }\' app/build.gradle || true;                 fi && \n                # ---- build debug apk ----\n                ./gradlew assembleDebug --no-daemon || exit 1 && \n                APK_PATH="app/build/outputs/apk/debug"\n\n                if ! ls $APK_PATH/*.apk 1> /dev/null 2>&1; then\n                    echo "ERROR: APK not generated"\n                    exit 1\n                fi\n                # ---- copy output ----\n                cp app/build/outputs/apk/debug/*.apk /output/\n\n                # ---- copy TPL metadata ----\n                [ -f ../package.json ] && cp ../package.json /output/ || true\n                [ -f ../package-lock.json ] && cp ../package-lock.json /output/ || true\n                [ -f ../yarn.lock ] && cp ../yarn.lock /output/ || true\n                [ -f ../pnpm-lock.yaml ] && cp ../pnpm-lock.yaml /output/ || true\n                [ -f app/build.gradle ] && cp app/build.gradle /output/android-build.gradle || true\n                [ -f build.gradle ] && cp build.gradle /output/root-build.gradle || true\n                [ -f build.gradle.kts ] && cp build.gradle.kts /output/root-build.gradle.kts || true\n                [ -f settings.gradle ] && cp settings.gradle /output/ || true\n                [ -f settings.gradle.kts ] && cp settings.gradle.kts /output/ || true\n                [ -f gradle/libs.versions.toml ] && cp gradle/libs.versions.toml /output/ || true\n                find . -name "*.gradle" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true\n                find . -name "*.gradle.kts" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true\n                mkdir -p /output/libs\n                find . -name "*.jar" -not -name "gradle-wrapper.jar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                find . -name "*.aar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                find . -name "*.so" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                    ']' returned non-zero exit status 1.
Build failed with Node 22 and jdk version 17 with the following error: Command '['docker', 'run', '--rm', '-v', '/home/ubuntu/storage/extracted/gbdsantos-react-native-rocketseat-next-level-week-3-happy/react-native-rocketseat-next-level-week-3-happy-43fa6ad65411e4321e31195eb9c8fc56fde26b1d:/source:ro', '-v', '/home/ubuntu/BachelorsThesis/scripts/RN/output/gbdsantos-react-native-rocketseat-next-level-week-3-happy:/output', '-v', '/home/ubuntu/.npm:/root/.npm', 'react-android:22-jdk17', 'bash', '-c', '\n                set -e\n\n                cp -r /source/. /app &&                 cd /app && \n                # ---- install deps (yarn or npm) ----\n                if [ -f yarn.lock ]; then\n                    yarn install;\n                else\n                    npm install --ignore-scripts;\n                fi && \n                # ---- stub missing google-services.json (Firebase/Expo prebuild) ----\n                if [ ! -f google-services.json ]; then                     python3 -c "import json; open(\'google-services.json\',\'w\').write(json.dumps({\'project_info\':{\'project_number\':\'000000000000\',\'project_id\':\'stub\',\'storage_bucket\':\'stub.appspot.com\'},\'client\':[{\'client_info\':{\'mobilesdk_app_id\':\'1:000000000000:android:0000000000000000\',\'android_client_info\':{\'package_name\':\'com.stub\'}},\'oauth_client\':[],\'api_key\':[{\'current_key\':\'stub\'}],\'services\':{\'appinvite_service\':{\'other_platform_oauth_client\':[]}}}],\'configuration_version\':\'1\'}))" 2>/dev/null || true;                 fi && \n                # ---- detect expo ----\n                if grep -q \'"expo"\' package.json && [ ! -d android ]; then\n                    echo "Expo project detected";\n                    CI=1 npx --yes expo prebuild --platform android\n                fi && \n                export PATH="/app/node_modules/.bin:$PATH" &&                 cd android && \n                chmod +x gradlew && \n                # ---- inject fallback repositories via Gradle init script ----\n                mkdir -p $GRADLE_USER_HOME/init.d &&                 echo \'gradle.beforeProject {project ->\' > $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  project.buildscript.repositories {\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://maven.google.com"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://repo1.maven.org/maven2"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://plugins.gradle.org/m2/"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://jitpack.io"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  }\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  project.repositories {\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://maven.google.com"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://repo1.maven.org/maven2"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://plugins.gradle.org/m2/"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'    maven {url "https://jitpack.io"}\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'  }\' >> $GRADLE_USER_HOME/init.d/repos.gradle &&                 echo \'}\' >> $GRADLE_USER_HOME/init.d/repos.gradle && \n                # ---- patch settings.gradle to use local react-native CLI (avoids npx failures) ----\n                sed -i \'s/autolinkLibrariesWithCommand()/autolinkLibrariesWithCommand("node node_modules\\/.bin\\/react-native config")/\' settings.gradle 2>/dev/null || true && \n                # ---- clean gradle ----\n                (./gradlew clean || true) && \n                # ---- pre-resolve AAR transforms so CMake finds prefab paths ----\n                ./gradlew :app:dependencies --configuration debugCompileClasspath --no-daemon > /dev/null 2>&1 || true && \n                # ---- enable ABI splits ----\n                if grep -q \'splits\' app/build.gradle 2>/dev/null; then                     sed -i \'s/enable false/enable true/\' app/build.gradle || true;                 else                     sed -i \'/^android[[:space:]]*{/a\\    splits {\\n        abi {\\n            reset()\\n            enable true\\n            universalApk false\\n            include "armeabi-v7a", "arm64-v8a", "x86", "x86_64"\\n        }\\n    }\' app/build.gradle || true;                 fi && \n                # ---- build debug apk ----\n                ./gradlew assembleDebug --no-daemon || exit 1 && \n                APK_PATH="app/build/outputs/apk/debug"\n\n                if ! ls $APK_PATH/*.apk 1> /dev/null 2>&1; then\n                    echo "ERROR: APK not generated"\n                    exit 1\n                fi\n                # ---- copy output ----\n                cp app/build/outputs/apk/debug/*.apk /output/\n\n                # ---- copy TPL metadata ----\n                [ -f ../package.json ] && cp ../package.json /output/ || true\n                [ -f ../package-lock.json ] && cp ../package-lock.json /output/ || true\n                [ -f ../yarn.lock ] && cp ../yarn.lock /output/ || true\n                [ -f ../pnpm-lock.yaml ] && cp ../pnpm-lock.yaml /output/ || true\n                [ -f app/build.gradle ] && cp app/build.gradle /output/android-build.gradle || true\n                [ -f build.gradle ] && cp build.gradle /output/root-build.gradle || true\n                [ -f build.gradle.kts ] && cp build.gradle.kts /output/root-build.gradle.kts || true\n                [ -f settings.gradle ] && cp settings.gradle /output/ || true\n                [ -f settings.gradle.kts ] && cp settings.gradle.kts /output/ || true\n                [ -f gradle/libs.versions.toml ] && cp gradle/libs.versions.toml /output/ || true\n                find . -name "*.gradle" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true\n                find . -name "*.gradle.kts" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/ 2>/dev/null; done || true\n                mkdir -p /output/libs\n                find . -name "*.jar" -not -name "gradle-wrapper.jar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                find . -name "*.aar" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                find . -name "*.so" 2>/dev/null | grep -v "/build/" | grep -v "/.gradle/" | grep -v "/node_modules/" | while read f; do cp "$f" /output/libs/ 2>/dev/null; done || true\n                    ']' returned non-zero exit status 1.
