blob: 7e4b0dea2ffd4d4a76bba10c6ba720f57cdb2497 [file] [log] [blame]
apply plugin: "kotlin"
apply from: "../kotlin-dsl-dependency.gradle"
apply plugin: "java-gradle-plugin"
buildscript {
project.ext.supportRootFolder = project.projectDir.getParentFile().getParentFile()
apply from: "../repos.gradle"
repos.addMavenRepositories(repositories)
dependencies {
classpath(libs.kotlinGradlePluginz)
}
}
dependencies {
implementation(project(":jetpad-integration"))
// Gradle APIs
implementation(gradleApi())
compileOnly(findGradleKotlinDsl())
// Plugins we use and configure
implementation(libs.androidGradlePluginz)
implementation(libs.androidToolsCommon) // for com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION
implementation(libs.kotlinGradlePluginz)
implementation(libs.dokkaGradlePluginz)
// variety of json parsers
implementation(libs.gson)
implementation(libs.json) // b/241475613
implementation(libs.jsonSimple)
// XML parsers used in MavenUploadHelper.kt
implementation(libs.dom4j) {
// Optional dependency where Ivy fails to parse the POM file.
exclude(group:"net.java.dev.msv", module:"xsdlib")
}
implementation(libs.xerces)
implementation(libs.shadow) // used by BundleInsideHelper.kt
implementation(libs.apacheAnt) // used in AarManifestTransformerTask.kt for unziping
implementation(libs.toml)
implementation(libs.apacheCommonIo) // used in CheckApiEquivalenceTask.kt
implementation(libs.dexMemberList) // used in ReportLibraryMetricsTask.kt
implementation(libs.protobufGradlePluginz) // needed to compile inspection plugin
implementation(libs.kotlinPoet) // needed to compile material-icon-generator
implementation(libs.xmlpull) // needed to compile material-icon-generator
// dependencies that aren't used by buildSrc directly but that we resolve here so that the
// root project doesn't need to re-resolve them and their dependencies on every build
runtimeOnly(libs.hiltAndroidGradlePluginz)
runtimeOnly(libs.javapoet) // for hiltAndroidGradlePluginz to workaround https://github.com/google/dagger/issues/3068
runtimeOnly(libs.kspGradlePluginz)
runtimeOnly(libs.wireGradlePluginz)
}
project.tasks.withType(Jar) { task ->
task.reproducibleFileOrder = true
task.preserveFileTimestamps = false
}
validatePlugins {
enableStricterValidation = true
}