settings.gradle 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. includeBuild(new File(["node", "--print", "require.resolve('@react-native/gradle-plugin/package.json')"].execute(null, rootDir).text.trim()).getParentFile().toString())
  7. if(reactNativeMinor == 74 && reactNativePatch <= 3){
  8. includeBuild("react-settings-plugin")
  9. }
  10. }
  11. plugins { id("com.facebook.react.settings") }
  12. def getRNMinorVersion() {
  13. def version = providers.exec {
  14. commandLine("node", "-e", "console.log(require('react-native/package.json').version);")
  15. }.standardOutput.asText.get().trim()
  16. def coreVersion = version.split("-")[0]
  17. def (major, minor, patch) = coreVersion.tokenize('.').collect { it.toInteger() }
  18. return minor
  19. }
  20. if (getRNMinorVersion() >= 75) {
  21. extensions.configure(com.facebook.react.ReactSettingsExtension) { ex ->
  22. if (System.getenv('EXPO_UNSTABLE_CORE_AUTOLINKING') == '1') {
  23. println('\u001B[32mUsing expo-modules-autolinking as core autolinking source\u001B[0m')
  24. def command = [
  25. 'node',
  26. '--no-warnings',
  27. '--eval',
  28. 'require(require.resolve(\'expo-modules-autolinking\', { paths: [require.resolve(\'expo/package.json\')] }))(process.argv.slice(1))',
  29. 'react-native-config',
  30. '--json',
  31. '--platform',
  32. 'android'
  33. ].toList()
  34. ex.autolinkLibrariesFromCommand(command)
  35. } else {
  36. ex.autolinkLibrariesFromCommand()
  37. }
  38. }
  39. }
  40. rootProject.name = 'Crazycharge'
  41. dependencyResolutionManagement {
  42. versionCatalogs {
  43. reactAndroidLibs {
  44. from(files(new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim(), "../gradle/libs.versions.toml")))
  45. }
  46. }
  47. }
  48. apply from: new File(["node", "--print", "require.resolve('expo/package.json')"].execute(null, rootDir).text.trim(), "../scripts/autolinking.gradle");
  49. useExpoModules()
  50. if (getRNMinorVersion() < 75) {
  51. 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");
  52. applyNativeModulesSettingsGradle(settings)
  53. }
  54. include ':app'
  55. 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())