@@ -16,6 +16,7 @@ plugins {
1616buildDir = " ${ rootDir} /${ name} /build"
1717
1818def reactNativeDir = findNodeModulesPath(rootDir, " react-native" )
19+ def reactNativeVersion = getReactNativeVersionNumber(rootDir)
1920
2021repositories {
2122 maven {
@@ -26,7 +27,7 @@ repositories {
2627 google()
2728
2829 // TODO: Remove this block when we drop support for 0.64.
29- if (getReactNativeVersionNumber(rootDir) < 6500 ) {
30+ if (reactNativeVersion < 6500 ) {
3031 // Artifacts for 0.65+ are published to Maven Central. If we're on an
3132 // older version, we still need to use JCenter.
3233 // noinspection JcenterRepositoryObsolete
@@ -69,14 +70,20 @@ android {
6970
7071 // TODO: Remove this block when minSdkVersion >= 24. See
7172 // https://stackoverflow.com/q/53402639 for details.
72- compileOptions {
73- sourceCompatibility JavaVersion . VERSION_1_8
74- targetCompatibility JavaVersion . VERSION_1_8
73+ if (reactNativeVersion < 6900 ) {
74+ compileOptions {
75+ sourceCompatibility(JavaVersion . VERSION_1_8 )
76+ targetCompatibility(JavaVersion . VERSION_1_8 )
77+ }
7578 }
7679
7780 kotlinOptions {
7881 allWarningsAsErrors = true
79- jvmTarget = JavaVersion . VERSION_1_8
82+ if (reactNativeVersion < 6900 ) {
83+ jvmTarget = JavaVersion . VERSION_1_8
84+ } else {
85+ jvmTarget = JavaVersion . VERSION_11
86+ }
8087 }
8188
8289 defaultConfig {
@@ -149,7 +156,7 @@ android {
149156
150157 // TODO: Remove this block when we drop support for 0.67.
151158 // https://github.com/facebook/react-native/commit/ce74aa4ed335d4c36ce722d47937b582045e05c4
152- if (getReactNativeVersionNumber(rootDir) < 6800 ) {
159+ if (reactNativeVersion < 6800 ) {
153160 main. java. srcDirs + = " src/reactinstanceeventlistener-pre-0.68/java"
154161 } else {
155162 main. java. srcDirs + = " src/reactinstanceeventlistener-0.68/java"
@@ -161,16 +168,23 @@ dependencies {
161168 implementation project(" :support" )
162169
163170 if (project. ext. react. enableHermes) {
164- def hermesEngineDir =
165- findNodeModulesPath(file(reactNativeDir), " hermes-engine" )
166- ?: findNodeModulesPath(file(reactNativeDir), " hermesvm" )
167- if (hermesEngineDir == null ) {
168- throw new GradleException (" Could not find 'hermes-engine'. Please make sure you've added it to 'package.json'." )
169- }
171+ // TODO: Remove this block when we drop support for 0.68.
172+ if (reactNativeVersion < 6900 ) {
173+ def hermesEngineDir =
174+ findNodeModulesPath(file(reactNativeDir), " hermes-engine" )
175+ ?: findNodeModulesPath(file(reactNativeDir), " hermesvm" )
176+ if (hermesEngineDir == null ) {
177+ throw new GradleException (" Could not find 'hermes-engine'. Please make sure you've added it to 'package.json'." )
178+ }
170179
171- def hermesAndroidDir = " ${ hermesEngineDir} /android"
172- releaseImplementation files(" ${ hermesAndroidDir} /hermes-release.aar" )
173- debugImplementation files(" ${ hermesAndroidDir} /hermes-debug.aar" )
180+ def hermesAndroidDir = " ${ hermesEngineDir} /android"
181+ releaseImplementation files(" ${ hermesAndroidDir} /hermes-release.aar" )
182+ debugImplementation files(" ${ hermesAndroidDir} /hermes-debug.aar" )
183+ } else {
184+ implementation(" com.facebook.react:hermes-engine:+" ) {
185+ exclude(group : " com.facebook.fbjni" )
186+ }
187+ }
174188 }
175189
176190 if (buildReactNativeFromSource(rootDir)) {
0 commit comments