Leanplum / Leanplum-ReactNative-SDK

Leanplum's integrated solution delivers meaningful engagement across messaging and the in-app experience.
https://www.leanplum.com/
Apache License 2.0
7 stars 7 forks source link

fails to build Android with React Native 0.72.0 #81

Open dhanazam opened 1 year ago

dhanazam commented 1 year ago

Hi, I created a new vanilla project with react native 0.71.11 and added "@leanplum/react-native-sdk"

Everything worked well. However, after upgrading to React Native 0.72.0, the build is failed on android and throw this error

yarn run v1.22.19
$ react-native run-android
info Starting JS server...
info Installing the app...
> Task :leanplum_react-native-sdk:packageDebugResources FAILED
27 actionable tasks: 2 executed, 25 up-to-date

info 💡 Tip: Make sure that you have set up your development environment correctly, by running react-native doctor. To read more about doctor command visit: https://github.com/react-native-community/cli/blob/main/packages/cli-doctor/README.md#doctor 

FAILURE: Build failed with an exception.

* What went wrong:
Some problems were found with the configuration of task ':leanplum_react-native-sdk:packageDebugResources' (type 'MergeResources').
  - Gradle detected a problem with the following location: '/home/ramadhan/Projects/react-native/leanplumRN/node_modules/@leanplum/react-native-sdk/android/build/generated/res/rs/debug'.

    Reason: Task ':leanplum_react-native-sdk:packageDebugResources' uses this output of task ':@leanplum_react-native-sdk:compileDebugRenderscript' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.

    Possible solutions:
      1. Declare task ':@leanplum_react-native-sdk:compileDebugRenderscript' as an input of ':leanplum_react-native-sdk:packageDebugResources'.
      2. Declare an explicit dependency on ':@leanplum_react-native-sdk:compileDebugRenderscript' from ':leanplum_react-native-sdk:packageDebugResources' using Task#dependsOn.
      3. Declare an explicit dependency on ':@leanplum_react-native-sdk:compileDebugRenderscript' from ':leanplum_react-native-sdk:packageDebugResources' using Task#mustRunAfter.

    Please refer to https://docs.gradle.org/8.0.1/userguide/validation_problems.html#implicit_dependency for more details about this problem.
  - Gradle detected a problem with the following location: '/home/ramadhan/Projects/react-native/leanplumRN/node_modules/@leanplum/react-native-sdk/android/build/generated/res/resValues/debug'.

    Reason: Task ':leanplum_react-native-sdk:packageDebugResources' uses this output of task ':@leanplum_react-native-sdk:generateDebugResValues' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.

    Possible solutions:
      1. Declare task ':@leanplum_react-native-sdk:generateDebugResValues' as an input of ':leanplum_react-native-sdk:packageDebugResources'.
      2. Declare an explicit dependency on ':@leanplum_react-native-sdk:generateDebugResValues' from ':leanplum_react-native-sdk:packageDebugResources' using Task#dependsOn.
      3. Declare an explicit dependency on ':@leanplum_react-native-sdk:generateDebugResValues' from ':leanplum_react-native-sdk:packageDebugResources' using Task#mustRunAfter.

    Please refer to https://docs.gradle.org/8.0.1/userguide/validation_problems.html#implicit_dependency for more details about this problem.

* 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 2s
error Failed to install the app. Command failed with exit code 1: ./gradlew app:installDebug -PreactNativeDevServerPort=8081 FAILURE: Build failed with an exception. * What went wrong:
Some problems were found with the configuration of task ':leanplum_react-native-sdk:packageDebugResources' (type 'MergeResources'). - Gradle detected a problem with the following location: '/home/ramadhan/Projects/react-native/leanplumRN/node_modules/@leanplum/react-native-sdk/android/build/generated/res/rs/debug'. Reason: Task ':leanplum_react-native-sdk:packageDebugResources' uses this output of task ':@leanplum_react-native-sdk:compileDebugRenderscript' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Possible solutions: 1. Declare task ':@leanplum_react-native-sdk:compileDebugRenderscript' as an input of ':leanplum_react-native-sdk:packageDebugResources'. 2. Declare an explicit dependency on ':@leanplum_react-native-sdk:compileDebugRenderscript' from ':leanplum_react-native-sdk:packageDebugResources' using Task#dependsOn. 3. Declare an explicit dependency on ':@leanplum_react-native-sdk:compileDebugRenderscript' from ':leanplum_react-native-sdk:packageDebugResources' using Task#mustRunAfter. Please refer to https://docs.gradle.org/8.0.1/userguide/validation_problems.html#implicit_dependency for more details about this problem. - Gradle detected a problem with the following location: '/home/ramadhan/Projects/react-native/leanplumRN/node_modules/@leanplum/react-native-sdk/android/build/generated/res/resValues/debug'. Reason: Task ':leanplum_react-native-sdk:packageDebugResources' uses this output of task ':@leanplum_react-native-sdk:generateDebugResValues' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Possible solutions: 1. Declare task ':@leanplum_react-native-sdk:generateDebugResValues' as an input of ':leanplum_react-native-sdk:packageDebugResources'. 2. Declare an explicit dependency on ':@leanplum_react-native-sdk:generateDebugResValues' from ':leanplum_react-native-sdk:packageDebugResources' using Task#dependsOn. 3. Declare an explicit dependency on ':@leanplum_react-native-sdk:generateDebugResValues' from ':leanplum_react-native-sdk:packageDebugResources' using Task#mustRunAfter. Please refer to https://docs.gradle.org/8.0.1/userguide/validation_problems.html#implicit_dependency for more details about this problem. * 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 2s.
info Run CLI with --verbose flag for more details.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

I also followed the given example from Rondo-ReactNative, still having this issues. Does this Leanplum-ReactNative-SDK works with react native version 0.72.0?

here my full source code https://github.com/dhanazam/leanplumRN

hborisoff commented 1 year ago

@dhanazam Thank you for your feedback. We have tasks for supporting the newer RN versions in our backlog, and we will be working on it in upcoming SDK versions.