Skip to content
This repository was archived by the owner on Oct 31, 2022. It is now read-only.

Commit 68bc6fd

Browse files
committed
Added iid dependencies with firebase-messaging
* Added 17 and 18 version dependencies.
1 parent 1b19e40 commit 68bc6fd

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

src/main/groovy/com/onesignal/androidsdk/GradleProjectPlugin.groovy

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,9 @@ class GradleProjectPlugin implements Plugin<Project> {
151151
// Example: firebase-iid:16.2.0 and firebase-messaging:17.0.0 causes a runtime crash of
152152
// class not found. While scanning dependencies when we find firebase-iid:16.2.0
153153
// we will update firebase-messaging to 17.1.0 to fix this issue.
154+
// NOTE: This list is manually maintained but should be generated in the future
155+
// One way to do this would be to run a build with proguard and check for any class missing warnings
156+
// A report can crawl up in versions that are available until a failure, then bump the dependent version
154157
static final Map<String, Map<String, Map<String, String>>> MODULE_DEPENDENCY_MINIMUMS = [
155158
'com.google.firebase:firebase-core': [
156159
'16.0.0': [
@@ -166,6 +169,18 @@ class GradleProjectPlugin implements Plugin<Project> {
166169
],
167170
'17.0.1': [
168171
'com.google.firebase:firebase-messaging': '17.3.1'
172+
],
173+
'17.1.0': [
174+
'com.google.firebase:firebase-messaging': '17.4.0'
175+
],
176+
'17.1.1': [
177+
'com.google.firebase:firebase-messaging': '17.5.0'
178+
],
179+
'17.1.2': [
180+
'com.google.firebase:firebase-messaging': '17.6.0'
181+
],
182+
'18.0.0': [
183+
'com.google.firebase:firebase-messaging': '18.0.0'
169184
]
170185
],
171186
'com.google.android.gms:play-services-measurement-base': [

src/test/groovy/com/onesignal/androidsdk/MainTest.groovy

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -832,6 +832,44 @@ class MainTest extends Specification {
832832
}
833833
}
834834

835+
def 'when firebase-iid:18.0.0 ensure firebase-messaging:18.0.0'() {
836+
def compileLines = """\
837+
compile 'com.google.firebase:firebase-messaging:17.6.0'
838+
compile 'com.google.firebase:firebase-iid:18.0.0'
839+
"""
840+
841+
when:
842+
def results = runGradleProject([
843+
skipGradleVersion: GRADLE_OLDEST_VERSION,
844+
compileLines : compileLines
845+
])
846+
847+
then:
848+
assert results // Asserting existence and contains 1+ entries
849+
results.each {
850+
assert it.value.contains('com.google.firebase:firebase-messaging:17.6.0 -> 18.0.0')
851+
}
852+
}
853+
854+
def 'when firebase-core:16.0.9 ensure firebase-messaging:17.6.0'() {
855+
def compileLines = """\
856+
compile 'com.google.firebase:firebase-messaging:17.0.0'
857+
compile 'com.google.firebase:firebase-core:16.0.9'
858+
"""
859+
860+
when:
861+
def results = runGradleProject([
862+
skipGradleVersion: GRADLE_OLDEST_VERSION,
863+
compileLines : compileLines
864+
])
865+
866+
then:
867+
assert results // Asserting existence and contains 1+ entries
868+
results.each {
869+
assert it.value.contains('com.google.firebase:firebase-messaging:17.0.0 -> 17.6.0')
870+
}
871+
}
872+
835873
// Note: Slow 20 second test, this is doing a full build
836874
// This is needed as we are making sure compile and runtime versions are not being miss aligned
837875
// Asserts just a double check as Gradle or AGP fails to build when this happens

0 commit comments

Comments
 (0)