mirror of
https://github.com/zhigang1992/react-native-firebase.git
synced 2026-04-24 04:24:52 +08:00
feat!: all packages should depend on core (#3613)
All packages now peer-depend on an explicit version of the `app` package. BREAKING CHANGE: breaking change to mark new internal versioning requirements.
This commit is contained in:
@@ -1,7 +1,17 @@
|
||||
require 'json'
|
||||
package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
|
||||
appPackage = JSON.parse(File.read(File.join('..', 'app', 'package.json')))
|
||||
|
||||
firebase_sdk_version = '~> 6.13.0'
|
||||
coreVersionDetected = appPackage['version']
|
||||
coreVersionRequired = package['peerDependencies'][appPackage['name']]
|
||||
if appPackage['sdkVersions']
|
||||
firebase_sdk_version = appPackage['sdkVersions']['ios']['firebase']
|
||||
else
|
||||
firebase_sdk_version = '~> 6.13.0'
|
||||
end
|
||||
if coreVersionDetected != coreVersionRequired
|
||||
Pod::UI.warn "NPM package '#{package['name']}' depends on '#{appPackage['name']}' v#{coreVersionRequired} but found v#{coreVersionDetected}, this might cause build issues or runtime crashes."
|
||||
end
|
||||
|
||||
Pod::Spec.new do |s|
|
||||
s.name = "RNFBAuth"
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
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
|
||||
@@ -18,6 +20,27 @@ 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'] : "24.1.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: [
|
||||
@@ -30,7 +53,7 @@ project.ext {
|
||||
buildTools: "28.0.3"
|
||||
],
|
||||
firebase : [
|
||||
bom : "24.1.0",
|
||||
bom : firebaseBomVersion,
|
||||
],
|
||||
],
|
||||
])
|
||||
@@ -56,13 +79,7 @@ repositories {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
if (findProject(':@react-native-firebase_app')) {
|
||||
api project(':@react-native-firebase_app')
|
||||
} else if (findProject(':react-native-firebase_app')) {
|
||||
api project(':react-native-firebase_app')
|
||||
} else {
|
||||
throw new GradleException('Could not find the react-native-firebase/app package, have you installed it?')
|
||||
}
|
||||
api appProject
|
||||
implementation platform("com.google.firebase:firebase-bom:${ReactNative.ext.getVersion("firebase", "bom")}")
|
||||
implementation "com.google.firebase:firebase-auth"
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"auth"
|
||||
],
|
||||
"peerDependencies": {
|
||||
"@react-native-firebase/app": "*"
|
||||
"@react-native-firebase/app": "6.7.1"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
||||
Reference in New Issue
Block a user