/OneSignal-Gradle-Plugin

Use with OneSignal-Android-SDK to help integrate it into your Android Studio or Gradle project. https://onesignal.com

Primary LanguageGroovyOtherNOASSERTION

OneSignal Gradle Plugin

This Gradle plugin helps make the OneSignal Android SDK compatible with your Android Studio / Gradle project. It automatically fixes and notifies you of required changes to make the OneSignal SDK compatible with your app.

Setup

  1. In your root build.gradle, under buildscript, add the following 2 new lines to your existing repositories and dependencies sections
buildscript {
    repositories {
        // ...
        gradlePluginPortal()
    }
    dependencies {
        // ...
        // OneSignal-Gradle-Plugin
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.14.0, 0.99.99]'
    }
}
  1. Add the following to the top of your app/build.gradle
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
  1. Android Studio - Sync gradle
  2. Clean and rebuild

Features

  • Automatically aligns versions of module dependencies under the same group. This fixes compile and runtime errors due to mismatched interdependencies. Applies to the following libraries:
    • com.google.android.gms
    • com.google.firebase
    • com.android.support
  • Ensures com.android.support is never higher than compileSdkVersion
  • Ensures a compatible OneSignal SDK version for the targetSdkVersion you're using
  • Ensures new enough OneSignal SDK is included when com.android.support is upgraded
  • Calculates intersecting range of 2 version ranges
    • Including backwards capability with Gradle 2.14.1
  • Future: Other warnings and checks specific to OneSignal such as app_id and notification icons

Compatibility

  • Recommend using AGP 3.0.0 or newer (Android Gradle Plugin) and Gradle 4.1 or newer.
    • Compatible with Gradle 2.14.1+ and AGP 2.2.3+
    • Tested up to Gradle 7.0.2 and AGP 4.2.1

Change Log

See this repository's release tags for a complete change log.

Issues

Please create a new issue on this repository's Github issue tracker for feature requests and bug reports related specifically to this plugin. For other OneSignal issues not related to this plugin please contact OneSignal support from the OneSignal.com dashboard.

Troubleshooting

You can add --info to ./gradlew commands such as ./gradlew app:dependencies --info to see log entries of version overrides being applied.

Pull Requests

Pull requests are welcome! Please fork, create a new branch, and open a pull request. Also please add a test to MainTest.groovy verify your changes.