forked from meganz/android
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle.kts
107 lines (95 loc) · 3.18 KB
/
build.gradle.kts
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
import mega.privacy.android.build.isServerBuild
import mega.privacy.android.build.shouldUsePrebuiltSdk
plugins {
alias(plugin.plugins.ksp) apply false
id("org.jetbrains.kotlin.android") version "1.9.22" apply false
}
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
maven { url = uri("https://plugins.gradle.org/m2/") }
jcenter()
maven {
url =
uri("${System.getenv("ARTIFACTORY_BASE_URL")}/artifactory/mega-gradle/megagradle")
}
}
dependencies {
classpath(plugin.build.tools)
classpath(plugin.kotlin.gradle)
classpath(plugin.navigation.safeargs)
classpath(plugin.google.services)
classpath(plugin.hilt.android)
classpath(plugin.firebase.crashlytics)
classpath(plugin.firebase.performance)
classpath(plugin.firebase.app.distribution)
classpath(plugin.jacoco)
classpath(plugin.paparazzi)
classpath(plugin.jfrog)
classpath(plugin.junit5)
classpath(plugin.kotlin.gradle)
classpath("androidx.benchmark:benchmark-baseline-profile-gradle-plugin:1.2.3")
classpath(tools.mega.gradle)
}
}
allprojects {
repositories {
google()
mavenCentral()
jcenter()
maven {
url = uri("https://jitpack.io")
}
maven {
url =
uri("${System.getenv("ARTIFACTORY_BASE_URL")}/artifactory/mega-gradle/mega-sdk-android")
}
maven {
url =
uri("${System.getenv("ARTIFACTORY_BASE_URL")}/artifactory/mega-gradle/mobile-analytics")
}
maven {
url =
uri("${System.getenv("ARTIFACTORY_BASE_URL")}/artifactory/mega-gradle/dev-tools")
}
maven {
url =
uri("${System.getenv("ARTIFACTORY_BASE_URL")}/artifactory/mega-gradle/karma")
}
}
configurations.all {
resolutionStrategy.cacheDynamicVersionsFor(5, "minutes")
}
apply(plugin = "com.jfrog.artifactory")
apply(plugin = "maven-publish")
}
tasks.register("clean", Delete::class) {
delete(rootProject.buildDir)
}
// Define versions in a single place
// App
extra["appVersion"] = "13.1.1"
// Sdk and tools
extra["compileSdkVersion"] = 34
extra["minSdkVersion"] = 26
extra["targetSdkVersion"] = 34
extra["buildTools"] = "34.0.0"
// Prebuilt MEGA SDK version
extra["megaSdkVersion"] = "20240501.070524-rel"
//JDK and Java Version
extra["jdk"] = "17"
extra["javaVersion"] = JavaVersion.VERSION_17
/**
* Checks whether to Suppress Warnings
*/
val shouldSuppressWarnings by extra(
fun(): Boolean = isServerBuild() && System.getenv("DO_NOT_SUPPRESS_WARNINGS") != "true"
)
if (!shouldUsePrebuiltSdk() || isServerBuild()) {
apply(from = "${project.rootDir}/tools/prebuilt-sdk.gradle")
}
tasks.register<mega.privacy.megagradle.PreReleaseTask>("preRelease")
tasks.register<mega.privacy.megagradle.ReleaseTask>("release")
tasks.register<mega.privacy.megagradle.PostReleaseTask>("postRelease")
tasks.register<mega.privacy.megagradle.CreateJiraVersionTask>("createJiraVersion")