1def isNewArchitectureEnabled() {
2  return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true"
3}
4
5if (isNewArchitectureEnabled()) {
6  buildscript {
7    repositories {
8      mavenCentral()
9      google()
10    }
11
12    dependencies {
13      classpath("com.android.tools.build:gradle:7.1.1")
14      classpath("com.facebook.react:react-native-gradle-plugin")
15      classpath("de.undercouch:gradle-download-task:5.0.1")
16    }
17  }
18}
19
20apply plugin: 'com.android.library'
21if (isNewArchitectureEnabled()) {
22  apply plugin: 'com.facebook.react'
23}
24
25def getExtOrDefault(name) {
26  return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['ReactNativeSlider_' + name]
27}
28
29def getExtOrIntegerDefault(name) {
30  return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties['ReactNativeSlider_' + name]).toInteger()
31}
32
33android {
34  compileSdkVersion getExtOrIntegerDefault('compileSdkVersion')
35  buildToolsVersion getExtOrDefault('buildToolsVersion')
36
37  defaultConfig {
38    minSdkVersion getExtOrIntegerDefault('minSdkVersion')
39    targetSdkVersion getExtOrIntegerDefault('targetSdkVersion')
40    buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
41  }
42
43  sourceSets {
44    main {
45      if (isNewArchitectureEnabled()) {
46          java.srcDirs += ['src/newarch']
47      } else {
48          java.srcDirs += ['src/oldarch']
49      }
50    }
51  }
52}
53
54repositories {
55  google()
56  mavenCentral()
57}
58
59dependencies {
60  //noinspection GradleDynamicVersion
61  api 'com.facebook.react:react-native:+'
62}
63
64if (isNewArchitectureEnabled()) {
65    react {
66        jsRootDir = file("../src")
67        libraryName = "ReactSlider"
68        codegenJavaPackageName = "com.reactnativecommunity.slider"
69    }
70}
71