mirror of
https://github.com/zhigang1992/react-native-firebase.git
synced 2026-01-12 22:50:20 +08:00
* chore(*): version upgrades * chore(*, ios): update GoogleUtilities test/ios * chore(_,ios): update pod lock * chore(crashlytics, android): update SDK for tests * chore: move google-services plugin for gradle * chore: ios sdk upgrade * chore: update test Podfile.lock
97 lines
2.8 KiB
Groovy
97 lines
2.8 KiB
Groovy
import io.invertase.gradle.common.PackageJson
|
|
|
|
buildscript {
|
|
// The Android Gradle plugin is only required when opening the android folder stand-alone.
|
|
// This avoids unnecessary downloads and potential conflicts when the library is included as a
|
|
// module dependency in an application project.
|
|
if (project == rootProject) {
|
|
repositories {
|
|
google()
|
|
jcenter()
|
|
}
|
|
|
|
dependencies {
|
|
classpath("com.android.tools.build:gradle:4.0.0")
|
|
}
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id "io.invertase.gradle.build" version "1.4"
|
|
}
|
|
|
|
def appProject
|
|
if (findProject(':@react-native-firebase_app')) {
|
|
appProject = project(':@react-native-firebase_app')
|
|
} else if (findProject(':react-native-firebase_app')) {
|
|
appProject = project(':react-native-firebase_app')
|
|
} else {
|
|
throw new GradleException('Could not find the react-native-firebase/app package, have you installed it?')
|
|
}
|
|
def packageJson = PackageJson.getForProject(project)
|
|
def appPackageJson = PackageJson.getForProject(appProject)
|
|
def firebaseBomVersion = appPackageJson['sdkVersions'] ? appPackageJson['sdkVersions']['android']['firebase'] : "25.5.0"
|
|
def coreVersionDetected = appPackageJson['version']
|
|
def coreVersionRequired = packageJson['peerDependencies'][appPackageJson['name']]
|
|
// Only log after build completed so log warning appears at the end
|
|
if (coreVersionDetected != coreVersionRequired) {
|
|
gradle.buildFinished {
|
|
project.logger.warn("ReactNativeFirebase WARNING: NPM package '${packageJson['name']}' depends on '${appPackageJson['name']}' v${coreVersionRequired} but found v${coreVersionDetected}, this might cause build issues or runtime crashes.")
|
|
}
|
|
}
|
|
|
|
|
|
project.ext {
|
|
set('react-native', [
|
|
versions: [
|
|
android : [
|
|
minSdk : 16,
|
|
targetSdk : 28,
|
|
compileSdk: 28,
|
|
// optional as gradle.buildTools comes with one by default
|
|
// overriding here though to match the version RN uses
|
|
buildTools: "28.0.3"
|
|
],
|
|
|
|
firebase : [
|
|
bom: firebaseBomVersion,
|
|
],
|
|
],
|
|
])
|
|
}
|
|
|
|
android {
|
|
defaultConfig {
|
|
multiDexEnabled true
|
|
}
|
|
lintOptions {
|
|
disable 'GradleCompatible'
|
|
abortOnError false
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
sourceSets {
|
|
main {
|
|
java.srcDirs = ['src/main/java', 'src/reactnative/java']
|
|
}
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
google()
|
|
jcenter()
|
|
}
|
|
|
|
dependencies {
|
|
api appProject
|
|
implementation platform("com.google.firebase:firebase-bom:${ReactNative.ext.getVersion("firebase", "bom")}")
|
|
implementation "com.google.firebase:firebase-analytics"
|
|
}
|
|
|
|
ReactNative.shared.applyPackageVersion()
|
|
ReactNative.shared.applyDefaultExcludes()
|
|
ReactNative.module.applyAndroidVersions()
|
|
ReactNative.module.applyReactNativeDependency("api")
|