OneSignal-Gradle-Plugin icon indicating copy to clipboard operation
OneSignal-Gradle-Plugin copied to clipboard

Support root project build.gradle OR Provide a detailed error of the issue

Open jkasten2 opened this issue 7 years ago • 6 comments

Issue

Currently if this plugin is applied to the root build.gradle instead of app/build.gradle the following error is shown.

Could not get unknown property 'android' for root project 'ProjectName' of type org.gradle.api.Project.

Solutions

Solutions below are in order of the best outcome

1. Solution - Apply plugin to all projects

If possible this plugin should apply itself to all Android projects

2. Solution - Provide a detailed error

We should provide a detailed message to move the plugin to their app/build.gradle. We should still cause the build to fail so the app developer knows that the plugin is not working.

jkasten2 avatar Jun 10 '18 02:06 jkasten2

@jkasten2 i am getting the following error even though /build.gradle in root does not have anything related to onesignal. But app/build.gradle has it.

app/build.gradle

.....
// PLUGIN GRADLE EXTENSIONS START
apply from: "../cordova-plugin-firebase-analytics/app-build.gradle"
apply from: "../onesignal-cordova-plugin/app-build-extras-onesignal.gradle"
// PLUGIN GRADLE EXTENSIONS END
......
dependencies {
    implementation fileTree(dir: 'libs', include: '*.jar')
    // SUB-PROJECT DEPENDENCIES START
    implementation(project(path: ":CordovaLib"))
    compile "com.android.support:support-v4:27.+"
    compile "com.facebook.android:facebook-android-sdk:4.+"
    compile "com.google.firebase:firebase-core:16.0.0"
    compile "com.android.support:support-v4:26.+"
    compile "com.android.support:appcompat-v7:26.+"
    compile "com.onesignal:OneSignal:3.9.1"
    // SUB-PROJECT DEPENDENCIES END
}

ERROR

ANDROID_HOME=/Users/user/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home
studio
Subproject Path: CordovaLib
Subproject Path: app
publishNonDefault is deprecated and has no effect anymore. All variants are now published.

FAILURE: Build failed with an exception.

* Where:
Script '/Project/platforms/android/onesignal-cordova-plugin/app-build-extras-onesignal.gradle' line: 1

* What went wrong:
A problem occurred evaluating script.
> Could not get unknown property 'android' for project ':app' of type org.gradle.api.Project.

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

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

BUILD FAILED in 0s
(node:79079) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: /Project/platforms/android/gradlew: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.

* Where:
Script '/Project/platforms/android/onesignal-cordova-plugin/app-build-extras-onesignal.gradle' line: 1

* What went wrong:
A problem occurred evaluating script.
> Could not get unknown property 'android' for project ':app' of type org.gradle.api.Project.

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

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

BUILD FAILED in 0s
(node:79079) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

kodeine avatar Jul 30 '18 06:07 kodeine

@kodeine I recommend making sure you have the latest Cordova version 8.0.0 and the project is also using Cordova [email protected] or newer.

Please open a new issue on OneSignal-Cordova-SDK/issues if you are still seeing an issue.

jkasten2 avatar Aug 28 '18 04:08 jkasten2

hi @jkasten2 is there any update about this? because i got the same issues here :)

rendy14s avatar Apr 12 '20 20:04 rendy14s

@rendy14s Can you add apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin' to your app/build.gradle instead of your root build.gradle per these instructions? https://github.com/OneSignal/OneSignal-Gradle-Plugin#setup

jkasten2 avatar Apr 13 '20 07:04 jkasten2

@jkasten2 can not, i have some error like you. Could not get unknown property 'android' for root project 'ProjectName' of type org.gradle.api.Project.

rendy14s avatar Apr 13 '20 18:04 rendy14s

@rendy14s I am not sure I understand. What blocks you from being able to modify your app/build.gradle? Note that app is the default for Android projects, you could have a different name or multiple if modified this.

Can you provide more detail on your project such as if is using something like Flutter, React Native, or a completely native Android project?

jkasten2 avatar May 10 '20 22:05 jkasten2