Skip to content

Commit 6d41c08

Browse files
authored
Merge pull request #20 from pseudoankit/migrate-to-version-catalog
Migrate to version catalog
2 parents d8d560b + b42cf74 commit 6d41c08

File tree

26 files changed

+404
-373
lines changed

26 files changed

+404
-373
lines changed

app/build.gradle.kts

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id(Plugins.AndroidApplication)
2+
id("com.android.application")
33
id(Plugins.Core)
44
id(Plugins.Ksp)
55
id(Plugins.ComposeCore)
@@ -9,10 +9,10 @@ android {
99
namespace = "pseudoankit.droid.tasky"
1010

1111
defaultConfig {
12-
applicationId = BuildConfig.App.ApplicationId
13-
versionCode = BuildConfig.App.VersionCode
14-
versionName = BuildConfig.App.VersionName
15-
testInstrumentationRunner = BuildConfig.App.TestInstrumentationRunner
12+
applicationId = "pseudoankit.droid.tasky"
13+
versionCode = 1
14+
versionName = "1.0"
15+
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
1616

1717
vectorDrawables {
1818
useSupportLibrary = true
@@ -23,8 +23,8 @@ android {
2323
getByName("release") {
2424
isMinifyEnabled = true
2525
proguardFiles(
26-
getDefaultProguardFile(BuildConfig.App.DefaultProguardOptimizeFile),
27-
BuildConfig.App.ProGuardRules
26+
getDefaultProguardFile("proguard-android-optimize.txt"),
27+
"proguard-rules.pro"
2828
)
2929
}
3030
create("benchmark") {
@@ -58,12 +58,10 @@ dependencies {
5858
implementation(project(DeveloperTools))
5959
}
6060

61-
with(Dependencies.Compose) {
62-
implementation(ComposeDestinations)
63-
implementation(OrbitMvi)
64-
}
61+
implementation(libs.compose.destinations)
62+
implementation(libs.compose.orbit.mvi)
6563

66-
implementation(Dependencies.Koin.Compose)
67-
implementation(Dependencies.AndroidX.SplashScreen)
68-
implementation(Dependencies.ProfilerInstaller)
64+
implementation(libs.koin.compose)
65+
implementation(libs.androidx.splashScreen)
66+
implementation(libs.androidx.profilerInstaller)
6967
}

benchmark/build.gradle.kts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ android {
99
namespace = "com.pseudoankit.tasky.benchmark"
1010

1111
defaultConfig {
12-
testInstrumentationRunner = BuildConfig.App.TestInstrumentationRunner
12+
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
1313
}
1414

1515
buildTypes {
@@ -45,15 +45,8 @@ dependencies {
4545
implementation(project(Core))
4646
}
4747

48-
with(Dependencies) {
49-
implementation(Benchmark)
50-
}
51-
52-
with(Dependencies.Test) {
53-
implementation(JUnitExt)
54-
implementation(EspressoCore)
55-
implementation(UiAutomator)
56-
}
48+
implementation(libs.androidx.benchmark)
49+
implementation(libs.bundles.uiTest)
5750
}
5851

5952
androidComponents {

build.gradle.kts

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,23 @@ buildscript {
33
gradlePluginPortal()
44
google()
55
mavenCentral()
6-
maven { url = uri(Dependencies.Gradle.PluginsRepo) }
6+
maven { url = uri("https://plugins.gradle.org/m2/") }
77
}
88
dependencies {
9-
classpath(Dependencies.Gradle.AndroidTools)
10-
classpath(Dependencies.Gradle.KotlinGradle)
11-
classpath(kotlin("serialization", version = Versions.Kotlin))
12-
classpath(Dependencies.Gradle.SonarQube)
13-
classpath(Dependencies.Gradle.Detekt)
9+
classpath(libs.android.gradle.plugin)
10+
classpath(libs.kotlin.gradle.plugin)
11+
classpath(libs.kotlin.serialization.plugin)
12+
classpath(libs.sonarQube.gradle.plugin)
13+
classpath(libs.detekt.gradle.plugin)
14+
classpath(libs.ksp.gradle.plugin)
1415
}
1516
}
1617

17-
plugins {
18-
id(Plugins.Ksp) version Versions.Compose.KspPlugin apply false
19-
id(Plugins.Detekt) version Versions.Detekt
20-
}
21-
2218
allprojects {
2319
repositories {
2420
google()
2521
mavenCentral()
26-
maven { url = uri(Dependencies.Gradle.PluginsRepo) }
22+
maven { url = uri("https://plugins.gradle.org/m2/") }
2723
maven { url = uri("https://jitpack.io") }
2824
}
2925
}

buildSrc/build.gradle.kts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,12 @@ repositories {
99
}
1010

1111
dependencies {
12-
implementation("com.android.tools.build:gradle:7.4.0")
13-
implementation(kotlin("gradle-plugin", "1.8.10"))
12+
implementation(libs.android.gradle.plugin)
13+
implementation(libs.kotlin.gradle.plugin)
14+
15+
// Make version catalog available in precompiled scripts
16+
// https://github.com/gradle/gradle/issues/15383#issuecomment-1567461389
17+
implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location))
1418
}
1519

1620
gradlePlugin {

buildSrc/settings.gradle.kts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
pluginManagement {
2+
repositories {
3+
google()
4+
gradlePluginPortal()
5+
}
6+
}
7+
8+
dependencyResolutionManagement {
9+
repositories {
10+
google()
11+
gradlePluginPortal()
12+
}
13+
14+
versionCatalogs {
15+
create("libs") {
16+
from(files("../gradle/libs.versions.toml"))
17+
}
18+
}
19+
}

buildSrc/src/main/java/BuildConfig.kt

Lines changed: 0 additions & 17 deletions
This file was deleted.

buildSrc/src/main/java/Dependencies.kt

Lines changed: 0 additions & 93 deletions
This file was deleted.

buildSrc/src/main/java/Plugins.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ object Plugins {
3636
const val UnitTestPlugin = "ut-plugin"
3737

3838
const val AndroidLibrary = "com.android.library"
39-
const val AndroidApplication = "com.android.application"
4039
const val Ksp = "com.google.devtools.ksp"
4140
const val Detekt = "io.gitlab.arturbosch.detekt"
4241
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
@file:Suppress("Filename")
2+
3+
import org.gradle.accessors.dm.LibrariesForLibs
4+
import org.gradle.api.Project
5+
import org.gradle.api.artifacts.VersionCatalog
6+
import org.gradle.api.artifacts.VersionCatalogsExtension
7+
import org.gradle.kotlin.dsl.getByType
8+
import org.gradle.kotlin.dsl.the
9+
10+
// Make version catalog available in precompiled scripts
11+
// https://github.com/gradle/gradle/issues/15383#issuecomment-1567461389
12+
val Project.libs: LibrariesForLibs
13+
get() = the<LibrariesForLibs>()
14+
15+
internal val Project.catalog: VersionCatalog
16+
get() =
17+
project.extensions.getByType<VersionCatalogsExtension>().named("libs")
18+
19+
fun VersionCatalog.version(alias: String): String =
20+
this.findVersion(alias).get().requiredVersion
21+
22+
fun VersionCatalog.bundle(alias: String): Any =
23+
this.findBundle(alias).get()
24+
25+
fun VersionCatalog.library(alias: String): Any =
26+
this.findLibrary(alias).get()

buildSrc/src/main/java/Versions.kt

Lines changed: 0 additions & 24 deletions
This file was deleted.

buildSrc/src/main/java/plugin/RoomPlugin.kt

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package plugin
22

3-
import Dependencies
43
import Plugins
4+
import libs
55
import org.gradle.api.Plugin
66
import org.gradle.api.Project
77
import org.gradle.kotlin.dsl.dependencies
@@ -17,11 +17,9 @@ class RoomPlugin : Plugin<Project> {
1717
}
1818

1919
project.dependencies {
20-
with(Dependencies.Room) {
21-
implementation(Ktx)
22-
implementation(Runtime)
23-
ksp(Compiler)
24-
}
20+
implementation(project.libs.room.ktx)
21+
implementation(project.libs.room.runtime)
22+
ksp(project.libs.room.compiler)
2523
}
2624
}
2725
}
Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package plugin
22

3+
import Modules
4+
import libs
35
import org.gradle.api.Plugin
46
import org.gradle.api.Project
5-
import org.gradle.kotlin.dsl.apply
67
import org.gradle.kotlin.dsl.dependencies
7-
import plugin.util.implementation
88
import plugin.util.testImplementation
99
import plugin.util.testImplementationProject
1010

@@ -14,15 +14,8 @@ class UnitTestPlugin : Plugin<Project> {
1414
override fun apply(project: Project) {
1515

1616
project.dependencies {
17-
with(Dependencies.Test) {
18-
testImplementation(mockk)
19-
testImplementation(junit)
20-
testImplementation(kotlinTests)
21-
testImplementation(coroutine)
22-
testImplementation(orbitMvi)
23-
testImplementation(turbine)
24-
testImplementationProject(Modules.Core.TestHelper)
25-
}
17+
testImplementation(project.libs.bundles.test)
18+
testImplementationProject(Modules.Core.TestHelper)
2619
}
2720
}
2821
}

0 commit comments

Comments
 (0)