1
+ pluginManagement {
2
+ def version = providers. exec {
3
+ commandLine(" node" , " -e" , " console.log(require('react-native/package.json').version);" )
4
+ }. standardOutput. asText. get(). trim()
5
+ def (_, reactNativeMinor, reactNativePatch) = version. split(" -" )[0 ]. tokenize(' .' ). collect { it. toInteger() }
6
+
7
+ includeBuild(new File ([" node" , " --print" , " require.resolve('@react-native/gradle-plugin/package.json')" ]. execute(null , rootDir). text. trim()). getParentFile(). toString())
8
+ if (reactNativeMinor == 74 && reactNativePatch <= 3 ){
9
+ includeBuild(" react-settings-plugin" )
10
+ }
11
+ }
12
+
13
+ plugins { id(" com.facebook.react.settings" ) }
14
+
15
+ def getRNMinorVersion () {
16
+ def version = providers. exec {
17
+ commandLine(" node" , " -e" , " console.log(require('react-native/package.json').version);" )
18
+ }. standardOutput. asText. get(). trim()
19
+
20
+ def coreVersion = version. split(" -" )[0 ]
21
+ def (major, minor, patch) = coreVersion. tokenize(' .' ). collect { it. toInteger() }
22
+
23
+ return minor
24
+ }
25
+
26
+ if (getRNMinorVersion() >= 75 ) {
27
+ extensions. configure(com.facebook.react.ReactSettingsExtension ) { ex ->
28
+ if (System . getenv(' EXPO_UNSTABLE_CORE_AUTOLINKING' ) == ' 1' ) {
29
+ println (' \u 001B[32mUsing expo-modules-autolinking as core autolinking source\u 001B[0m' )
30
+ def command = [
31
+ ' node' ,
32
+ ' --no-warnings' ,
33
+ ' --eval' ,
34
+ ' require(require.resolve(\' expo-modules-autolinking\' , { paths: [require.resolve(\' expo/package.json\' )] }))(process.argv.slice(1))' ,
35
+ ' react-native-config' ,
36
+ ' --json' ,
37
+ ' --platform' ,
38
+ ' android'
39
+ ]. toList()
40
+ ex. autolinkLibrariesFromCommand(command)
41
+ } else {
42
+ ex. autolinkLibrariesFromCommand()
43
+ }
44
+ }
45
+ }
46
+
1
47
rootProject. name = ' powersync-example'
2
48
3
49
dependencyResolutionManagement {
@@ -11,8 +57,10 @@ dependencyResolutionManagement {
11
57
apply from : new File ([" node" , " --print" , " require.resolve('expo/package.json')" ]. execute(null , rootDir). text. trim(), " ../scripts/autolinking.gradle" );
12
58
useExpoModules()
13
59
14
- apply from : new File ([" node" , " --print" , " require.resolve('@react-native-community/cli-platform-android/package.json', { paths: [require.resolve('react-native/package.json')] })" ]. execute(null , rootDir). text. trim(), " ../native_modules.gradle" );
15
- applyNativeModulesSettingsGradle(settings)
60
+ if (getRNMinorVersion() < 75 ) {
61
+ apply from : new File ([" node" , " --print" , " require.resolve('@react-native-community/cli-platform-android/package.json', { paths: [require.resolve('react-native/package.json')] })" ]. execute(null , rootDir). text. trim(), " ../native_modules.gradle" );
62
+ applyNativeModulesSettingsGradle(settings)
63
+ }
16
64
17
65
include ' :app'
18
66
includeBuild(new File ([" node" , " --print" , " require.resolve('@react-native/gradle-plugin/package.json', { paths: [require.resolve('react-native/package.json')] })" ]. execute(null , rootDir). text. trim()). getParentFile())
0 commit comments