2

I am unable to get a successful build with the React Native project in Jenkins. I get this error:

14:41:59 FAILURE: Build failed with an exception. 14:41:59 14:41:59 * What went wrong: 14:41:59 Execution failed for task ':app:bundleDevReleaseJsAndAssets'. 14:41:59 > Process 'command 'node'' finished with non-zero exit value 1 14:41:59

I did find an answer here:

React-Native assembleRelease fails for task ':app:bundleReleaseJsAndAssets'

The problem is when its time to build, the second step:

./gradlew assembleRelease -x bundleReleaseJsAndAssets

I get this error:

FAILURE: Build failed with an exception.

* What went wrong:
Task 'bundleReleaseJsAndAssets' not found in root project 'engage-application.mobile'.

* Try:
Run gradlew tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Running gradlew tasks does not provide any insights to me:

✗ gradle tasks

> Task :tasks

------------------------------------------------------------
Tasks runnable from root project
------------------------------------------------------------

Build Setup tasks
-----------------
init - Initializes a new Gradle build.
wrapper - Generates Gradle wrapper files.

Help tasks
----------
buildEnvironment - Displays all buildscript dependencies declared in root project 'engage-application.mobile'.
components - Displays the components produced by root project 'engage-application.mobile'. [incubating]
dependencies - Displays all dependencies declared in root project 'engage-application.mobile'.
dependencyInsight - Displays the insight into a specific dependency in root project 'engage-application.mobile'.
dependentComponents - Displays the dependent components of components in root project 'engage-application.mobile'. [incubating]
help - Displays a help message.
model - Displays the configuration model of root project 'engage-application.mobile'. [incubating]
projects - Displays the sub-projects of root project 'engage-application.mobile'.
properties - Displays the properties of root project 'engage-application.mobile'.
tasks - Displays the tasks runnable from root project 'engage-application.mobile'.

To see all tasks and more detail, run gradle tasks --all

To see more detail about a task, run gradle help --task <task>

BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed

Also, notice I had to run gradle tasks.

The few related articles on SO are either 3 to 5 years old and speaks to versions of

buildscript {
    ext {
        buildToolsVersion = "27.0.3"
        minSdkVersion = 16
        compileSdkVersion = 27
        targetSdkVersion = 26
        supportLibVersion = "27.1.1"
    }

inside of build.gradle that are not appropriate for my version of RN:

System:
  OS: macOS High Sierra 10.13.6
  CPU: (8) x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
  Memory: 609.73 MB / 16.00 GB
  Shell: 5.3 - /bin/zsh
Binaries:
  Node: 11.10.1 - /usr/local/bin/node
  Yarn: 1.10.1 - /usr/local/bin/yarn
  npm: 6.7.0 - /usr/local/bin/npm
  Watchman: 4.7.0 - /usr/local/bin/watchman
SDKs:
  iOS SDK:
    Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
  Android SDK:
    API Levels: 23, 25, 26, 27, 28
    Build Tools: 23.0.1, 26.0.2, 27.0.3, 28.0.3
    System Images: android-28 | Google Play Intel x86 Atom
IDEs:
  Android Studio: 3.4 AI-183.5429.30.34.5452501
  Xcode: 10.1/10B61 - /usr/bin/xcodebuild
npmPackages:
  react: 16.6.3 => 16.6.3
  react-native: 0.57.8 => 0.57.8
npmGlobalPackages:
  react-native-cli: 2.0.1
  react-native-git-upgrade: 0.2.7

I recently upgraded to version 0.57.8 and followed this guide: https://reactnative.thenativebits.com/courses/upgrading-react-native/upgrade-to-react-native-0.57/

It was explained to me that I needed to run:

✗ ./gradlew assembleRelease -x bundleDevReleaseJsAndAssets

and I did and I continue to get the error.

FAILURE: Build failed with an exception.

* What went wrong:
Task 'bundleDevReleaseJsAndAssets' not found in root project 'engage-application.mobile'.

* Try:
Run gradlew tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

If I then try to follow the step by Kartik Shah: React-Native assembleRelease fails for task ':app:bundleReleaseJsAndAssets'

I get this error:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-sentry:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 7s
208 actionable tasks: 195 executed, 13 up-to-date

I ran into this issue three days ago and I thought with the upgrade it would be resolved:

https://github.com/getsentry/react-native-sentry/issues/610

So I upgraded React Native Sentry and the errors I get now are as follows:

The TaskInternal.executer property has been deprecated and is scheduled to be removed in Gradle 5.0. There are better ways to re-use task logic, see https://docs.gradle.org/4.4/userguide/custom_tasks.html#sec:reusing_task_logic.
        at sentry_c79fxbhuascug468f001tukcq$_run_closure1$_closure6.doCall(/Users/danale/Projects/engage-application.mobile/node_modules/react-native-sentry/sentry.gradle:19)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
error: resource android:style/TextAppearance.Material.Widget.Button.Borderless.Colored not found.
error: resource android:style/TextAppearance.Material.Widget.Button.Colored not found.
/Users/danale/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/478ea8d2caa80bc12b39e3960167e1f6/res/values/values.xml:251:5-69: AAPT: error: resource android:attr/fontStyle not found.

/Users/danale/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/478ea8d2caa80bc12b39e3960167e1f6/res/values/values.xml:251:5-69: AAPT: error: resource android:attr/font not found.

/Users/danale/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/478ea8d2caa80bc12b39e3960167e1f6/res/values/values.xml:251:5-69: AAPT: error: resource android:attr/fontWeight not found.

error: failed linking references.

It seems like the offending code is around here:

def bundleTasks = tasks.findAll { task -> task.name.startsWith("bundle") && task.name.endsWith("JsAndAssets") && !task.name.contains("Debug")}
    bundleTasks.each { bundleTask ->
        def shouldCleanUp
        def sourcemapOutput
        def bundleOutput
        def props = bundleTask.getProperties()
        def reactRoot = props.get("workingDir")

Does anyone have any workaround or experience with this for React Native Sentry?

Daniel
  • 14,004
  • 16
  • 96
  • 156

3 Answers3

1

The only difference I see is that your original error is for task bundleDevReleaseJsAndAssets as opposed to the bundleReleaseJsAndAssets task that failed in the other post that you linked. So possibly try running this instead:

./gradlew assembleRelease -x bundleDevReleaseJsAndAssets

Basically as-is you were telling it to exclude a task that might not be part of your project. You have to specify the correct one.

sophon
  • 231
  • 1
  • 2
  • 1
    Sophon, even when I run `bundleDevReleaseJsAndAssets` I still get that error. I will add it above. – Daniel Jun 28 '19 at 00:27
0

Below works fixed my issue.

android/app/build.gradle

make sure below mentioned added or Not.

apply from: "../../node_modules/react-native/react.gradle"

apply from:"../../node_modules/react-native-code-push/android/codepush.grad

le"

Make sure, your enabled:

android{ defaultConfig{

multiDexEnabled true } }

implementation 'androidx.multidex:multidex:2.0.1'

Delete .gradle folder from the android folder

Run:

react-native run-android

Elavarasan r
  • 1,055
  • 2
  • 12
  • 22
0

for the issue was i an import was changed miskatenly. What is have imported was like this.

import interstialsAdCustomHook from '../Hooks/InterstialsAdCustomHook';

the file as defined like this

interstialsAdCustomHook.js

the differnce was capital and small letters.

Engr.Aftab Ufaq
  • 3,356
  • 3
  • 21
  • 47