1
+ // Generated by uniffi-bindgen-react-native
2
+
1
3
buildscript {
2
- ext. getExtOrDefault = {name ->
3
- return rootProject. ext. has(name) ? rootProject. ext. get(name) : project. properties[' NostrSdkReactNative_' + name]
4
- }
4
+ // Buildscript is evaluated before everything else so we can't use getExtOrDefault
5
+ def kotlin_version = rootProject. ext. has(" kotlinVersion" ) ? rootProject. ext. get(" kotlinVersion" ) : project. properties[" DummyLibForAndroid_kotlinVersion" ]
5
6
6
7
repositories {
7
8
google()
8
9
mavenCentral()
9
10
}
10
11
11
12
dependencies {
12
- classpath " com.android.tools.build:gradle:8. 7.2"
13
+ classpath " com.android.tools.build:gradle:7.2.1 "
13
14
// noinspection DifferentKotlinGradleVersion
14
- classpath " org.jetbrains.kotlin:kotlin-gradle-plugin:${ getExtOrDefault('kotlinVersion') } "
15
+ classpath " org.jetbrains.kotlin:kotlin-gradle-plugin:$k otlin_version "
15
16
}
16
17
}
17
18
@@ -20,10 +21,20 @@ def reactNativeArchitectures() {
20
21
return value ? value. split(" ," ) : [" armeabi-v7a" , " x86" , " x86_64" , " arm64-v8a" ]
21
22
}
22
23
24
+ def isNewArchitectureEnabled () {
25
+ return rootProject. hasProperty(" newArchEnabled" ) && rootProject. getProperty(" newArchEnabled" ) == " true"
26
+ }
27
+
23
28
apply plugin : " com.android.library"
24
29
apply plugin : " kotlin-android"
25
30
26
- apply plugin : " com.facebook.react"
31
+ if (isNewArchitectureEnabled()) {
32
+ apply plugin : " com.facebook.react"
33
+ }
34
+
35
+ def getExtOrDefault (name ) {
36
+ return rootProject. ext. has(name) ? rootProject. ext. get(name) : project. properties[" NostrSdkReactNative_" + name]
37
+ }
27
38
28
39
def getExtOrIntegerDefault (name ) {
29
40
return rootProject. ext. has(name) ? rootProject. ext. get(name) : (project. properties[" NostrSdkReactNative_" + name]). toInteger()
@@ -55,23 +66,20 @@ android {
55
66
defaultConfig {
56
67
minSdkVersion getExtOrIntegerDefault(" minSdkVersion" )
57
68
targetSdkVersion getExtOrIntegerDefault(" targetSdkVersion" )
69
+ buildConfigField " boolean" , " IS_NEW_ARCHITECTURE_ENABLED" , isNewArchitectureEnabled(). toString()
58
70
71
+ buildFeatures {
72
+ prefab true
73
+ }
59
74
externalNativeBuild {
60
75
cmake {
61
- cppFlags " -frtti -fexceptions -Wall -fstack-protector-all"
62
- arguments " -DANDROID_STL=c++_shared"
76
+ arguments ' -DANDROID_STL=c++_shared'
63
77
abiFilters (* reactNativeArchitectures())
64
-
65
- buildTypes {
66
- debug {
67
- cppFlags " -O1 -g"
68
- }
69
- release {
70
- cppFlags " -O2"
71
- }
72
- }
73
78
}
74
79
}
80
+ ndk {
81
+ abiFilters " arm64-v8a" , " armeabi-v7a" , " x86" , " x86_64"
82
+ }
75
83
}
76
84
77
85
externalNativeBuild {
@@ -101,10 +109,12 @@ android {
101
109
102
110
sourceSets {
103
111
main {
104
- java. srcDirs + = [
105
- " generated/java" ,
106
- " generated/jni"
107
- ]
112
+ if (isNewArchitectureEnabled()) {
113
+ java. srcDirs + = [
114
+ " generated/java" ,
115
+ " generated/jni"
116
+ ]
117
+ }
108
118
}
109
119
}
110
120
}
@@ -117,12 +127,17 @@ repositories {
117
127
def kotlin_version = getExtOrDefault(" kotlinVersion" )
118
128
119
129
dependencies {
120
- implementation " com.facebook.react:react-android"
130
+ // For < 0.71, this will be from the local maven repo
131
+ // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
132
+ // noinspection GradleDynamicVersion
133
+ implementation " com.facebook.react:react-native:+"
121
134
implementation " org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version "
122
135
}
123
136
124
- react {
125
- jsRootDir = file(" ../src/" )
126
- libraryName = " NostrSdkReactNative"
127
- codegenJavaPackageName = " com.nostrsdkreactnative"
137
+ if (isNewArchitectureEnabled()) {
138
+ react {
139
+ jsRootDir = file(" ../src/" )
140
+ libraryName = " NostrSdkReactNative"
141
+ codegenJavaPackageName = " com.nostrsdkreactnative"
142
+ }
128
143
}
0 commit comments