-
Notifications
You must be signed in to change notification settings - Fork 648
/
build.gradle
131 lines (112 loc) · 3.75 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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
import java.time.Duration
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
apply from: 'dependencies.gradle'
apply from: './build-configuration/build-environment.gradle'
repositories {
mavenCentral()
google()
gradlePluginPortal()
}
dependencies {
classpath buildLibs.androidGradlePlugin
classpath buildLibs.binaryCompatibilityValidator
classpath buildLibs.composeGradlePlugin
classpath buildLibs.detektGradlePlugin
classpath buildLibs.dokkaPlugin
classpath buildLibs.firebaseAppDistribution
classpath buildLibs.googleServices
classpath buildLibs.kotlinGradlePlugin
classpath buildLibs.kotlinSerializationPlugin
classpath buildLibs.paparazzi
classpath buildLibs.shot
}
}
plugins {
id 'io.github.gradle-nexus.publish-plugin' version '1.3.0'
id 'io.codearte.nexus-staging' version '0.30.0'
id 'com.google.devtools.ksp' version '2.0.21-1.0.26' apply false
id 'dev.drewhamilton.poko' version '0.17.2' apply false
id 'org.jetbrains.kotlin.jvm' version '2.0.21' apply false
id 'com.emergetools.android' version '4.0.0' apply false
id 'com.google.dagger.hilt.android' version '2.51.1' apply false
}
apply plugin: "io.gitlab.arturbosch.detekt"
allprojects {
group = GROUP
repositories {
mavenCentral()
google()
gradlePluginPortal()
}
}
ext {
compileSdkVersion = 34
group_name = GROUP
version_name = VERSION_NAME
}
if (JavaVersion.current().isJava8Compatible()) {
allprojects {
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
}
}
}
nexusPublishing {
packageGroup = GROUP
repositories {
sonatype {
username = project.findProperty('NEXUS_USERNAME') ?: ""
password = project.findProperty('NEXUS_PASSWORD') ?: ""
}
}
clientTimeout = Duration.ofMinutes(5)
connectTimeout = Duration.ofMinutes(1)
transitionCheckOptions {
maxRetries.set(40)
delayBetween.set(Duration.ofSeconds(10))
}
}
apply plugin: 'binary-compatibility-validator'
apply plugin: 'org.jetbrains.dokka'
tasks.dokkaHtmlMultiModule.configure {
outputDirectory = new File("${project.rootDir}/docs")
}
apiValidation {
ignoredPackages += ["com.stripe.android.databinding"]
ignoredProjects += [
"example",
"financial-connections-example",
"identity-example",
"network-testing",
"payments-core-testing",
"paymentsheet-example",
"stripecardscan-example",
"connect-example",
"screenshot-testing",
"3ds2playground",
"dokka-stripe",
"stripe-test-e2e",
]
nonPublicMarkers.add("androidx.annotation.RestrictTo")
nonPublicMarkers.add("dagger.internal.DaggerGenerated")
}
subprojects {
plugins.withId("app.cash.paparazzi") {
// Defer until afterEvaluate so that testImplementation is created by Android plugin.
afterEvaluate {
dependencies.constraints {
add("testImplementation", "com.google.guava:guava") {
attributes {
attribute(
TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE,
objects.named(TargetJvmEnvironment, TargetJvmEnvironment.STANDARD_JVM)
)
}
because("LayoutLib and sdk-common depend on Guava's -jre published variant." +
"See https://github.com/cashapp/paparazzi/issues/906.")
}
}
}
}
}