blob: 7e4b0dea2ffd4d4a76bba10c6ba720f57cdb2497 [file] [log] [blame]
Jeff Gastond72edf22021-08-24 11:53:54 -04001apply plugin: "kotlin"
2apply from: "../kotlin-dsl-dependency.gradle"
Jeff Gaston5e3e7de2022-04-21 14:49:47 -04003apply plugin: "java-gradle-plugin"
Jeff Gastond72edf22021-08-24 11:53:54 -04004
5buildscript {
6 project.ext.supportRootFolder = project.projectDir.getParentFile().getParentFile()
7 apply from: "../repos.gradle"
8 repos.addMavenRepositories(repositories)
9 dependencies {
10 classpath(libs.kotlinGradlePluginz)
11 }
12}
13
Jeff Gastond72edf22021-08-24 11:53:54 -040014dependencies {
Aurimas Liutikas6d38ebc2022-08-04 16:04:12 -070015 implementation(project(":jetpad-integration"))
16
17 // Gradle APIs
18 implementation(gradleApi())
19 compileOnly(findGradleKotlinDsl())
20
21 // Plugins we use and configure
22 implementation(libs.androidGradlePluginz)
23 implementation(libs.androidToolsCommon) // for com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION
24 implementation(libs.kotlinGradlePluginz)
25 implementation(libs.dokkaGradlePluginz)
26
27 // variety of json parsers
28 implementation(libs.gson)
29 implementation(libs.json) // b/241475613
30 implementation(libs.jsonSimple)
31
32 // XML parsers used in MavenUploadHelper.kt
33 implementation(libs.dom4j) {
Alan Viverette6b52a142022-03-21 16:49:27 -040034 // Optional dependency where Ivy fails to parse the POM file.
35 exclude(group:"net.java.dev.msv", module:"xsdlib")
36 }
Aurimas Liutikas6d38ebc2022-08-04 16:04:12 -070037 implementation(libs.xerces)
38
39 implementation(libs.shadow) // used by BundleInsideHelper.kt
40 implementation(libs.apacheAnt) // used in AarManifestTransformerTask.kt for unziping
41 implementation(libs.toml)
42 implementation(libs.apacheCommonIo) // used in CheckApiEquivalenceTask.kt
43 implementation(libs.dexMemberList) // used in ReportLibraryMetricsTask.kt
44
45 implementation(libs.protobufGradlePluginz) // needed to compile inspection plugin
46 implementation(libs.kotlinPoet) // needed to compile material-icon-generator
47 implementation(libs.xmlpull) // needed to compile material-icon-generator
48
Jeff Gastond72edf22021-08-24 11:53:54 -040049 // dependencies that aren't used by buildSrc directly but that we resolve here so that the
50 // root project doesn't need to re-resolve them and their dependencies on every build
Aurimas Liutikas6d38ebc2022-08-04 16:04:12 -070051 runtimeOnly(libs.hiltAndroidGradlePluginz)
52 runtimeOnly(libs.javapoet) // for hiltAndroidGradlePluginz to workaround https://github.com/google/dagger/issues/3068
53 runtimeOnly(libs.kspGradlePluginz)
54 runtimeOnly(libs.wireGradlePluginz)
Jeff Gastond72edf22021-08-24 11:53:54 -040055}
56
Jeff Gastond72edf22021-08-24 11:53:54 -040057project.tasks.withType(Jar) { task ->
58 task.reproducibleFileOrder = true
59 task.preserveFileTimestamps = false
60}
Jeff Gaston5e3e7de2022-04-21 14:49:47 -040061
62validatePlugins {
63 enableStricterValidation = true
64}