From 35432ac0487dcd70de3aefbf50d95ae2d659f9ee Mon Sep 17 00:00:00 2001 From: yogevbd Date: Sun, 15 Sep 2019 20:08:02 +0300 Subject: [PATCH] Gradle resolve react-native version flavor --- example/android/myapplication/build.gradle | 1 - lib/android/app/build.gradle | 26 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/example/android/myapplication/build.gradle b/example/android/myapplication/build.gradle index 8fdb0b8..cbfe386 100644 --- a/example/android/myapplication/build.gradle +++ b/example/android/myapplication/build.gradle @@ -23,7 +23,6 @@ android { ndk { abiFilters "armeabi-v7a", "x86" } - missingDimensionStrategy "RNNotifications.reactNativeVersion", "reactNative60" } buildTypes { release { diff --git a/lib/android/app/build.gradle b/lib/android/app/build.gradle index 7e58848..51f3136 100644 --- a/lib/android/app/build.gradle +++ b/lib/android/app/build.gradle @@ -1,6 +1,22 @@ +import groovy.json.JsonSlurper + apply plugin: 'com.android.library' apply from: '../prepare-robolectric.gradle' +String resolveFlavor() { + def packageSlurper = new JsonSlurper() + def reactNativePackageJson = packageSlurper.parse file('../../node_modules/react-native/package.json') + def reactNativeVersion = reactNativePackageJson.version + + List versionComponents = reactNativeVersion.tokenize('.') + + if (versionComponents[1].toInteger() < 60) { + return "reactNative59" + } else { + return "reactNative60" + } +} + android { compileSdkVersion 27 buildToolsVersion '28.0.3' @@ -11,6 +27,7 @@ android { versionCode 1 versionName "1.0" } + buildTypes { release { minifyEnabled false @@ -20,6 +37,7 @@ android { debuggable true } } + testOptions { unitTests.all { t -> reports { @@ -49,6 +67,14 @@ android { dimension "RNNotifications.reactNativeVersion" } } + + def flavor = resolveFlavor() + variantFilter { variant -> + def names = variant.flavors*.name + if (!names.contains(flavor)) { + setIgnore(true) + } + } } dependencies { -- 2.26.2