-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathbuild.gradle
More file actions
117 lines (95 loc) · 3.22 KB
/
build.gradle
File metadata and controls
117 lines (95 loc) · 3.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
buildscript {
// Buildscript is evaluated before everything else so we can't use getExtOrDefault
def kotlin_version = project.properties["FreeraspReactNative_kotlinVersion"]
repositories {
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:7.2.1"
// noinspection DifferentKotlinGradleVersion
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
}
}
def isNewArchitectureEnabled() {
return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
}
apply plugin: "com.android.library"
apply plugin: "kotlin-android"
apply plugin: 'kotlinx-serialization'
if (isNewArchitectureEnabled()) {
apply plugin: "com.facebook.react"
}
def getExtOrDefault(name) {
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["FreeraspReactNative_" + name]
}
def getExtOrIntegerDefault(name) {
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["FreeraspReactNative_" + name]).toInteger()
}
def getIntegerDefault(name) {
return (project.properties["FreeraspReactNative_" + name]).toInteger()
}
def getDefault(name) {
return project.properties["FreeraspReactNative_" + name]
}
def getMaxVersion(name) {
def rootVersion = rootProject.ext.has(name) ? rootProject.ext.get(name).toInteger() : 0
def pluginVersion = getIntegerDefault(name)
return Math.max(rootVersion, pluginVersion)
}
android {
compileSdk getMaxVersion("compileSdk")
defaultConfig {
minSdkVersion getIntegerDefault("minSdkVersion")
targetSdkVersion getIntegerDefault("targetSdkVersion")
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
}
buildTypes {
release {
minifyEnabled true
proguardFiles "proguard-rules.pro"
}
}
lintOptions {
disable "GradleCompatible"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
if (project.android.hasProperty("namespace")) {
namespace("com.freeraspreactnative")
}
}
repositories {
mavenCentral()
google()
}
rootProject.allprojects {
repositories {
maven{url "https://europe-west3-maven.pkg.dev/talsec-artifact-repository/freerasp"}
maven{url "https://jitpack.io"}
}
}
def kotlin_version = getDefault("kotlinVersion")
def react_native_version = getExtOrDefault("reactNativeVersion")
dependencies {
// For < 0.71, this will be from the local maven repo
// For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
//noinspection GradleDynamicVersion
implementation "com.facebook.react:react-native:$react_native_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1"
implementation "com.aheaditec.talsec.security:TalsecSecurity-Community-ReactNative:18.0.4"
}
if (isNewArchitectureEnabled()) {
react {
jsRootDir = file("../src/")
libraryName = "FreeraspReactNative"
codegenJavaPackageName = "com.freeraspreactnative"
}
}