Skip to content

Commit

Permalink
Migrate the version declarations to version catalogs.
Browse files Browse the repository at this point in the history
  • Loading branch information
PaulWoitaschek committed Aug 1, 2021
1 parent 6feb093 commit abfc687
Show file tree
Hide file tree
Showing 16 changed files with 246 additions and 300 deletions.
86 changes: 42 additions & 44 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import deps.Deps
import deps.Versions
import java.util.Properties

plugins {
Expand All @@ -15,8 +13,8 @@ android {

defaultConfig {
applicationId = "de.ph1b.audiobook"
versionCode = Versions.versionCode
versionName = Versions.versionName
versionCode = 3060342
versionName = "5.0.2"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

Expand Down Expand Up @@ -95,61 +93,61 @@ dependencies {
implementation(project(":loudness"))
implementation(project(":settings"))

implementation(Deps.AndroidX.appCompat)
implementation(Deps.AndroidX.recyclerView)
implementation(Deps.material)
implementation(Deps.AndroidX.transitions)
implementation(Deps.AndroidX.constraintLayout)
implementation(Deps.AndroidX.mediaCompat)
implementation(libs.appCompat)
implementation(libs.recyclerView)
implementation(libs.material)
implementation(libs.transitions)
implementation(libs.constraintLayout)
implementation(libs.media)

implementation(Deps.picasso)
implementation(Deps.Kotlin.Serialization.core)
implementation(libs.picasso)
implementation(libs.serialization.json)

implementation(Deps.MaterialDialog.core)
implementation(Deps.MaterialDialog.input)
implementation(Deps.materialCab)
implementation(libs.materialDialog.core)
implementation(libs.materialDialog.input)
implementation(libs.materialCab)

implementation(Deps.floatingActionButton)
implementation(libs.floatingActionButton)

implementation(Deps.Dagger.core)
kapt(Deps.Dagger.compiler)
implementation(libs.dagger.core)
kapt(libs.dagger.compiler)

implementation(Deps.AndroidX.ktx)
implementation(libs.androidxCore)

testImplementation(Deps.junit)
testImplementation(Deps.truth)
testImplementation(Deps.mockk)
testImplementation(libs.junit)
testImplementation(libs.truth)
testImplementation(libs.mockk)

implementation(Deps.Kotlin.coroutines)
implementation(Deps.Kotlin.coroutinesAndroid)
implementation(libs.coroutines.core)
implementation(libs.coroutines.android)

implementation(Deps.timber)
implementation(libs.timber)

implementation(Deps.ExoPlayer.core)
implementation(Deps.ExoPlayer.flac) { isTransitive = false }
implementation(libs.exoPlayer.core)
implementation(libs.exoPlayer.flac) { isTransitive = false }

implementation(Deps.Conductor.core)
implementation(Deps.Conductor.transition)
implementation(libs.conductor.core)
implementation(libs.conductor.transition)

implementation(Deps.lifecycle)
implementation(libs.lifecycle)

implementation(Deps.groupie)
implementation(libs.groupie)

implementation(Deps.Prefs.android)
testImplementation(Deps.Prefs.inMemory)
implementation(libs.prefs.android)
testImplementation(libs.prefs.inMemory)

implementation(Deps.tapTarget)
testImplementation(Deps.AndroidX.Test.runner)
testImplementation(Deps.AndroidX.Test.junit)
testImplementation(Deps.AndroidX.Test.core)
testImplementation(Deps.robolectric)
testImplementation(Deps.Kotlin.coroutinesTest)
implementation(libs.tapTarget)
testImplementation(libs.androidX.test.runner)
testImplementation(libs.androidX.test.junit)
testImplementation(libs.androidX.test.core)
testImplementation(libs.robolectric)
testImplementation(libs.coroutines.test)

androidTestImplementation(Deps.truth)
androidTestImplementation(Deps.junit)
androidTestImplementation(Deps.AndroidX.Test.runner)
androidTestImplementation(Deps.AndroidX.Test.core)
androidTestImplementation(Deps.AndroidX.Test.junit)
androidTestImplementation(libs.truth)
androidTestImplementation(libs.junit)
androidTestImplementation(libs.androidX.test.runner)
androidTestImplementation(libs.androidX.test.core)
androidTestImplementation(libs.androidX.test.junit)
}

tasks.create("fdroid").dependsOn(":app:assembleOpensourceRelease")
25 changes: 13 additions & 12 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import deps.Versions
@file:Suppress("UnstableApiUsage")

import deps.configureBaseRepos

@Suppress("RemoveRedundantQualifierName")
Expand All @@ -7,9 +8,11 @@ buildscript {
deps.configureBaseRepos(repositories)

dependencies {
classpath(deps.Deps.androidGradlePlugin)
classpath(deps.Deps.Kotlin.gradlePlugin)
classpath(deps.Deps.Kotlin.Serialization.gradlePlugin)
val libs = project.extensions.getByType<VersionCatalogsExtension>()
.named("libs") as org.gradle.accessors.dm.LibrariesForLibs
classpath(libs.androidGradlePlugin)
classpath(libs.kotlin.gradlePlugin)
classpath(libs.serialization.gradlePlugin)
}
}

Expand All @@ -29,8 +32,8 @@ allprojects {
with(extension) {
defaultConfig {
multiDexEnabled = true
minSdkVersion(24)
targetSdkVersion(30)
minSdk = 24
targetSdk = 30
}
compileOptions {
isCoreLibraryDesugaringEnabled = true
Expand All @@ -39,6 +42,10 @@ allprojects {
}
compileSdkVersion(30)

composeOptions {
kotlinCompilerExtensionVersion = libs.versions.compose.get()
}

dependencies {
add("coreLibraryDesugaring", "com.android.tools:desugar_jdk_libs:1.1.1")
}
Expand Down Expand Up @@ -85,12 +92,6 @@ tasks {
finalizedBy(":core:lintDebug")
}

register("appVersion") {
doLast {
print("#BEGIN_VERSION#${Versions.versionName}#END_VERSION#")
}
}

register<TestReport>("allUnitTests") {
val tests = subprojects.mapNotNull { subProject ->
val tasks = subProject.tasks
Expand Down
117 changes: 0 additions & 117 deletions buildSrc/src/main/kotlin/deps/Deps.kt
Original file line number Diff line number Diff line change
@@ -1,125 +1,8 @@
package deps

import org.gradle.api.artifacts.dsl.DependencyHandler
import org.gradle.api.artifacts.dsl.RepositoryHandler
import org.gradle.kotlin.dsl.maven

object Versions {
const val versionCode = 3060342
const val versionName = "5.0.2"
const val compose = "1.0.0"
}

object Deps {

object AndroidX {
const val appCompat = "androidx.appcompat:appcompat:1.3.0-rc01"
const val constraintLayout = "androidx.constraintlayout:constraintlayout:2.0.4"
const val recyclerView = "androidx.recyclerview:recyclerview:1.1.0"
const val transitions = "androidx.transition:transition:1.4.0"
const val palette = "androidx.palette:palette:1.0.0"
const val mediaCompat = "androidx.media:media:1.2.1"
const val ktx = "androidx.core:core-ktx:1.3.2"

object Room {
private const val version = "2.3.0"
const val runtime = "androidx.room:room-ktx:$version"
const val compiler = "androidx.room:room-compiler:$version"
const val testing = "androidx.room:room-testing:$version"
}

object Test {
const val runner = "androidx.test:runner:1.3.0"
const val junit = "androidx.test.ext:junit:1.1.2"
const val core = "androidx.test:core:1.3.0"
}
}

const val androidGradlePlugin = "com.android.tools.build:gradle:7.0.0"
const val material = "com.google.android.material:material:1.3.0"
const val floatingActionButton = "com.getbase:floatingactionbutton:1.10.1"
const val materialCab = "com.afollestad:material-cab:2.0.1"
const val picasso = "com.squareup.picasso:picasso:2.8"
const val tapTarget = "com.getkeepsafe.taptargetview:taptargetview:1.13.0"
const val lifecycle = "androidx.lifecycle:lifecycle-common-java8:2.3.0"
const val groupie = "com.xwray:groupie:2.8.1"
const val ffmpeg = "com.arthenica:mobile-ffmpeg-audio:4.4"
const val coil = "io.coil-kt:coil-compose:1.3.0"

object Conductor {
private const val version = "3.1.1"
const val core = "com.bluelinelabs:conductor:$version"
const val transition = "com.bluelinelabs:conductor-androidx-transition:$version"
}

object Prefs {
private const val version = "1.0.1"
const val core = "com.github.PaulWoitaschek.FlowPref:core:$version"
const val android = "com.github.PaulWoitaschek.FlowPref:android:$version"
const val inMemory = "com.github.PaulWoitaschek.FlowPref:in-memory:$version"
}

object MaterialDialog {
private const val version = "3.3.0"
const val core = "com.afollestad.material-dialogs:core:$version"
const val input = "com.afollestad.material-dialogs:input:$version"
}

object Dagger {
private const val version = "2.38"
const val core = "com.google.dagger:dagger:$version"
const val compiler = "com.google.dagger:dagger-compiler:$version"
}

object ExoPlayer {
const val core = "com.google.android.exoplayer:exoplayer-core:2.14.0"
private const val extensionVersion = "2.14.0"
const val flac = "com.github.PaulWoitaschek.ExoPlayer-Extensions:extension-flac:$extensionVersion"
}

const val timber = "com.jakewharton.timber:timber:4.7.1"

object Kotlin {
private const val versionKotlin = "1.5.10"
private const val versionCoroutines = "1.5.1"

const val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core:$versionCoroutines"
const val coroutinesAndroid = "org.jetbrains.kotlinx:kotlinx-coroutines-android:$versionCoroutines"
const val coroutinesTest = "org.jetbrains.kotlinx:kotlinx-coroutines-test:$versionCoroutines"
const val gradlePlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$versionKotlin"

object Serialization {
const val core = "org.jetbrains.kotlinx:kotlinx-serialization-json:1.0.1"
const val gradlePlugin = "org.jetbrains.kotlin:kotlin-serialization:$versionKotlin"
}
}

const val junit = "junit:junit:4.13.2"
const val mockk = "io.mockk:mockk:1.11.0"
const val truth = "com.google.truth:truth:1.1.2"
const val robolectric = "org.robolectric:robolectric:4.5.1"
}

fun DependencyHandler.composeImplementation() {

val accompanistVersion = "0.15.0"
listOf(
"androidx.compose.ui:ui:${Versions.compose}",
"androidx.compose.ui:ui-tooling:${Versions.compose}",
"androidx.compose.foundation:foundation:${Versions.compose}",
"androidx.compose.material:material:${Versions.compose}",
"androidx.compose.material:material-icons-core:${Versions.compose}",
"androidx.compose.material:material-icons-extended:${Versions.compose}",
"androidx.compose.material:material-icons-extended:${Versions.compose}",
"androidx.lifecycle:lifecycle-viewmodel-savedstate:2.3.1",
"androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha07",
"androidx.core:core-ktx:1.6.0",
"com.google.accompanist:accompanist-insets:$accompanistVersion"
).forEach {
add("implementation", it)
}
}

@Suppress("UnstableApiUsage")
fun configureBaseRepos(repositoryHandler: RepositoryHandler) {
repositoryHandler.apply {
Expand Down
20 changes: 9 additions & 11 deletions common/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import deps.Deps

plugins {
id("com.android.library")
id("kotlin-android")
Expand All @@ -14,14 +12,14 @@ anvil {
dependencies {
implementation(project(":ffmpeg"))
implementation(project(":strings"))
implementation(Deps.AndroidX.appCompat)
implementation(Deps.Kotlin.coroutines)
implementation(Deps.Dagger.core)
implementation(Deps.timber)
implementation(Deps.AndroidX.appCompat)
implementation(Deps.material)
api(Deps.Conductor.core)
implementation(libs.appCompat)
implementation(libs.coroutines.core)
implementation(libs.dagger.core)
implementation(libs.timber)
implementation(libs.appCompat)
implementation(libs.material)
api(libs.conductor.core)

testImplementation(Deps.truth)
testImplementation(Deps.junit)
testImplementation(libs.truth)
testImplementation(libs.junit)
}
12 changes: 5 additions & 7 deletions covercolorextractor/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
import deps.Deps

plugins {
id("com.android.library")
id("kotlin-android")
}

dependencies {
implementation(Deps.picasso)
implementation(Deps.AndroidX.palette)
implementation(Deps.Kotlin.coroutines)
implementation(Deps.Kotlin.coroutinesAndroid)
implementation(Deps.timber)
implementation(libs.picasso)
implementation(libs.palette)
implementation(libs.coroutines.core)
implementation(libs.coroutines.android)
implementation(libs.timber)
}
Loading

0 comments on commit abfc687

Please sign in to comment.