1
1
import groovy.json.JsonSlurper
2
2
3
3
buildscript {
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[" Airship_kotlinVersion" ]
4
+ ext. getExtOrDefault = {name ->
5
+ return rootProject. ext. has(name) ? rootProject. ext. get(name) : project. properties[' Airship_' + name]
6
+ }
6
7
7
8
repositories {
8
9
google()
9
10
mavenCentral()
10
11
}
11
12
12
13
dependencies {
13
- classpath " com.android.tools.build:gradle:7.2.1 "
14
+ classpath " com.android.tools.build:gradle:8. 7.2"
14
15
// noinspection DifferentKotlinGradleVersion
15
- classpath " org.jetbrains.kotlin:kotlin-gradle-plugin:$k otlin_version "
16
+ classpath " org.jetbrains.kotlin:kotlin-gradle-plugin:${ getExtOrDefault('kotlinVersion') } "
16
17
}
17
18
}
18
19
20
+
19
21
def isNewArchitectureEnabled () {
20
22
return rootProject. hasProperty(" newArchEnabled" ) && rootProject. getProperty(" newArchEnabled" ) == " true"
21
23
}
22
24
23
- def isHmsEnabled () {
24
- return (rootProject. hasProperty(" airshipHmsEnabled" ) && rootProject. getProperty(" airshipHmsEnabled" ) == " true" ) || (rootProject. ext. has(" airshipHmsEnabled" ) && rootProject. ext. get(" airshipHmsEnabled" ) == " true" )
25
- }
26
-
27
-
28
25
apply plugin : " com.android.library"
29
26
apply plugin : " kotlin-android"
30
27
31
28
if (isNewArchitectureEnabled()) {
32
29
apply plugin : " com.facebook.react"
33
30
}
34
31
35
- def getExtOrDefault (name ) {
36
- return rootProject. ext. has(name) ? rootProject. ext. get(name) : project. properties[" Airship_" + name]
37
- }
38
-
39
32
def getExtOrIntegerDefault (name ) {
40
33
return rootProject. ext. has(name) ? rootProject. ext. get(name) : (project. properties[" Airship_" + name]). toInteger()
41
34
}
42
35
36
+ def isHmsEnabled () {
37
+ return (rootProject. hasProperty(" airshipHmsEnabled" ) && rootProject. getProperty(" airshipHmsEnabled" ) == " true" ) || (rootProject. ext. has(" airshipHmsEnabled" ) && rootProject. ext. get(" airshipHmsEnabled" ) == " true" )
38
+ }
43
39
44
40
android {
41
+ namespace " com.urbanairship.reactnative"
45
42
compileSdkVersion getExtOrIntegerDefault(" compileSdkVersion" )
46
43
47
44
defaultConfig {
@@ -52,6 +49,10 @@ android {
52
49
consumerProguardFiles ' proguard-rules.pro'
53
50
}
54
51
52
+ buildFeatures {
53
+ buildConfig true
54
+ }
55
+
55
56
buildTypes {
56
57
release {
57
58
minifyEnabled false
@@ -70,26 +71,23 @@ android {
70
71
sourceSets {
71
72
main {
72
73
if (isNewArchitectureEnabled()) {
73
- java. srcDirs + = [
74
- " src/newarch/java" ,
75
- // This is needed to build Kotlin project with NewArch enabled
76
- " ${ project.buildDir } / generated/source/codegen/java "
77
- ]
74
+ java. srcDirs + = [
75
+ " src/newarch/java" ,
76
+ " generated/java " ,
77
+ " generated/jni "
78
+ ]
78
79
} else {
79
- java. srcDirs + = [" src/oldarch/java" ]
80
+ java. srcDirs + = [" src/oldarch/java" ]
80
81
}
81
82
}
82
83
}
83
-
84
- namespace ' com.urbanairship.reactnative'
85
84
}
86
85
87
86
repositories {
88
87
mavenCentral()
89
88
google()
90
89
}
91
90
92
-
93
91
def getModuleVersion () {
94
92
def jsonFile = file(' ../package.json' )
95
93
def parsedJson = new JsonSlurper (). parseText(jsonFile. text)
@@ -99,17 +97,13 @@ def getModuleVersion() {
99
97
100
98
def kotlin_version = getExtOrDefault(" kotlinVersion" )
101
99
def proxy_version = getExtOrDefault(" airshipProxyVersion" )
102
- def airship_version = getExtOrDefault(" airshipVersion" )
103
100
104
101
dependencies {
105
- // For < 0.71, this will be from the local maven repo
106
- // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
107
- // noinspection GradleDynamicVersion
108
- implementation " com.facebook.react:react-native:+"
102
+ implementation " com.facebook.react:react-android"
109
103
implementation " org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version "
110
104
111
105
api " com.urbanairship.android:airship-framework-proxy:$proxy_version "
112
-
106
+
113
107
if (isHmsEnabled()) {
114
108
implementation " com.urbanairship.android:airship-framework-proxy-hms:$proxy_version "
115
109
}
0 commit comments