-
Notifications
You must be signed in to change notification settings - Fork 639
/
build.gradle
127 lines (108 loc) · 3.59 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
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.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 '1.9.24-1.0.20' apply false
id 'dev.drewhamilton.poko' version '0.15.2' apply false
id 'org.jetbrains.kotlin.jvm' version '1.9.24' apply false
id 'com.emergetools.android' version '4.0.0' 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",
"stripe-connect-example",
"screenshot-testing",
"3ds2playground",
]
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.")
}
}
}
}
}