Refactor Gradle build away from buildscript dependencies

This commit is contained in:
Harsh Shandilya 2022-05-16 08:08:26 +05:30
parent a7dc3b769c
commit ec44f8795a
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
5 changed files with 71 additions and 33 deletions

View file

@ -8,11 +8,28 @@ rootProject.name = "build-logic"
dependencyResolutionManagement {
repositories {
google()
exclusiveContent {
forRepository(::google)
filter {
includeGroup("androidx.databinding")
includeGroup("com.android")
includeGroup("com.android.tools")
includeGroup("com.android.tools.analytics-library")
includeGroup("com.android.tools.build")
includeGroup("com.android.tools.build.jetifier")
includeGroup("com.android.databinding")
includeGroup("com.android.tools.ddms")
includeGroup("com.android.tools.layoutlib")
includeGroup("com.android.tools.lint")
includeGroup("com.android.tools.utp")
includeGroup("com.google.testing.platform")
}
}
exclusiveContent {
forRepository(::gradlePluginPortal)
filter { includeModule("com.github.ben-manes", "gradle-versions-plugin") }
}
mavenCentral()
gradlePluginPortal() {
content { includeModule("com.github.ben-manes", "gradle-versions-plugin") }
}
}
versionCatalogs { create("libs") { from(files("../gradle/libs.versions.toml")) } }
}

View file

@ -1,21 +1,8 @@
@file:Suppress("DSL_SCOPE_VIOLATION", "UnstableApiUsage")
buildscript {
repositories {
maven {
url = uri("https://storage.googleapis.com/r8-releases/raw")
content { includeModule("com.android.tools", "r8") }
}
}
dependencies {
classpath(libs.r8)
classpath(libs.svg.transcoder)
classpath(libs.javapoet)
}
}
@file:Suppress("DSL_SCOPE_VIOLATION")
plugins {
id("dev.msfjarvis.claw.spotless")
id("dev.msfjarvis.claw.versions")
id("dev.msfjarvis.claw.kotlin-common")
alias(libs.plugins.hilt) apply false
}

View file

@ -10,7 +10,7 @@ plugins {
alias(libs.plugins.compose)
id("dev.msfjarvis.claw.kotlin-common")
id("dev.msfjarvis.claw.android-library")
id("org.pushing-pixels.aurora.tools.svgtranscoder.gradle")
alias(libs.plugins.aurora.svg.transcoder)
}
val transcodeTask =

View file

@ -53,7 +53,6 @@ material_motion-core = { module = "io.github.fornewid:material-motion-compose-co
material_motion-navigation = { module = "io.github.fornewid:material-motion-compose-navigation", version.ref = "material_motion" }
multiplatform-paging = "io.github.kuuuurt:multiplatform-paging:0.4.7"
napier = "io.github.aakira:napier:2.5.0"
r8 = "com.android.tools:r8:3.3.28"
retrofit-kotlinxSerializationConverter = "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.8.0"
retrofit-lib = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
retrofit-mock = { module = "com.squareup.retrofit2:retrofit-mock", version.ref = "retrofit" }
@ -61,9 +60,9 @@ sqldelight-androidDriver = { module = "app.cash.sqldelight:android-driver", vers
sqldelight-extensions-coroutines = { module = "app.cash.sqldelight:coroutines-extensions-jvm", version.ref = "sqldelight" }
sqldelight-jvmDriver = { module = "app.cash.sqldelight:sqlite-driver", version.ref = "sqldelight" }
sqldelight-primitiveAdapters = { module = "app.cash.sqldelight:primitive-adapters", version.ref = "sqldelight" }
svg-transcoder = { module = "org.pushing-pixels:aurora-tools-svg-transcoder-gradle-plugin", version.ref = "aurora" }
[plugins]
compose = "org.jetbrains.compose:1.1.1"
hilt = { id = "com.google.dagger.hilt.android", version.ref = "dagger" }
sqldelight = { id = "app.cash.sqldelight", version.ref = "sqldelight" }
aurora-svg-transcoder = { id = "org.pushing-pixels.aurora.tools.svgtranscoder.gradle", version.ref = "aurora" }

View file

@ -2,29 +2,64 @@
pluginManagement {
repositories {
exclusiveContent {
forRepository(::google)
filter {
includeGroup("androidx.databinding")
includeGroup("com.android")
includeGroup("com.android.tools")
includeGroup("com.android.tools.analytics-library")
includeGroup("com.android.tools.build")
includeGroup("com.android.tools.build.jetifier")
includeGroup("com.android.databinding")
includeGroup("com.android.tools.ddms")
includeGroup("com.android.tools.layoutlib")
includeGroup("com.android.tools.lint")
includeGroup("com.android.tools.utp")
includeGroup("com.google.testing.platform")
}
}
exclusiveContent {
forRepository { maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") }
filter { includeGroup("org.jetbrains.compose") }
}
exclusiveContent {
forRepository(::gradlePluginPortal)
filter { includeModule("com.github.ben-manes", "gradle-versions-plugin") }
}
includeBuild("build-logic")
gradlePluginPortal()
mavenCentral()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") {
name = "JetBrains Compose Dev Repository"
content { includeGroupByRegex("org\\.jetbrains\\.compose.*") }
}
google()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") {
name = "JetBrains Compose Dev Repository"
content {
exclusiveContent {
forRepository(::google)
filter {
includeGroup("com.android")
includeGroup("com.android.tools")
includeGroup("com.android.tools.analytics-library")
includeGroup("com.android.tools.build")
includeGroup("com.android.tools.ddms")
includeGroup("com.android.tools.external.com-intellij")
includeGroup("com.android.tools.external.org-jetbrains")
includeGroup("com.android.tools.layoutlib")
includeGroup("com.android.tools.lint")
includeGroup("com.google.android.gms")
includeModule("com.google.android.material", "material")
includeGroupByRegex("androidx.*")
}
}
exclusiveContent {
forRepository { maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") }
filter {
includeGroupByRegex("org\\.jetbrains\\.compose.*")
includeGroup("org.jetbrains.skiko")
}
}
google()
mavenCentral()
}
}