1
0

Compare commits

...

9 Commits

4 changed files with 56 additions and 8 deletions

View File

@ -32,6 +32,13 @@ object Dependencies {
* [Releases](https://developer.android.com/jetpack/androidx/versions). * [Releases](https://developer.android.com/jetpack/androidx/versions).
*/ */
object AndroidX { object AndroidX {
/**
* [androidx.tech](https://androidx.tech/artifacts/core/core-ktx/)
*
* [Changelog](https://developer.android.com/jetpack/androidx/releases/core)
*/
val core = Dependency("androidx.core:core-ktx", "1.13.1")
/** /**
* [androidx.tech](https://androidx.tech/artifacts/appcompat/appcompat/) * [androidx.tech](https://androidx.tech/artifacts/appcompat/appcompat/)
* *
@ -107,6 +114,13 @@ object Dependencies {
*/ */
val core = Dependency("androidx.test:core", "1.5.0") val core = Dependency("androidx.test:core", "1.5.0")
/**
* [androidx.tech](https://androidx.tech/artifacts/test/core/)
*
* [Documentation](https://developer.android.com/training/testing)
*/
val junit = Dependency("androidx.test.ext:junit-ktx", "1.1.5")
/** /**
* [androidx.tech](https://androidx.tech/artifacts/test.espresso/espresso-core/) * [androidx.tech](https://androidx.tech/artifacts/test.espresso/espresso-core/)
* *
@ -133,6 +147,13 @@ object Dependencies {
*/ */
val rules = Dependency("androidx.test:rules", "1.5.0") val rules = Dependency("androidx.test:rules", "1.5.0")
/**
* [androidx.tech](https://androidx.tech/artifacts/test/rules/)
*
* [Documentation](https://developer.android.com/training/testing/junit-rules)
*/
val compose = Dependency("androidx.compose.ui:ui-test-junit4", "1.6.0")
/** /**
* [androidx.tech](https://androidx.tech/artifacts/test/orchestrator/) * [androidx.tech](https://androidx.tech/artifacts/test/orchestrator/)
* *
@ -181,6 +202,21 @@ object Dependencies {
*/ */
val junit = Dependency("junit:junit", "4.13") val junit = Dependency("junit:junit", "4.13")
/**
* Truth makes your test assertions and failure messages more readable.
* Similar to AssertJ, it natively supports many JDK and Guava types,
* and it is extensible to others.
*
* [Documentation](https://truth.dev/)
*
* [Github](https://github.com/google/truth)
*
* [Apache License 2.0](https://github.com/google/truth/blob/master/LICENSE)
*
* [Changelog](https://github.com/google/truth/releases)
*/
val truth = Dependency("com.google.truth:truth", "1.3.0")
/** /**
* Kaspresso is a framework for Android UI testing. Based on Espresso and UI Automator. * Kaspresso is a framework for Android UI testing. Based on Espresso and UI Automator.
* *

View File

@ -25,10 +25,9 @@ fun DependencyHandler.ksp(dependency: Dependency) {
} }
fun DependencyHandler.defaultLibrary() { fun DependencyHandler.defaultLibrary() {
api(Dependencies.AndroidX.core)
api(Dependencies.AndroidX.appcompat) api(Dependencies.AndroidX.appcompat)
api(Dependencies.AndroidX.materialDesign) api(Dependencies.AndroidX.materialDesign)
testImplementation(Dependencies.junit)
androidTestImplementation(Dependencies.Kaspresso.core)
} }
private object Type { private object Type {
@ -38,4 +37,4 @@ private object Type {
const val API = "api" const val API = "api"
const val KAPT = "kapt" const val KAPT = "kapt"
const val KSP = "ksp" const val KSP = "ksp"
} }

View File

@ -3,8 +3,12 @@ import org.gradle.plugin.use.PluginDependencySpec
val PluginDependenciesSpec.androidApplication: PluginDependencySpec val PluginDependenciesSpec.androidApplication: PluginDependencySpec
get() = id(Plugin.Id.Android.application) get() = id(Plugin.Id.Android.application)
val PluginDependenciesSpec.androidLibrary: PluginDependencySpec
get() = id(Plugin.Id.Android.library)
val PluginDependenciesSpec.kotlinJvm: PluginDependencySpec val PluginDependenciesSpec.kotlinJvm: PluginDependencySpec
get() = id(Plugin.Id.Kotlin.jvm) get() = id(Plugin.Id.Kotlin.jvm)
val PluginDependenciesSpec.kotlinAndroid: PluginDependencySpec
get() = id(Plugin.Id.Kotlin.android)
val PluginDependenciesSpec.kotlinParcelize: PluginDependencySpec val PluginDependenciesSpec.kotlinParcelize: PluginDependencySpec
get() = id(Plugin.Id.Kotlin.parcelize) get() = id(Plugin.Id.Kotlin.parcelize)
val PluginDependenciesSpec.kotlinAnnotationProcessor: PluginDependencySpec val PluginDependenciesSpec.kotlinAnnotationProcessor: PluginDependencySpec
@ -20,6 +24,11 @@ object Plugin {
* [Changelog](https://developer.android.com/studio/releases/gradle-plugin) * [Changelog](https://developer.android.com/studio/releases/gradle-plugin)
*/ */
const val application = "com.android.application" const val application = "com.android.application"
/**
* [Documentation](https://google.github.io/android-gradle-dsl/current/)
* [Changelog](https://developer.android.com/studio/releases/gradle-plugin)
*/
const val library = "com.android.library"
} }
object Kotlin { object Kotlin {
@ -27,6 +36,10 @@ object Plugin {
* Plugin published in https://plugins.gradle.org/ * Plugin published in https://plugins.gradle.org/
*/ */
const val jvm = "org.jetbrains.kotlin.jvm" const val jvm = "org.jetbrains.kotlin.jvm"
/**
* Plugin published in https://plugins.gradle.org/
*/
const val android = "org.jetbrains.kotlin.android"
/** /**
* Plugin published in https://plugins.gradle.org/ * Plugin published in https://plugins.gradle.org/
@ -44,4 +57,4 @@ object Plugin {
const val serialization = "plugin.serialization" const val serialization = "plugin.serialization"
} }
} }
} }

View File

@ -13,7 +13,7 @@ object Version {
* *
* [Changelog](https://gradle.org/releases/) * [Changelog](https://gradle.org/releases/)
*/ */
const val gradle = "8.2.1" const val agp = "8.7.1"
object Kotlin { object Kotlin {
@ -26,9 +26,10 @@ object Version {
* *
* [Changelog](https://kotlinlang.org/releases.html) * [Changelog](https://kotlinlang.org/releases.html)
*/ */
const val language = "1.9.10" const val language = "2.0.21"
val javaSource = JavaVersion.VERSION_1_8 val javaSource = JavaVersion.VERSION_11
const val jvmTarget = "11"
} }
object Android { object Android {
@ -38,5 +39,4 @@ object Version {
const val target = 34 const val target = 34
} }
} }
} }