-
Notifications
You must be signed in to change notification settings - Fork 2
/
build.gradle
108 lines (91 loc) · 2.93 KB
/
build.gradle
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
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'maven'
group = 'host.exp.exponent'
version = '0.6.3'
buildscript {
// Simple helper that allows the root project to override versions declared by this library.
ext.safeExtGet = { prop, fallback ->
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${safeExtGet('kotlinVersion', '1.4.21')}")
}
}
//Upload android library to maven with javadoc and android sources
configurations {
deployerJars
}
//Creating sources with comments
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
//Put the androidSources and javadoc to the artifacts
artifacts {
archives androidSourcesJar
}
uploadArchives {
repositories {
mavenDeployer {
configuration = configurations.deployerJars
repository(url: mavenLocal().url)
}
}
}
android {
compileSdkVersion safeExtGet("compileSdkVersion", 30)
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
minSdkVersion safeExtGet("minSdkVersion", 21)
targetSdkVersion safeExtGet("targetSdkVersion", 30)
consumerProguardFiles 'proguard-rules.pro'
versionCode 1
versionName "0.6.3"
}
lintOptions {
abortOnError false
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
}
testOptions {
unitTests.all {
testLogging {
outputs.upToDateWhen { false }
events "passed", "failed", "skipped", "standardError"
showCauses true
showExceptions true
showStandardStreams true
}
}
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${safeExtGet('kotlinVersion', '1.4.21')}"
implementation "org.jetbrains.kotlin:kotlin-reflect:${safeExtGet('kotlinVersion', '1.4.21')}"
implementation 'androidx.annotation:annotation:1.2.0'
// used only in `expo.modules.core.errors.ModuleDestroyedException` for API export
compileOnly("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3")
//noinspection GradleDynamicVersion
implementation 'com.facebook.react:react-native:+'
testImplementation 'androidx.test:core:1.4.0'
testImplementation 'junit:junit:4.13.1'
testImplementation 'io.mockk:mockk:1.10.6'
testImplementation "com.google.truth:truth:1.1.2"
}
/**
* To make the users of annotations @OptIn and @RequiresOptIn aware of their experimental status,
* the compiler raises warnings when compiling the code with these annotations:
* This class can only be used with the compiler argument '-Xopt-in=kotlin.RequiresOptIn'
* To remove the warnings, we add the compiler argument -Xopt-in=kotlin.RequiresOptIn.
*/
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions.freeCompilerArgs += "-Xopt-in=kotlin.RequiresOptIn"
}