62 lines
1.6 KiB
Groovy
62 lines
1.6 KiB
Groovy
def DEFAULT_COMPILE_SDK_VERSION = 34
|
|
def DEFAULT_TARGET_SDK_VERSION = 34
|
|
|
|
def safeExtGet(prop, fallback) {
|
|
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
}
|
|
|
|
def isNewArchitectureEnabled() {
|
|
return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true"
|
|
}
|
|
|
|
apply plugin: 'com.android.library'
|
|
if (isNewArchitectureEnabled()) {
|
|
apply plugin: 'com.facebook.react'
|
|
}
|
|
|
|
|
|
android {
|
|
compileSdkVersion safeExtGet('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION)
|
|
|
|
def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION
|
|
// Check the AGP version, add namespace if the AGP version is above 7.
|
|
// Once we have fully moved on, we can remove it from the AndroidManifest.xml of the package
|
|
if (agpVersion.tokenize('.')[0].toInteger() >= 7) {
|
|
namespace "fr.greweb.reactnativeviewshot"
|
|
}
|
|
|
|
defaultConfig {
|
|
minSdkVersion safeExtGet('minSdkVersion', 21)
|
|
targetSdkVersion safeExtGet('targetSdkVersion', DEFAULT_TARGET_SDK_VERSION)
|
|
versionCode 1
|
|
versionName "1.0"
|
|
buildConfigField("boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString())
|
|
}
|
|
|
|
buildFeatures {
|
|
buildConfig true
|
|
}
|
|
|
|
sourceSets.main {
|
|
java {
|
|
if (!isNewArchitectureEnabled()) {
|
|
srcDirs += ["src/paper/java"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
maven {
|
|
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
|
|
url "$projectDir/../node_modules/react-native/android"
|
|
}
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'com.facebook.react:react-native:+'
|
|
implementation "com.facebook.react:react-native:${safeExtGet('reactNativeVersion', '+')}"
|
|
}
|